> >
> > 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

Reply via email to