On Mon, Jun 30, 2025 at 1:05 AM <xu.xi...@zte.com.cn> wrote: > > From: Fan Yu <fan....@zte.com.cn> > > Problem > ======= > When TCP retransmits a packet due to missing ACKs, the retransmission > may fail for various reasons (e.g., packets stuck in driver queues, > sequence errors, or routing issues). Currently, these failure reasons > are internally handled in __tcp_retransmit_skb() but lack visibility to > userspace, which makes it difficult to diagnose retransmission failures in > production environments. > > Solution > ======= > This patch adds a reason field to the tcp_retransmit_skb tracepoint, > enumerating with explicit failure cases: > TCP_RETRANS_IN_HOST_QUEUE (packet still queued in driver) > TCP_RETRANS_END_SEQ_ERROR (invalid end sequence) > TCP_RETRANS_TRIM_HEAD_NOMEM (trim head no memory) > TCP_RETRANS_UNCLONE_NOMEM (skb unclone keeptruesize no memory) > TCP_RETRANS_FRAG_NOMEM (fragment no memory) > TCP_RETRANS_ROUTE_FAIL (routing failure) > TCP_RETRANS_RCV_ZERO_WINDOW (closed recevier window) > TCP_RETRANS_PSKB_COPY_NOBUFS (no buffer for skb copy) > TCP_RETRANS_QUIT_UNDEFINED (quit reason undefined)
'undefined' ? > > Impact > ====== > 1. Enables BPF programs to filter retransmission failures by reason. > 2. Allows precise failure rate monitoring via ftrace. > > Co-developed-by: xu xin <xu.xi...@zte.com.cn> > Signed-off-by: xu xin <xu.xi...@zte.com.cn> > Signed-off-by: Fan Yu <fan....@zte.com.cn> Problem is that this patch breaks the original trace point, without any mention of the potential consequences in the changelog ? commit e086101b150ae8e99e54ab26101ef3835fa9f48d Author: Cong Wang <xiyou.wangc...@gmail.com> Date: Fri Oct 13 13:03:16 2017 -0700 tcp: add a tracepoint for tcp retransmission