ENUM BATADV_MCAST_FLAGS(9)
β¨ NAME β¨
enum batadv_mcast_flags β flags for multicast capabilities and settings. Yes bestie, it's a whole enum of multicast vibes from the Kernel API Manual, and we're gonna get into it π¦π
πΈ SYNOPSIS πΈ
enum batadv_mcast_flags {
BATADV_MCAST_WANT_ALL_UNSNOOPABLES ,
BATADV_MCAST_WANT_ALL_IPV4 ,
BATADV_MCAST_WANT_ALL_IPV6 ,
BATADV_MCAST_WANT_NO_RTR4 ,
BATADV_MCAST_WANT_NO_RTR6 ,
BATADV_MCAST_HAVE_MC_PTYPE_CAPA
};
π Constants π
Okay so these are the constants, and each one is literally a little flag telling the kernel what multicast tea we're serving π
BATADV_MCAST_WANT_ALL_UNSNOOPABLESβ we want all packets destined for224.0.0.0/24orff02::1. That's the whole "don't snoop, just send it" energy πBATADV_MCAST_WANT_ALL_IPV4β we want all IPv4 multicast packets (both link-local and routable ones). Gimme all the IPv4 multicast, no filter β¨BATADV_MCAST_WANT_ALL_IPV6β we want all IPv6 multicast packets (both link-local and routable ones). Same deal but for the v6 girlies π¦BATADV_MCAST_WANT_NO_RTR4β we have no IPv4 multicast router and therefore only need routable IPv4 multicast packets we signed up for explicitly. No router? Then only the explicitly requested routable stuff, periodt πBATADV_MCAST_WANT_NO_RTR6β we have no IPv6 multicast router and therefore only need routable IPv6 multicast packets we signed up for explicitly. Same vibe for IPv6, no cap πΈBATADV_MCAST_HAVE_MC_PTYPE_CAPAβ we can parse, receive and forward batman-adv multicast packets with a multicast tracker TVLV. And all our hard interfaces have an MTU of at least 1280 bytes. That's the capability flex, iykyk π₯
π¦ SEE ALSO π¦
Like, go read these too, bestie β they're all in the kernel file ./include/uapi/linux/batadv_packet.h and they're all iconic in their own way:
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_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)
That's the whole page, bestie π β it lives in ./include/uapi/linux, dated October 2026, and it's from the Kernel API Manual. Go off, multicast icon πβ¨
π¦ 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