> > > > From: Fan Yu <[email protected]> > > > > 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' ? >
Oh, it's redundant indeed. Will remove it in v2. > > > > Impact > > ====== > > 1. Enables BPF programs to filter retransmission failures by reason. > > 2. Allows precise failure rate monitoring via ftrace. > > > > Co-developed-by: xu xin <[email protected]> > > Signed-off-by: xu xin <[email protected]> > > Signed-off-by: Fan Yu <[email protected]> > > Problem is that this patch breaks the original trace point, without > any mention of the potential consequences in the changelog ? > Huhh, indeed. Will add a part description of the potential consequences in v2. Thanks for reviews. > commit e086101b150ae8e99e54ab26101ef3835fa9f48d > Author: Cong Wang <[email protected]> > Date: Fri Oct 13 13:03:16 2017 -0700 > > tcp: add a tracepoint for tcp retransmission
