batadv_tp_li...iver_session(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… batadv_tp_li...iver_session(9) πŸ’…

okay so real talk, bestie β€” this is the batadv_tp_li...iver_session(9) page out of the Kernel API Manual, and yes the title is literally truncated with the little ... in the middle, that's not a typo, that's just how it's printed, we love a mysterious queen πŸŽ€


✨ NAME ✨

batadv_tp_list_find_receiver_session β€” find tp_vars receiver session object in the global list. that's it. that's the whole job. she finds, she returns, she slays πŸ’…


🌸 SYNOPSIS 🌸

struct batadv_tp_receiver * batadv_tp_list_find_receiver_session (struct
batadv_priv *bat_priv , const u8 *dst , const u8 *session );

look at her. three args, one pointer out, zero drama (the good kind of zero drama, ngl) ✨


πŸ¦‹ ARGUMENTS πŸ¦‹

  • bat_priv β€” the bat priv with all the mesh interface information. she carries the whole squad's mesh-interface lore, okurrr πŸ‘‘
  • dst β€” the other endpoint MAC address to look for. like, who are we trying to find, address-wise 🫢
  • session β€” session identifier. your little name tag for the tp meter session so we know which one's which πŸŽ€

πŸ’œ DESCRIPTION πŸ’œ

so here's the vibe: she goes looking for a tp_vars object that matches dst as end_point, and session as tp meter session β€” both have to line up, no half-matching bestie, we don't do that here πŸ’€

and when she finds it? she hands it back to you after having increment the refcounter. yes queen, she bumps that refcount before she lets go, that's the whole point πŸ”₯

and if it's not found? NULL. that's it. don't overthink it 😭

careful, babes β€” the refcounter thing is load-bearing. she's not just returning a pointer, she's returning a pointer that's been counted. that's the contract πŸ’…

⭐ RETURN ⭐

matching tp_vars, or NULL when no tp_vars was found. either she ate and found your receiver session, or she comes back empty-handed with NULL β€” no in-between, no maybes, periodt 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./net/batman-adv/tp_meter.c β€” go read her, she's iconic:

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_find_sender(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_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)

like, that's the whole friend group, go say hi to all of them 🧚


πŸ“ sign-off πŸ“

this page lives in ./net/batman-adv, dated October 2026, and it's filed under batadv_tp_li...iver_session(9) β€” mwah, go find your receiver session bestie, ily, bye πŸ’–βœ¨

πŸ“¦ where this page comes from