batadv_tp_b...error_notify(9)
π batadv_tp_batctl_error_notify β a whole vibe check π
okay so first thing, bestie: this page lives in the Kernel API Manual β¨ (yes the whole big kernel docs situation), and it's about one very specific little function. Let's get into it π«Ά
β¨ NAME β¨
batadv_tp_batctl_error_notify β literally just "send client error result to client" π like it's the function whose entire job is telling the client that things went sideways. no cap.
πΈ SYNOPSIS πΈ
void batadv_tp_batctl_error_notify (enum batadv_tp_meter_reason reason ,
const u8 *dst , struct batadv_priv *bat_priv , u32 cookie );
she returns void (so, no return value, she's giving "my work here is done, I don't owe you a status code" energy π
) and she takes four arguments. four! not three, not five. we love a consistent queen π
π¦ ARGUMENTS π¦
reasonβ the reason for tp meter session stop. like why are we stopping, bestie, what happened π it's anenum batadv_tp_meter_reason, so it's one of those pre-approved reason vibes.dstβ destination of tp_meter session. that's theconst u8 *bestie, the address of where this whole session was headed πbat_privβ the bat priv with all the mesh interface information. the main character struct, the wholestruct batadv_privmoment, holding literally everything the mesh interface knows πcookieβ cookie of tp_meter session. au32cookie!! not a browser cookie, a session identifier, but honestly the metaphor tracks πͺ
ngl the argument list is short and sweet. nothing sketchy here. she knows exactly what she's about π
π₯ SEE ALSO π₯
okay this is the part where the manpage just absolutely dumps the whole friend group on you. like, every single one. here we go, no skipping, I promised π«Ά
the constants (the batadv_tp.c lore) π
- Kernel file
./net/batman-adv/tp_meter.c 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)
the session / window / rto girlies π
batadv_tp_session_cookie(9)batadv_tp_cwnd(9)batadv_tp_update_cwnd(9)batadv_tp_update_rto(9)batadv_tp_batctl_notify(9)
sender-side crew π€
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)
ack handling (the β¨dramaβ¨) π
enum batadv_tp_ack_reaction(9)batadv_tp_handle_ack(9)batadv_tp_recv_ack(9)
sending + pacing π§
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)
receiver-side crew π₯
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)
the top-level meter entry points πͺ
like I said. the whole group chat. every single one of them is in there, I checked twice ππ
okay that's the page bestie, ily, go read the kernel source, mwah π
this lil doc ships from ./net/batman-adv, dated October 2026 β so yeah, fresh out the kernel, iconic behavior only πβ¨
π¦ 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