batadv_mcas...just_padding(9)
π¦ batadv_mcast_forw_push_adjust_padding β adjust padding if necessary π
okay bestie, welcome to the Kernel API Manual, section 9. this one is a little cutie from the batman-adv multicast world and honestly her whole personality is fixing the padding vibe π
β¨ SYNOPSIS β¨
bool batadv_mcast_forw_push_adjust_padding (struct sk_buff *skb , int
*count , unsigned short num_dests_pushed , unsigned short *tvlv_len );
π«Ά ARGUMENTS π«Ά
skbβ the skb whose TVLV padding we might be adjusting. lowkey the main character here, no cap πcountβ the estimated number of originators the multicast packet needs to be sent to. she's the estimate, the guess, the first draft πnum_dests_pushedβ the number of originators that were actually added to the multicast packet's tracker TVLV. the reality check vs. the estimate, iykyk πtvlv_lenβ stores the amount of currently pushed TVLV bytes π
π DESCRIPTION π
so here's the tea β β this function adjusts the padding in the multicast packet's tracker TVLV, and it does that by comparing the initially estimated amount of destinations against the amount of destinations that were actually added to the tracker TVLV. it's giving "plans vs. what actually happened" energy fr fr.
if the initial estimate was correct, or at least the oddness was the same, then no padding adjustment is performed β she's chill, she's not touching anything πΈ
if the initially estimated number was even (so padding was initially added), but it turned out to be odd, then padding is removed π§
if the initially estimated number was odd (so no padding was initially added), but it turned out to be even, then padding is added β¨
slay. that's the whole bit. even/odd girlies running the tracker TVLV economy π
β RETURN β
returns true if no padding adjustment is needed or the adjustment was successful, false otherwise. so like, true = we're thriving, false = something went sideways π
π SEE ALSO π
the source file, bestie: Kernel file ./net/batman-adv/multicast_forw.c π
and literally the entire forw extended family, in order, because we do NOT skip family members in this house:
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_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) π¦
π friendly reminder: this is all about padding in a tracker TVLV. don't go calling it with vibes instead of pointers, bestie.
okay that's the page!! source dir is ./net/batman-adv, version date October 2026, and she lives in section 9 of the Kernel API Manual π mwah, go adjust some padding, ily π
batadv_mcas...just_padding(9)
π¦ 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