batadv_mcas..._ipv6_update(9)
π batadv_mcast_want_ipv6_update(9) β like, the Kernel API Manual, but make it cute π
okay bestie, so this one lives in the Kernel API Manual and it's genuinely a tiny little function with main character energy β it just keeps a counter and a list in sync when one specific IPv6 flag flips. let's get into it β¨
πΈ NAME πΈ
batadv_mcast_want_ipv6_update β update the want-all-ipv6 counter and the list. that's the whole vibe, no cap π«Ά
π¦ SYNOPSIS π¦
void batadv_mcast_want_ipv6_update (struct batadv_priv *bat_priv ,
struct batadv_orig_node *orig , u8 mcast_flags );
yes she takes three args and returns literally nothing (void), she's just here to do the bookkeeping π
π§ ARGUMENTS π§
bat_privβ thebat_privthat's holding all the mesh interface information. she's the whole personality of the mesh, basically πorigβ theorig_nodewhose multicast state maybe just changed. "might have changed" β we don't know yet, that's the whole point, we're checking πmcast_flagsβ the flags showing the new multicast state. like, the fresh fit the originator just walked in wearing π₯
β DESCRIPTION β
okay so here's the tea π: if the BATADV_MCAST_WANT_ALL_IPV6 flag on this originator β that's orig β has toggled, then this method goes and updates the counter and the list to match. toggled = it changed, bestie, and we are not letting stale numbers sit around looking a mess β¨
β οΈ real talk though: the caller needs to hold orig->mcast_handler_lock. that's not a suggestion, that's the rule. no lock, no update. periodt π
π SEE ALSO π
okay this section is long and honestly iconic β it's giving "she knows everyone at the party" π but every single one is here, exactly like the original, because we don't do cut corners in this house π
Kernel file ./net/batman-adv/multicast.c, plus:
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_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)
likeβ¦ the whole multicast cinematic universe, fr fr π¦
okay that's the page!! stay locked, stay updated, and don't forget the mcast_handler_lock bestie π this one's from ./net/batman-adv, dated October 2026 β see u in the next manpage, mwah π«Άππ
π¦ 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