batadv_tp_init_recv(9)
π batadv_tp_init_recv(9) β the Kernel API Manual moment
okay so bestie, welcome to the batadv_tp_init_recv(9) page, straight out of the kernel API manual and honestly it's giving "small function, big responsibilities" π
β¨ NAME β¨
batadv_tp_init_recv β return matching or create new receiver tp_vars
like, it either finds you the receiver vars that already match, or it makes you a fresh new one. matchmaker energy fr fr π
πΈ SYNOPSIS πΈ
struct batadv_tp_receiver * batadv_tp_init_recv (struct batadv_priv
*bat_priv , const struct batadv_icmp_tp_packet *icmp );
look at that signature bestie, it's literally returning a struct batadv_tp_receiver * and taking two args. iconic. π¦
π«Ά ARGUMENTS π«Ά
bat_privβ the bat priv with all the mesh interface information. it's basically the main character holding the whole mesh together πicmpβ the received icmp tp msg. yes, the one that just showed up. π
β RETURN β
the corresponding tp_vars β or NULL on errors π so like, always check before you go dereferencing it, no cap.
π SEE ALSO π
so many friends, so much lore, let's get into it β the kernel file lives at ./net/batman-adv/tp_meter.c and these are all its besties:
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_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_recv_msg(9)batadv_tp_meter_recv(9)batadv_tp_stop_all(9)batadv_tp_meter_init(9)
like I said. everyone showed up to the party. π
ngl bestie, NULL on errors is real β handle it or it's giving segfault π
okay that's the whole page and yes it ate π
the source is ./net/batman-adv, dated October 2026, and this whole thing is batadv_tp_init_recv(9) lore β go forth and init those receivers, you've got this π§π
π¦ 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