batadv_mcas..._ipv4_update(9)
π batadv_mcast_want_ipv4_update β from the Kernel API Manual π
okay so bestie, we're diving into batadv_mcast_want_ipv4_update(9) today and honestly? it's giving "small function, big responsibilities". it lives in the Kernel API Manual, so you know it's legit. let's get into it β¨
πΈ NAME πΈ
batadv_mcast_want_ipv4_update β update the want-all-ipv4 counter and the list π«Ά
β SYNOPSIS β
void batadv_mcast_want_ipv4_update (struct batadv_priv *bat_priv ,
struct batadv_orig_node *orig , u8 mcast_flags );
that's the whole signature, no cap. it returns void, so it's a "do the thing, don't give me a receipt" kinda situation π
π¦ ARGUMENTS π¦
bat_privβ the bat priv that's holding all the mesh interface information. yes, all of it. main character struct, fr fr πorigβ theorig_nodewhose multicast state might have changed. "might have" bestie, we're checking, we're not assuming πmcast_flagsβ the flags that indicate the brand new multicast state. fresh out of the box β¨
π DESCRIPTION π
so here's the vibe: if the BATADV_MCAST_WANT_ALL_IPV4 flag of this originator β that's orig β has toggled, then this method updates the counter and the list accordingly. toggled is the keyword, iykyk. no toggle, no update, that's just how it is π
β οΈ okay this part is important, don't skip it: the caller needs to hold orig->mcast_handler_lock. that's not a suggestion, that's the rule. hold the lock, bestie, or things get messy π
π₯ SEE ALSO π₯
the whole friend group, gathered for you π«Ά first up, the kernel file: ./net/batman-adv/multicast.c, and then the crew:
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_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)
like I said. the whole group chat π but every single one of them matters, ok?
and that's the page, bestie π this lil baddie came from ./net/batman-adv and it's dated October 2026, under the Kernel API Manual banner β go forth and update those counters responsibly β¨π
π¦ 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