batadv_mcas..._rtr4_update(9)
π batadv_mcast_want_rtr4_update(9) β the Kernel API Manual page your group chat needed
okay so this is a page straight out of the Kernel API Manual, and it's all about one lil function: batadv_mcast_want_rtr4_update. no cap, the name is a mouthful, but the job is honestly so simple bestie. it's the "hey, did your rtr4 vibes change? let me fix the counter" function. let's get into it π¦
β¨ NAME β¨
batadv_mcast_want_rtr4_update β update want-all-rtr4 counter and list π«
like, that's the whole thing. it updates a counter and a list. the want-all-rtr4 ones. slay.
πΈ SYNOPSIS πΈ
void batadv_mcast_want_rtr4_update (struct batadv_priv *bat_priv ,
struct batadv_orig_node *orig , u8 mcast_flags );
void function, three args, no return value, no drama. π
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information. it's the main character holding literally everything about the mesh iface. πorigβ the orig_node whose multicast state might have changed. might have, bestie, that's the whole premise of this function. π¦mcast_flagsβ flags indicating the new multicast state. freshly updated flags, hot off the presses. β¨
π§ DESCRIPTION π§
okay so here's the tea. if the BATADV_MCAST_WANT_NO_RTR4 flag of this originator, orig, has toggled β like, actually flipped β then this method updates the counter and the list accordingly. counter β
list β
done. that's it, that's the function. π
β οΈ real talk though: the caller needs to hold orig->mcast_handler_lock. this is not a suggestion, this is not a vibe, this is a requirement. hold the lock, bestie. fr fr. π
π SEE ALSO π
it lives in the kernel file ./net/batman-adv/multicast.c, and it has so many neighbors. like an entire extended family of multicast functions. here's every single one, no cap, nobody left out π«Ά
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_rtr_flags_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_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)
that's 58 functions bestie, i counted, we're so back π₯
and that's the whole page!! mwah π sign-off time: this one's from ./net/batman-adv, dated October 2026, and it's filed under that same batadv_mcas..._rtr4_update(9) header at the top and bottom of the original. go hold that mcast_handler_lock and slay your multicast counters, ily ππ
π¦ 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