batadv_mcas...rape_padding(9)
π batadv_mcast_forw_push_scrape_padding β the Kernel API Manual, bestie edition β¨
okay so real talk, the manual page name is batadv_mcast_forw_push_scrape_padding(9) and it lives in the Kernel API Manual section 9. it's a whole function, it's giving "niche but essential," and we're gonna get through it together π«Ά
πΈ NAME πΈ
batadv_mcast_forw_push_scrape_padding β literally just removes the TVLV padding. that's the whole job. iconic honestly π
β¨ SYNOPSIS β¨
void batadv_mcast_forw_push_scrape_padding (struct sk_buff *skb ,
unsigned short *tvlv_len );
it returns void, so no return value drama, no "what does this even give back" energy. she just does the thing and leaves π
π ARGUMENTS π
skbβ the skb you might be adjusting the TVLV's padding on π¦ like, the actual packet buffer in question. potentially. maybe. that's the vibe.tvlv_lenβ this one stores the amount of currently pushed TVLV bytes π so it's a pointer, so it's getting updated, so keep your eyes on it.
π DESCRIPTION π
so what she actually does: removes two padding bytes from the end of the multicast tracker TVLV, from before the payload data. two bytes. gone. scraped. slay π
β οΈ okay this part matters, no cap: the caller needs to ensure that the TVLV bytes are linearized. that's on you, not on her. do not skip the vibe check on linearization, bestie π
π₯ SEE ALSO π₯
the kernel file itself is right here, go read it, it's a whole time:
./net/batman-adv/multicast_forw.c
and now the full friend group, like a group chat where everyone is a function in multicast_forw.c πΈ (all of these are (9) manpages, obviously):
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_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)
that's twenty-nine besties, count 'em, all cross-referenced, all real, all exactly as written π
anyway that's the page!! it comes from ./net/batman-adv and the date on it is October 2026, which is genuinely so far away it's giving time traveler energy π°οΈβ¨ mwah, go linearize your TVLVs, ily, bye ππ
π¦ 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