STRUCT BATADV_OGM_PACKET(9)
π struct batadv_ogm_packet(9) β the Kernel API Manual page, bestie edition π
okay so this is the struct batadv_ogm_packet page from the Kernel API Manual, and it's literally the ogm β that's the routing protocol packet, no cap. it's a struct definition, so we're gonna walk through every single member together, one by one, holding hands π«Ά
β¨ NAME β¨
struct batadv_ogm_packet β the ogm (routing protocol) packet. that's it, that's the whole vibe. π
πΈ SYNOPSIS πΈ
here's the whole struct, exactly as it lives, don't touch a single byte bestie:
struct batadv_ogm_packet {
__u8 packet_type;
__u8 version;
__u8 ttl;
__u8 flags;
__be32 seqno;
__u8 orig[ETH_ALEN];
__u8 prev_sender[ETH_ALEN];
__u8 reserved;
__u8 tq;
__be16 tvlv_len;
};
she's giving "field order matters" energy and honestly? iconic. π
π Members π
okay so this is the part where we meet the cast. main character energy for every single one:
packet_typeβ batman-adv packet type, and it's part of the general header. so she's not just a member, she's a team player. π¦versionβ batman-adv protocol version, also part of the general header. yes, another header girlie. β¨ttlβ time to live for this packet, and yup, part of the general header too. the header trio ate, fr fr. π₯flagsβ contains routing relevant flags β seeenum batadv_iv_flags. so if you're confused, that's where you go. iykyk. π§seqnoβ sequence identification. her whole job is keeping track of the sequence. slay. πorigβ address of the source node. like, where it came from, literally. πprev_senderβ address of the previous sender. the previous one though, not the source, do not confuse them please πreservedβ a reserved byte, and it's there for alignment. she's not doing much but she's doing it fabulously. πtqβ transmission quality. the vibe check of the packet, lowkey. πtvlv_lenβ length of tvlv data following the ogm header. so there's more stuff after the header and this is the length of it. noted bestie. π
π SEE ALSO π
okay there are a LOT of friends in this family and we are not leaving a single one out. first up, the file itself lives in the kernel file ./include/uapi/linux/batadv_packet.h β
and then, the whole squad:
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_ogm2_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)
ngl that's a whole group chat and every single one of them is invited to the function. π
and that's the page bestie!! this one came out of the kernel file ./include/uapi/linux, dated October 2026, and it's filed under struct batadv_ogm_packet(9) in the Kernel API Manual. go be iconic with your packets, ily, bye!! π
β¨π¦π
π¦ 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