batadv_mcast_is_report_ipv6(9)
π batadv_mcast_is_report_ipv6(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β yes we're in kernel land today, and no, it's not scary, i promise π«Ά. this one's a lil function from the batman-adv family and it's honestly so straightforward once you know what it's doing.
πΈ NAME πΈ
batadv_mcast_is_report_ipv6 β literally just checking for MLD reports π
π¦ SYNOPSIS π¦
bool batadv_mcast_is_report_ipv6 (struct sk_buff *skb );
that's it. one frame in, one bool out. clean, minimal, iconic π
π ARGUMENTS π
skbβ the ethernet frame that's headed for the mesh π§ this is the thing you're asking about, so hand it over.
π DESCRIPTION π
β οΈ bestie, read this one first, it's important: this function may reallocate the skb data buffer viaipv6_mc_check_mld/...β so any pointer into the skb data (like one you got fromskb->dataoreth_hdr) that you grabbed before this call has to be considered invalid afterwards. invalid! gone! expired! π you have to reacquire it. don't be out here using a stale pointer, that is not the vibe.
and then the actual job, which is honestly kinda cute: it checks whether the frame you passed in is a valid MLD report π
β RETURN β
- if it is π
trueβ¨ - otherwise π
falseπ
π₯ SEE ALSO π₯
the kernel file is ./net/batman-adv/multicast.c, and bestie⦠the friend group here is huge. like, this function knows everyone. scroll responsibly:
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_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)
that's the whole page, bestie, you ate that ππ
sign-off time π β this lil beauty lives in ./net/batman-adv, dated October 2026, and the page itself is batadv_mcast_is_report_ipv6(9). go forth, reacquire your pointers, and slay β¨π
π¦ 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