batadv_forw_..._bcasts_left(9)
π batadv_forw_..._bcasts_left(9) β the kernel API manual, but make it make sense
okay bestie, so this is a page from the Kernel API Manual, and the function we're stanning today is batadv_forw_..._bcasts_left(9). yes the name is a whole mouthful, we're gonna get through it together π«Ά
β¨ NAME β¨
batadv_forw_packet_bcasts_left β literally just checks if a retransmission is necessary. that's the whole gig. no cap π
πΈ SYNOPSIS πΈ
bool batadv_forw_packet_bcasts_left (struct batadv_forw_packet
*forw_packet );
like, she takes one thing and she returns a bool. simple. iconic. π
π¦ ARGUMENTS π¦
forw_packetβ the forwarding packet you wanna check. that's it, that's the argument π
β DESCRIPTION β
so what she does is: she checks whether a given packet has any (re)transmissions left on the provided interface. vibe check for retransmissions, basically π₯
and here's the tea β hard_iface may be NULL: in that case, the number of transmissions this skb had so far is compared with the maximum amount of retransmissions independent of any interface instead. so no interface, no problem, she just compares against the global max π
lowkey important: that hard_iface behaviour is straight from the manpage, so don't come for me if you pass something weird. it's giving "read the source" energy π
π RETURN π
- True β if (re)transmissions are left π
- false β otherwise π
that's the whole return situation. binary queen. β
π SEE ALSO π
okay this is the long part, grab a snack π β all of these live in the kernel file ./net/batman-adv/send.c:
batadv_send_skb_packet(9)batadv_send_broadcast_skb(9)batadv_send_unicast_skb(9)batadv_send_skb_to_orig(9)batadv_send_skb_push_fill_unicast(9)batadv_send_skb_prepare_unicast(9)batadv_send_skb_prepare_unicast_4addr(9)batadv_send_skb_unicast(9)batadv_send_skb_via_tt_generic(9)batadv_send_skb_via_gw(9)batadv_forw_packet_free(9)batadv_forw_packet_alloc(9)batadv_forw_packet_was_stolen(9)batadv_forw_packet_steal(9)batadv_forw_packet_list_steal(9)batadv_forw_packet_list_free(9)batadv_forw_packet_queue(9)batadv_forw_packet_bcast_queue(9)batadv_forw_packet_ogmv1_queue(9)batadv_forw_bcast_packet_to_list(9)batadv_forw_bcast_packet_if(9)batadv_send_no_broadcast(9)__batadv_forw_bcast_packet(9)batadv_forw_bcast_packet(9)batadv_send_bcast_packet(9)batadv_forw_packet_bcasts_dec(9)batadv_forw_packet_is_rebroadcast(9)batadv_send_outstanding_bcast_packet(9)batadv_purge_outstanding_packets(9)
like I said β a lot of cousins. iykyk π
and that's the page bestie!! this one came from ./net/batman-adv, dated October 2026, and the manual name is batadv_forw_..._bcasts_left(9) in case you forgot already π mwah, go read send.c π§ββοΈβ¨
π¦ 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