batadv_tp_li...iver_session(9)
π 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
- 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