Merge branch 'tcp-trace-next'
authorDavid S. Miller <davem@davemloft.net>
Thu, 25 Apr 2024 07:52:12 +0000 (08:52 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 Apr 2024 07:52:12 +0000 (08:52 +0100)
commitcaf93883f623ebd29989e3c35423f386ea4a41bb
tree3e523116c5e7de8d0a426fa022f7a4c13966e453
parentd806871612712f1d08eb7ce81efd4ca81ca5bca1
parent2bf90a57f0e682872c5cfb66ffa45e432bb9c7ae
Merge branch 'tcp-trace-next'

Philo Lu says:

====================
tcp: update TCPCB_EVER_RETRANS after trace_tcp_retransmit_skb()

Move TCPCB_EVER_RETRANS updating after the trace_tcp_retransmit_skb()
in __tcp_retransmit_skb(), and then we are aware of whether the skb has
ever been retransmitted in this tracepoint. This can be used, e.g., to get
retransmission efficiency by counting skbs w/ and w/o TCPCB_EVER_RETRANS
(through bpf tracing programs).

For this purpose, TCPCB_EVER_RETRANS is also needed to be exposed to bpf.
Previously, the flags are defined as macros in struct tcp_skb_cb. I moved them
out into a new enum, and then they can be accessed with vmlinux.h.

We have discussed to achieve this with BPF_SOCK_OPS in [0], and using
tracepoint is thought to be a better solution.

[0]
https://lore.kernel.org/all/20240417124622.35333-1-lulie@linux.alibaba.com/
====================

Signed-off-by: David S. Miller <davem@davemloft.net>