batadv_mcas...just_padding(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ 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