ENUM BATADV_MCAST_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 for 224.0.0.0/24 or ff02::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