batadv_mcast...tr_flags_get(9)
πΈ batadv_mcast...tr_flags_get(9) πΈ
okay so bestie, welcome to the Kernel API Manual β yes that's the manual name, we're fancy now π
β and today's main character is batadv_mcast_mla_rtr_flags_get. It's a little function that just wants to know: are there multicast routers around or not? Let's get into it π«Ά
β¨ NAME β¨
batadv_mcast_mla_rtr_flags_get β get multicast router flags π
β¨ SYNOPSIS β¨
u8 batadv_mcast_mla_rtr_flags_get (struct batadv_priv *bat_priv , struct
net_device *bridge );
like, it takes two things and hands you back a u8, no big deal β¨
β¨ ARGUMENTS β¨
bat_privβ the bat priv, aka the whole vibe bundle with all the mesh interface information in it πbridgeβ the bridge interface sitting on top of themesh_ifaceif there even is one, otherwise you just passNULLand it's fine, no cap π
β¨ DESCRIPTION β¨
So what does it actually do? It checks whether IPv4 and IPv6 multicast routers are present on this node, or chilling behind its bridge π
That's the whole thing. Checks presence, reports back. Periodt π
β¨ RETURN β¨
here's what the flags mean, bestie, memorize them iykyk π₯
BATADV_NO_FLAGSβ both an IPv4 and IPv6 multicast router is present π (iconic, honestly)BATADV_MCAST_WANT_NO_RTR4β no IPv4 multicast router is present πBATADV_MCAST_WANT_NO_RTR6β no IPv6 multicast router is present π- the former two OR'd β no multicast router is present at all π«
ngl the last one is just the first two flags smooshed together with an OR, so like... zero routers, zero problems? or all the problems. vibe check it yourself π§
β¨ SEE ALSO β¨
Kernel file ./net/batman-adv/multicast.c β that's where the magic lives β¨ and here's the entire squad, the full roster, not a single one skipped because we don't do that here π
batadv_mcast_start_timer(9)batadv_mcast_get_bridge(9)batadv_mcast_mla_rtr_flags_meshif_get_ipv4(9)batadv_mcast_mla_rtr_flags_meshif_get_ipv6(9)batadv_mcast_mla_rtr_flags_meshif_get(9)batadv_mcast_mla_rtr_flags_bridge_get(9)batadv_mcast_mla_forw_flags_get(9)batadv_mcast_mla_flags_get(9)batadv_mcast_mla_is_duplicate(9)batadv_mcast_mla_meshif_get_ipv4(9)batadv_mcast_mla_meshif_get_ipv6(9)batadv_mcast_mla_meshif_get(9)batadv_mcast_mla_br_addr_cpy(9)batadv_mcast_mla_bridge_get(9)batadv_mcast_mla_list_free(9)batadv_mcast_mla_tt_retract(9)batadv_mcast_mla_tt_add(9)batadv_mcast_querier_log(9)batadv_mcast_bridge_log(9)batadv_mcast_flags_log(9)batadv_mcast_mla_flags_update(9)__batadv_mcast_mla_update(9)batadv_mcast_mla_update(9)batadv_mcast_is_report_ipv4(9)batadv_mcast_forw_mode_check_ipv4(9)batadv_mcast_is_report_ipv6(9)batadv_mcast_forw_mode_check_ipv6(9)batadv_mcast_forw_mode_check(9)batadv_mcast_forw_want_all_ip_count(9)batadv_mcast_forw_rtr_count(9)batadv_mcast_forw_mode_by_count(9)batadv_mcast_forw_mode(9)batadv_mcast_forw_send_orig(9)batadv_mcast_forw_tt(9)batadv_mcast_forw_want_all_ipv4(9)batadv_mcast_forw_want_all_ipv6(9)batadv_mcast_forw_want_all(9)batadv_mcast_forw_want_all_rtr4(9)batadv_mcast_forw_want_all_rtr6(9)batadv_mcast_forw_want_rtr(9)batadv_mcast_forw_send(9)batadv_mcast_want_unsnoop_update(9)batadv_mcast_want_ipv4_update(9)batadv_mcast_want_ipv6_update(9)batadv_mcast_want_rtr4_update(9)batadv_mcast_want_rtr6_update(9)batadv_mcast_have_mc_ptype_update(9)batadv_mcast_tvlv_flags_get(9)batadv_mcast_tvlv_ogm_handler(9)batadv_mcast_init(9)batadv_mcast_mesh_info_put(9)batadv_mcast_flags_dump_entry(9)batadv_mcast_flags_dump_bucket(9)__batadv_mcast_flags_dump(9)batadv_mcast_netlink_get_primary(9)batadv_mcast_flags_dump(9)batadv_mcast_free(9)batadv_mcast_purge_orig(9)
and that's the whole page bestie, go forth and check those router flags π¦
this little gem came from ./net/batman-adv, dated October 2026 β mwah, stan, 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