STRUCT BATADV_OGM2_PACKET(9)
π struct batadv_ogm2_packet(9) β the ogm2 packet, bestie β¨
okay so this is a page from the Kernel API Manual, and it's literally all about struct batadv_ogm2_packet β aka the ogm2 (routing protocol) packet π¦. yes that's the whole NAME section, she's short and iconic and we respect that.
β¨ SYNOPSIS β¨
here's the whole struct, copy it exactly, no edits, she's perfect:
struct batadv_ogm2_packet {
__u8 packet_type;
__u8 version;
__u8 ttl;
__u8 flags;
__be32 seqno;
__u8 orig[ETH_ALEN];
__be16 tvlv_len;
__be32 throughput;
};
π Members π
okay bestie, field-by-field tour, let's go π
packet_typeβ the batman-adv packet type. she's part of the general header, main character energy πversionβ the batman-adv protocol version. also part of the general header, matching set vibes β¨ttlβ time to live for this packet. yep, general header again, she belongs there π«Άflagsβ reserved for routing relevant flags. and rn? currently always0. no cap, that's just how it is πseqnoβ the sequence number. simple, elegant, slay πΈorigβ the originator mac address. that'sETH_ALENbytes of "who dis" π¦tvlv_lenβ length of the appended tvlv buffer, and ngl it's in bytes, don't forget πthroughputβ the currently flooded path throughput. she's giving bandwidth gossip, iykyk π₯
π¦ SEE ALSO π¦
no seriously, this struct runs with a whole squad. the kernel file is ./include/uapi/linux/batadv_packet.h and here's everybody she's linked with (iykyk, kernel docs love a cross-reference):
batadv_tp_is_error(9)enum batadv_packettype(9)enum batadv_subtype(9)enum batadv_iv_flags(9)enum batadv_icmp_packettype(9)enum batadv_mcast_flags(9)enum batadv_tt_data_flags(9)enum batadv_vlan_flags(9)enum batadv_bla_claimframe(9)enum batadv_tvlv_type(9)struct batadv_bla_claim_dst(9)struct batadv_ogm_packet(9)struct batadv_elp_packet(9)struct batadv_icmp_header(9)struct batadv_icmp_packet(9)struct batadv_icmp_tp_packet(9)enum batadv_icmp_tp_subtype(9)struct batadv_icmp_packet_rr(9)struct batadv_unicast_packet(9)struct batadv_unicast_4addr_packet(9)struct batadv_frag_packet(9)struct batadv_bcast_packet(9)struct batadv_mcast_packet(9)struct batadv_coded_packet(9)struct batadv_unicast_tvlv_packet(9)struct batadv_tvlv_hdr(9)struct batadv_tvlv_gateway_data(9)struct batadv_tvlv_tt_vlan_data(9)struct batadv_tvlv_tt_data(9)struct batadv_tvlv_tt_change(9)struct batadv_tvlv_roam_adv(9)struct batadv_tvlv_mcast_data(9)struct batadv_tvlv_mcast_tracker(9)
and that's the whole page, bestie π§π this one lives at ./include/uapi/linux and the version/date tag says October 2026 β so like, slight time traveler moment β go read the other packet structs, they're all in the group chat too πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms