batadv_tp_handle_ack(9)
π batadv_tp_handle_ack(9) β the kernel API manual, but make it make sense
okay bestie, so this is a page from the Kernel API Manual and it's called batadv_tp_handle_ack β no cap, that's the whole name up top, we're just folding it in here so it doesn't look all formal and weird π
β¨ NAME β¨
batadv_tp_handle_ack β the function that calculates the reaction to an ACK and updates congestion control. that's it, that's the vibe π¦
πΈ SYNOPSIS πΈ
enum batadv_tp_ack_reaction batadv_tp_handle_ack (struct batadv_priv
*bat_priv , struct batadv_tp_sender *tp_vars , u32 recv_ack , size_t mss
);
lowkey iconic signature, honestly. it hands you back an enum batadv_tp_ack_reaction and takes four things π
π ARGUMENTS π
bat_privβ thebat privwith all the mesh interface information. it's giving "everything you ever wanted to know about the mesh", fr fr.tp_varsβ the private data of the current TP meter session. this session's personal little diary πrecv_ackβ received ACK seqno. the sequence number of the ACK we just got, bestie.mssβ maximum segment size for transmission. big "how chunky can my segments be" energy.
β RETURN β
returns the expected reaction to this ack. that's the whole deal β the answer is a reaction, and it's an enum batadv_tp_ack_reaction. slay π
π₯ SEE ALSO π₯
okay this list is long and it ate, so buckle up bestie, we're going through all of it π
Kernel file ./net/batman-adv/tp_meter.c, plus:
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_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)
like, every single one of them. we don't skip refs in this house π
π§ cute lil sign-off π§
this page lives in ./net/batman-adv, and it's dated October 2026 β yes, the future, she's ahead of her time β¨ and the header/footer name for the whole thing is batadv_tp_handle_ack(9), so now you know where to find her again. bye bestie, go update that congestion control ππ«Άπ
π¦ 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