batadv_tp_list_find_sender(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– batadv_tp_list_find_sender β€” like, the kernel API manual ✨

okay so bestie, you're looking at batadv_tp_list_find_sender, which lives in the Kernel API Manual (yes, that's the manual name, she's fancy πŸŽ€). Buckle up, this one's short but she's important.


🌸 NAME 🌸

batadv_tp_list_find_sender β€” literally goes hunting for a sender tp_vars object in the global list πŸ¦‹


✨ SYNOPSIS ✨

struct batadv_tp_sender * batadv_tp_list_find_sender (struct batadv_priv
*bat_priv , const u8 *dst );

no cap, that's the whole signature πŸ’…


πŸ‘‘ ARGUMENTS πŸ‘‘

  • bat_priv β€” the bat priv that's holding all the mesh interface information 🫢 like the main character of the whole setup
  • dst β€” the other endpoint's MAC address, aka the one you're looking for πŸ‘€

πŸ’œ DESCRIPTION πŸ’œ

So the way this works: it looks for a tp_vars object that matches dst as its end_point, and once it finds her, it hands her back to you β€” but not before incrementing the refcounter πŸ”₯ (gotta keep the refcount tidy, that's just good manners).

And if there's nothing matching? It returns NULL. Not found, bestie, nobody home 😭


πŸ¦‹ RETURN πŸ¦‹

  • the matching tp_vars πŸ’–
  • or NULL when no tp_vars with that dst was found πŸ’€

🌈 SEE ALSO 🌈

Kernel file ./net/batman-adv/tp_meter.c, plus the whole friend group:

BATADV_TP_DEF_TEST_LENGTH(9), BATADV_TP_AWND(9), BATADV_TP_RECV_TIMEOUT(9), BATADV_TP_MAX_RTO(9), BATADV_TP_FIRST_SEQ(9), BATADV_TP_PLEN(9), BATADV_TP_MAX_UNACKED(9), batadv_tp_session_cookie(9), batadv_tp_cwnd(9), batadv_tp_update_cwnd(9), batadv_tp_update_rto(9), batadv_tp_batctl_notify(9), batadv_tp_batctl_error_notify(9), batadv_tp_list_active(9), batadv_tp_list_find_sender_session(9), batadv_tp_sender_release(9), batadv_tp_sender_put(9), batadv_tp_list_detach(9), batadv_tp_sender_cleanup(9), batadv_tp_sender_end(9), batadv_tp_sender_shutdown(9), batadv_tp_sender_stopped(9), batadv_tp_sender_finish(9), batadv_tp_reset_sender_timer(9), batadv_tp_sender_timeout(9), batadv_tp_fill_prerandom(9), batadv_tp_send_msg(9), enum batadv_tp_ack_reaction(9), batadv_tp_handle_ack(9), batadv_tp_recv_ack(9), batadv_tp_avail(9), batadv_tp_wait_available(9), batadv_tp_send(9), batadv_tp_start_kthread(9), batadv_tp_start(9), batadv_tp_stop(9), batadv_tp_list_find_receiver_session(9), batadv_tp_receiver_release(9), batadv_tp_receiver_put(9), batadv_tp_reset_receiver_timer(9), batadv_tp_receiver_shutdown(9), batadv_tp_send_ack(9), batadv_tp_handle_out_of_order(9), batadv_tp_ack_unordered(9), batadv_tp_init_recv(9), batadv_tp_recv_msg(9), batadv_tp_meter_recv(9), batadv_tp_stop_all(9), batadv_tp_meter_init(9) ✨


ngl that's a lot of cross-references, but that's the tp_meter family for you β€” one big happy function family 🧚

kisses and see-ya-later, this page came from ./net/batman-adv in the Kernel API Manual, dated October 2026 β€” and it's still batadv_tp_list_find_sender(9) at the end of the day, periodt πŸ’…πŸ“

πŸ“¦ where this page comes from