batadv_mcas...ode_by_count(9)
π batadv_mcast_forw_mode_by_count(9)
okay so bestie, this is a page out of the Kernel API Manual, and it's all about batadv_mcast_forw_mode_by_count(9) β like, the function name is a whole mouthful but we're gonna get through it together π«Ά
β¨ NAME β¨
batadv_mcast_forw_mode_by_count β literally just "get forwarding mode by count" π« that's the whole vibe, that's the whole job.
π SYNOPSIS π
enum batadv_forw_mode batadv_mcast_forw_mode_by_count (struct
batadv_priv *bat_priv , struct sk_buff *skb , unsigned short vid , int
is_routable , int count );
she takes five arguments and returns a enum batadv_forw_mode, no cap π₯
πΈ ARGUMENTS πΈ
bat_privβ the bat priv, aka the thing holding all your mesh interface information π she knows everything, she's the main character of the meshskbβ the multicast packet we're checking, the little guy under the microscope πvidβ the vlan identifier, yes it's three letters, yes it mattersis_routableβ stores whether the destination is routable π§ like, can we actually get there?countβ the number of originators the multicast packet needs to be sent to π― (the "by count" of it all, iykyk)
π¦ DESCRIPTION π¦
so for a multicast packet with multiple destination originators, this function checks which mode to use. that's it, that's the plot π
and like β for real β for BATADV_FORW_MCAST it also encapsulates the packet with a complete batman-adv multicast header. she doesn't just pick a mode, she dresses the packet up too β¨π
π RETURN π
okay here's the vibe check on what comes back:
BATADV_FORW_MCASTβ if all nodes have multicast packet routing capabilities and an MTU >=1280on all hard interfaces (including us π«΅) and the encapsulated multicast packet with all destination addresses would still fit into an1280bytes batman-adv multicast packet (excluding the outer ethernet frame) and we could successfully push the full batman-adv multicast packet header. so many conditions bestie, but slay πBATADV_FORW_UCASTSβ if the packet cannot be sent in a batman-adv multicast packet and the amount of batman-adv unicast packets needed is smaller or equal to the configured multicast fanout π’BATADV_FORW_BCASTβ otherwise π the catch-all, the "none of the above", the group chat fallback
π SEE ALSO π
Kernel file ./net/batman-adv/multicast.c β and honestly the whole extended family lives there, here's the full guest list π
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(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)
and that's the page babes π this one's from ./net/batman-adv, dated October 2026 β signed, sealed, delivered, periodt π
π
π¦ 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