batadv_mcas...h_dests_list(9)
π batadv_mcast_forw_push_dests_list β like, the whole manual, bestie
okay so this is batadv_mcast_forw_push_dests_list(9) from the Kernel API Manual and honestly? it's giving "niche mesh-networking icon" and I'm obsessed. sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
batadv_mcast_forw_push_dests_list β push originators from a list onto an skb π
π SYNOPSIS π
int batadv_mcast_forw_push_dests_list (struct batadv_priv *bat_priv ,
struct sk_buff *skb , unsigned short vid , struct hlist_head *head ,
size_t entry_offset , unsigned short *num_dests , unsigned short
*tvlv_len );
π¦ ARGUMENTS π¦
bat_privβ the bat priv that's holding, like, all the mesh interface info πskbβ the skb we're pushing the destination addresses onto, main character energy β¨vidβ the vlan identifier, no cap π·οΈheadβ the list we're gathering originators from, it's literally the source of truth πentry_offsetβ offset of an hlist node inside anorig_nodestructure, iykyk π§num_destsβ a pointer where we store the number of pushed addresses πtvlv_lenβ stores how many TVLV bytes are currently pushed, keeping count bestie π’
π₯ DESCRIPTION π₯
So what does it actually do? It pushes the MAC addresses of all the originators in the given list onto the given skb. that's it, that's the vibe. absolute slay of a function tbh π«Ά
π RETURN π
true on success, false otherwise. simple as that, periodt π
β SEE ALSO β
the kernel file it lives in (iconic address, honestly):
Kernel file ./net/batman-adv/multicast_forw.c
and the whole friend group, fr fr β every single one, not skipping a single bestie:
batadv_mcast_forw_skb_push(9), batadv_mcast_forw_push_padding(9), batadv_mcast_forw_push_est_padding(9), batadv_mcast_forw_orig_entry(9), batadv_mcast_forw_push_dest(9), batadv_mcast_forw_push_tt(9), batadv_mcast_forw_push_want_all(9), batadv_mcast_forw_push_want_rtr(9), batadv_mcast_forw_scrape(9), batadv_mcast_forw_push_scrape_padding(9), batadv_mcast_forw_push_insert_padding(9), batadv_mcast_forw_push_adjust_padding(9), batadv_mcast_forw_push_dests(9), batadv_mcast_forw_push_tracker(9), batadv_mcast_forw_push_tvlvs(9), batadv_mcast_forw_push_hdr(9), batadv_mcast_forw_scrub_dests(9), batadv_mcast_forw_shrink_fill(9), batadv_mcast_forw_shrink_pack_dests(9), batadv_mcast_forw_shrink_align_offset(9), batadv_mcast_forw_shrink_update_headers(9), batadv_mcast_forw_shrink_move_headers(9), batadv_mcast_forw_shrink_tracker(9), batadv_mcast_forw_packet(9), batadv_mcast_forw_tracker_tvlv_handler(9), batadv_mcast_forw_packet_hdrlen(9), batadv_mcast_forw_expand_head(9), batadv_mcast_forw_push(9), batadv_mcast_forw_mcsend(9)
ngl the SEE ALSO section is longer than the actual function and that is so valid of it πβ¨
and that's the whole page, bestie β go forth and push those destinations π¦
this lil manpage came from ./net/batman-adv and it's dated October 2026, so jot that down ππ
π¦ 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