ENUM BATADV_IV_FLAGS(9)
π enum batadv_iv_flags(9) β the Kernel API Manual, but make it make sense
okay so bestie, welcome to the Kernel API Manual entry for enum batadv_iv_flags β the tiny little flag squad that lives inside B.A.T.M.A.N. IV OGM packets. yes, that's a real thing, and yes, it's iconic. let's get into it β¨
πΈ NAME πΈ
enum batadv_iv_flags β the flags used in B.A.T.M.A.N. IV OGM packets π¦
like, that's literally the whole job description and she ate.
β¨ SYNOPSIS β¨
here's the whole enum, exactly as she is, no edits, no notes:
enum batadv_iv_flags {
BATADV_NOT_BEST_NEXT_HOP ,
BATADV_PRIMARIES_FIRST_HOP ,
BATADV_DIRECTLINK
};
three constants, all up in there, and one of them is honestly just vibing (more on that in a sec π).
π Constants π
okay so these are the actual members, and ngl they're each a whole personality:
BATADV_NOT_BEST_NEXT_HOPβ this flag gets set when the ogm packet is forwarded and it was previously received from someone who is not the best neighbor. so like, it's the "we didn't get this from our fave" flag π. main character energy denied, respectfully.BATADV_PRIMARIES_FIRST_HOPβflag unused.that's it. that's the lore. she's reserved, she's sitting this one out, she's lowkey just holding a seat π«Ά no cap, that's literally all the manual says.BATADV_DIRECTLINKβ this one's for the first hop π₯ β or for when the packet is rebroadcasted from a one hop neighbor, but only on the interface where it was originally received. iykyk, the interface matters fr fr, don't come at it from anywhere else.
π SEE ALSO π
okay bestie, this is the part where the manpage just lists her entire friend group, and honestly? the roster is long. every single one, in order, no skips:
Kernel file ./include/uapi/linux/batadv_packet.h
batadv_tp_is_error(9), enum batadv_packettype(9), enum batadv_subtype(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_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)
like, she knows everyone. group chat is poppin' π
reminder bestie: these are kernel internals, so treat the details like they're sacred β no inventing flags, no renaming stuff, we keep it exactly as documented π
and that's the page!! π this one came from the source path ./include/uapi/linux, dated October 2026 β so go forth, cite it responsibly, and slay the packet headers, periodt ππ
bye bestie, ily, read your kernel headers π
π¦ 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