mbox series

[net-next,0/6] add a set of tracepoints to tcp stack

Message ID 20171020212046.577888-1-songliubraving@fb.com
Headers show
Series add a set of tracepoints to tcp stack | expand

Message

Song Liu Oct. 20, 2017, 9:20 p.m. UTC
Resending the patch set as there were something wrong with my email
server.

These patches add the following tracepoints to tcp stack.

tcp_send_reset
tcp_receive_reset
tcp_destroy_sock
tcp_set_state

These tracepoints can be used to track TCP state changes. Such state
changes include but are not limited to: connection establish,
connection termination, tx and rx of RST, various retransmits.

Currently, we use the following kprobes to trace these events:

int kprobe__tcp_validate_incoming
int kprobe__tcp_send_active_reset
int kprobe__tcp_v4_send_reset
int kprobe__tcp_v6_send_reset
int kprobe__tcp_v4_destroy_sock
int kprobe__tcp_set_state
int kprobe__tcp_retransmit_skb

These tracepoints will help us simplify this work.

Thanks,
Song

Song Liu (6):
  tcp: add trace event class tcp_event_sk_skb
  tcp: mark trace event arguments sk and skb as const
  tcp: add tracepoint trace_tcp_send_reset
  tcp: add tracepoint trace_tcp_receive_reset
  tcp: add tracepoint trace_tcp_destroy_sock
  tcp: add tracepoint trace_tcp_set_state()

 include/trace/events/tcp.h | 181 ++++++++++++++++++++++++++++++++++++++++++++-
 net/ipv4/tcp.c             |   4 +
 net/ipv4/tcp_input.c       |   3 +
 net/ipv4/tcp_ipv4.c        |   8 +-
 net/ipv4/tcp_output.c      |   5 ++
 net/ipv6/tcp_ipv6.c        |  10 ++-
 6 files changed, 204 insertions(+), 7 deletions(-)

--
2.9.5

Comments

Song Liu Oct. 20, 2017, 9:32 p.m. UTC | #1
CCing key audience of these patches. 

I am really sorry if I have spammed your inbox multiple times with 
the same set of patches. I have been struggling to get git-send-email
sending email to netdev. The only solution I found is to be reduce CC 
list.

Best Regards,
Song


> On Oct 20, 2017, at 2:20 PM, Song Liu <songliubraving@fb.com> wrote:
> 
> Resending the patch set as there were something wrong with my email
> server.
> 
> These patches add the following tracepoints to tcp stack.
> 
> tcp_send_reset
> tcp_receive_reset
> tcp_destroy_sock
> tcp_set_state
> 
> These tracepoints can be used to track TCP state changes. Such state
> changes include but are not limited to: connection establish,
> connection termination, tx and rx of RST, various retransmits.
> 
> Currently, we use the following kprobes to trace these events:
> 
> int kprobe__tcp_validate_incoming
> int kprobe__tcp_send_active_reset
> int kprobe__tcp_v4_send_reset
> int kprobe__tcp_v6_send_reset
> int kprobe__tcp_v4_destroy_sock
> int kprobe__tcp_set_state
> int kprobe__tcp_retransmit_skb
> 
> These tracepoints will help us simplify this work.
> 
> Thanks,
> Song
> 
> Song Liu (6):
>  tcp: add trace event class tcp_event_sk_skb
>  tcp: mark trace event arguments sk and skb as const
>  tcp: add tracepoint trace_tcp_send_reset
>  tcp: add tracepoint trace_tcp_receive_reset
>  tcp: add tracepoint trace_tcp_destroy_sock
>  tcp: add tracepoint trace_tcp_set_state()
> 
> include/trace/events/tcp.h | 181 ++++++++++++++++++++++++++++++++++++++++++++-
> net/ipv4/tcp.c             |   4 +
> net/ipv4/tcp_input.c       |   3 +
> net/ipv4/tcp_ipv4.c        |   8 +-
> net/ipv4/tcp_output.c      |   5 ++
> net/ipv6/tcp_ipv6.c        |  10 ++-
> 6 files changed, 204 insertions(+), 7 deletions(-)
> 
> --
> 2.9.5
David Miller Oct. 23, 2017, 4:08 a.m. UTC | #2
From: Song Liu <songliubraving@fb.com>
Date: Fri, 20 Oct 2017 14:20:40 -0700

> These patches add the following tracepoints to tcp stack.
> 
> tcp_send_reset
> tcp_receive_reset
> tcp_destroy_sock
> tcp_set_state

Please fix this build error, it probably happens when IPV6 is built
modular:

ERROR: "__tracepoint_tcp_send_reset" [net/ipv6/ipv6.ko] undefined!
scripts/Makefile.modpost:91: recipe for target '__modpost' failed

Thanks.