batadv_tp_send_ack(9)
π batadv_tp_send_ack(9) β aka the "send an ACK packet" page
Okay so bestie, buckle up πΈ this is batadv_tp_send_ack(9), straight out of the Kernel API Manual β a whole function whose entire personality is sending an ACK packet. That's it. That's the job. It's giving "one small job, done slayfully." β¨
π NAME π
batadv_tp_send_ack β send an ACK packet π
β¨ SYNOPSIS β¨
int batadv_tp_send_ack (struct batadv_priv *bat_priv , const u8 *dst ,
u32 seq , __be32 timestamp , const u8 *session , int socket_index );
Six arguments, no cap. Let's meet them π«Ά
π¦ ARGUMENTS π¦
bat_privβ the bat priv π¦ with all the mesh interface information in it. Everything you need to know about the mesh lives here, lowkey the main character of the struct.dstβ the mac address π of the destination originator. This is where the ACK is headed, periodt.seqβ the sequence number you're ACKing π’. Yeah, that one.timestampβ the timestamp to echo back in the ACK β°. It literally just gets echoed, iconic behaviour honestly.sessionβ session identifier πͺͺ. Gotta know which session we're in, iykyk.socket_indexβ local ICMP socket identifier π. The local socket's lil name tag.
π RETURN π
0on success π β we ate, no crumbs.- a positive integer representing the reason of the failure otherwise π β so if it's not zero, something went wrong and the number is spilling the tea about why.
π SEE ALSO π
Heads up bestie, this list is LONG. Like, "my group chat when someone says 'guess what'" long. Every single one of these, no skipping π
Kernel file ./net/batman-adv/tp_meter.c π§ and the whole extended friend group:
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_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)
Fifty references, bestie. Fifty. Obsessed with the commitment honestly π
And that's the whole page, mwah π This lil masterpiece lives over in ./net/batman-adv, dated October 2026 πΈ β go forth and ACK responsibly, you gorgeous nerd πβ¨π¦
π¦ 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