batadv_mcast...w_push_dests(9)
π batadv_mcast_forw_push_dests β the Kernel API Manual moment π
okay so bestie, you found it β the batadv_mcast...w_push_dests(9) page, straight out of the Kernel API Manual. this is the one that pushes originator addresses onto an skb and honestly? it's giving quiet-but-essential. let's get into it π
β¨ NAME β¨
batadv_mcast_forw_push_dests β push originator addresses onto an skb. that's the whole vibe, no cap π¦
πΈ SYNOPSIS πΈ
int batadv_mcast_forw_push_dests (struct batadv_priv *bat_priv , struct
sk_buff *skb , unsigned short vid , int is_routable , int *count ,
unsigned short *tvlv_len );
like, look at that signature. it ate, honestly π₯
π ARGUMENTS π
bat_privβ the bat priv with all the mesh interface information. it's literally the main character here πskbβ the skb we're pushing the destination addresses onto. get her, she's getting new content π«Άvidβ the vlan identifier. small but iconic πis_routableβ indicates whether the destination is routable. yes/no energy β¨countβ the number of originators the multicast packet needs to be sent to. counting besties πtvlv_lenβ stores the amount of currently pushed TVLV bytes. keeping track, ngl π
π¦ DESCRIPTION π¦
so what it does is: push the MAC addresses of all originators which have indicated interest in this multicast packet onto the given skb. like, every originator who was like "yes i want this one" gets their MAC address yeeted onto that skb. obsessed honestly ππ
β RETURN β
-ENOMEMif there is not enough skb headroom available. not enough room = not the moment π- otherwise, on success,
0. slay π
π SEE ALSO π
first up, the kernel file:
- Kernel file
./net/batman-adv/multicast_forw.c
and the whole friend group β every single one, no skipping π:
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_dests_list(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_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)
that's the whole page, bestie, nothing skipped, nothing dropped π
sign-off time: this one lives in ./net/batman-adv and it's dated October 2026 β so yeah, future-dated icon behavior fr fr π§ββοΈβ see you in the next manpage, mwah π
π¦ 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