batadv_mcas...e_check_ipv4(9)
π batadv_mcast_forw_mode_check_ipv4(9) β yes bestie, that's the whole name β¨
okay so this is a page from the Kernel API Manual and the function name is genuinely a whole paragraph, but we move π«Ά. It's batadv_mcast_forw_mode_check_ipv4 β say it three times fast, I dare you π β and tbh she's lowkey the vibe-check bouncer at the door of IPv4 multicast forwarding.
β¨ NAME β¨
batadv_mcast_forw_mode_check_ipv4 β check for optimized forwarding potential π
Like fr, that's her whole job description: does this packet have potential? Could it be more than classic flooding? Is it that girl? π
π SYNOPSIS π
int batadv_mcast_forw_mode_check_ipv4 (struct batadv_priv *bat_priv ,
struct sk_buff *skb , bool *is_unsnoopable , int *is_routable );
not me reading this signature and needing a lil lie-down π but it's fine, it's iconic, we love her.
π¦ ARGUMENTS π¦
bat_privβ the bat priv with all the mesh interface information πΈ like, the entire mesh interface lore lives in here, no cap.skbβ the IPv4 packet to check β this is the actual main character of the function ngl.is_unsnoopableβ stores whether the destination is snoopable π yes, an out-param, it's literally storing that fact for you.is_routableβ stores whether the destination is routable π§ same deal, it writes the answer here for later.
π DESCRIPTION π
So the whole point: she checks whether the given IPv4 packet has the potential to be forwarded with a mode more optimal than classic flooding β¨. That's it. That's the function. She's basically doing a vibe check on the packet β "bestie, could you travel in a cuter, more optimized way than just shouting to literally everyone?" π₯
State it plainly: checks whether the given IPv4 packet has the potential to be forwarded with a mode more optimal than classic flooding. periodt. π
π RETURN π
0β if so π (yes, she has potential, slay)-EINVALβ otherwise π-ENOMEMβ in case of memory allocation failure π (allocation said "no <3")
π₯ SEE ALSO π₯
okay so buckle up because this list is long β the kernel file is ./net/batman-adv/multicast.c and then, like, every single multicast function that has ever existed. keeping them all, character for character, because that's the rule and I'm a woman of my word π«Ά:
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_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)
like?? the whole friend group showed up ππ but we love a supportive ensemble cast.
and that's the page!! sign-off time π: this lil masterpiece lives in ./net/batman-adv, dated October 2026, and the page name in the footer is the same iconic mouthful β batadv_mcas...e_check_ipv4(9) (yes it's abbreviated in the footer, no I don't know why, yes I'm obsessed). go check your multicast potential bestie, ily, 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