Re: [PATCH net-next 0/2] add two missing addresses when using trace

2024-03-03 Thread Jason Xing
On Fri, Mar 1, 2024 at 1:10 AM Jason Xing wrote: > > From: Jason Xing > > When I reviewed other people's patch [1], I noticed that similar thing > also happens in tcp_event_skb class and tcp_event_sk_skb class. They > don't print those two addrs of skb/sk w

Re: [PATCH net-next 1/2] tcp: add tracing of skb/skaddr in tcp_event_sk_skb class

2024-03-04 Thread Jason Xing
On Mon, Mar 4, 2024 at 4:24 PM Eric Dumazet wrote: > > On Thu, Feb 29, 2024 at 6:10 PM Jason Xing wrote: > > > > From: Jason Xing > > > > Prio to this patch, the trace function doesn't print addresses > > which might be forgotten. As we can see, it alread

[PATCH net-next v2 2/2] tcp: add tracing of skbaddr in tcp_event_skb class

2024-03-04 Thread Jason Xing
From: Jason Xing Use the existing parameter and print the address of skbaddr as other trace functions do. Signed-off-by: Jason Xing --- include/trace/events/tcp.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/trace/events/tcp.h b/include/trace/events/tcp.h

[PATCH net-next v2 0/2] tcp: add two missing addresses when using trace

2024-03-04 Thread Jason Xing
From: Jason Xing When I reviewed other people's patch [1], I noticed that similar things also happen in tcp_event_skb class and tcp_event_sk_skb class. They don't print those two addrs of skb/sk which already exist. In this patch, I just do as other trace functions do, like

[PATCH net-next v2 1/2] tcp: add tracing of skb/skaddr in tcp_event_sk_skb class

2024-03-04 Thread Jason Xing
From: Jason Xing Printing the addresses can help us identify the exact skb/sk for those system in which it's not that easy to run BPF program. As we can see, it already fetches those, then use it directly and it will print like below: ...tcp_retransmit_skb: skbaddr=XXX skaddr=XXX family=AF_INET

[PATCH net-next 0/2] add two missing addresses when using trace

2024-02-29 Thread Jason Xing
From: Jason Xing When I reviewed other people's patch [1], I noticed that similar thing also happens in tcp_event_skb class and tcp_event_sk_skb class. They don't print those two addrs of skb/sk which already exist. They are probably forgotten by the original authors, so this time I finish

[PATCH net-next 2/2] tcp: add tracing of skbaddr in tcp_event_skb class

2024-02-29 Thread Jason Xing
From: Jason Xing Use the existing parameter and print it then. It will display the address of skbaddr. Signed-off-by: Jason Xing --- include/trace/events/tcp.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/trace/events/tcp.h b/include/trace/events/tcp.h index

[PATCH net-next 1/2] tcp: add tracing of skb/skaddr in tcp_event_sk_skb class

2024-02-29 Thread Jason Xing
From: Jason Xing Prio to this patch, the trace function doesn't print addresses which might be forgotten. As we can see, it already fetches those, use it directly and it will print like below: ...tcp_retransmit_skb: skbaddr=XXX skaddr=XXX family=AF_INET... Signed-off-by: Jason Xing

[PATCH net-next 0/3] trace: use TP_STORE_ADDRS macro

2024-03-10 Thread Jason Xing
From: Jason Xing Using the macro for other tracepoints use to be more concise. No functional change. Jason Xing (3): trace: move to TP_STORE_ADDRS related macro to net_probe_common.h trace: use TP_STORE_ADDRS() macro in inet_sk_error_report() trace: use TP_STORE_ADDRS() macro

[PATCH net-next 2/3] trace: use TP_STORE_ADDRS() macro in inet_sk_error_report()

2024-03-10 Thread Jason Xing
From: Jason Xing As the title said, use the macro directly like the patch[1] did to avoid those duplications. No functional change. [1] commit 6a6b0b9914e7 ("tcp: Avoid preprocessor directives in tracepoint macro args") Signed-off-by: Jason Xing --- include/trace/events/s

[PATCH net-next 1/3] trace: move to TP_STORE_ADDRS related macro to net_probe_common.h

2024-03-10 Thread Jason Xing
From: Jason Xing Put the macro into another standalone file for better extension. Some tracepoints can use this common part in the future. Signed-off-by: Jason Xing --- include/trace/events/net_probe_common.h | 29 + include/trace/events/tcp.h | 29

[PATCH net-next 3/3] trace: use TP_STORE_ADDRS() macro in inet_sock_set_state()

2024-03-10 Thread Jason Xing
From: Jason Xing As the title said, use the macro directly like the patch[1] did to avoid those duplications. No functional change. [1] commit 6a6b0b9914e7 ("tcp: Avoid preprocessor directives in tracepoint macro args") Signed-off-by: Jason Xing --- include/trace/events/s

[PATCH net-next 1/2] trace: adjust TP_STORE_ADDR_PORTS_SKB() parameters

2024-03-10 Thread Jason Xing
From: Jason Xing Introducing entry_saddr and entry_daddr parameters in this macro for later use can help us record the reverse 4-turple by analyzing the 4-turple of the incoming skb when receiving. Signed-off-by: Jason Xing --- include/trace/events/tcp.h | 21 +++-- 1 file

[PATCH net-next 2/2] trace: tcp: fully support trace_tcp_send_reset

2024-03-10 Thread Jason Xing
From: Jason Xing Prior to this patch, what we can see by enabling trace_tcp_send is only happening under two circumstances: 1) active rst mode 2) non-active rst mode and based on the full socket That means the inconsistency occurs if we use tcpdump and trace simultaneously to see how rst

[PATCH net-next 0/2] tcp: make trace of reset logic complete

2024-03-10 Thread Jason Xing
From: Jason Xing Before this, we miss some cases where the TCP layer could send rst but we cannot trace it. So I decided to complete it :) Jason Xing (2): trace: adjust TP_STORE_ADDR_PORTS_SKB() parameters trace: tcp: fully support trace_tcp_send_reset include/trace/events/tcp.h | 60

Re: [PATCH net-next 1/2] trace: adjust TP_STORE_ADDR_PORTS_SKB() parameters

2024-03-10 Thread Jason Xing
On Mon, Mar 11, 2024 at 11:23 AM Ratheesh Kannoth wrote: > > On 2024-03-11 at 08:11:03, Jason Xing (kerneljasonx...@gmail.com) wrote: > > From: Jason Xing > > > > Introducing entry_saddr and entry_daddr parameters in this macro > > for later use can help

Re: [PATCH net-next 2/2] trace: tcp: fully support trace_tcp_send_reset

2024-03-10 Thread Jason Xing
On Mon, Mar 11, 2024 at 11:27 AM Ratheesh Kannoth wrote: > > On 2024-03-11 at 08:11:04, Jason Xing (kerneljasonx...@gmail.com) wrote: > > From: Jason Xing > > > > Prior to this patch, what we can see by enabling trace_tcp_send is > > only happening under two circums

[PATCH net-next v2 0/3] tcp: make trace of reset logic complete

2024-03-25 Thread Jason Xing
From: Jason Xing Before this, we miss some cases where the TCP layer could send rst but we cannot trace it. So I decided to complete it :) v2 1. fix spelling mistakes Jason Xing (3): trace: adjust TP_STORE_ADDR_PORTS_SKB() parameters trace: tcp: fully support trace_tcp_send_reset tcp

[PATCH net-next v2 2/3] trace: tcp: fully support trace_tcp_send_reset

2024-03-25 Thread Jason Xing
From: Jason Xing Prior to this patch, what we can see by enabling trace_tcp_send is only happening under two circumstances: 1) active rst mode 2) non-active rst mode and based on the full socket That means the inconsistency occurs if we use tcpdump and trace simultaneously to see how rst

[PATCH net-next 2/3] trace: use TP_STORE_ADDRS() macro in inet_sk_error_report()

2024-03-25 Thread Jason Xing
From: Jason Xing As the title said, use the macro directly like the patch[1] did to avoid those duplications. No functional change. [1] commit 6a6b0b9914e7 ("tcp: Avoid preprocessor directives in tracepoint macro args") Signed-off-by: Jason Xing --- include/trace/events/s

[PATCH net-next 3/3] trace: use TP_STORE_ADDRS() macro in inet_sock_set_state()

2024-03-25 Thread Jason Xing
From: Jason Xing As the title said, use the macro directly like the patch[1] did to avoid those duplications. No functional change. [1] commit 6a6b0b9914e7 ("tcp: Avoid preprocessor directives in tracepoint macro args") Signed-off-by: Jason Xing --- include/trace/events/s

[PATCH net-next 0/3] trace: use TP_STORE_ADDRS macro

2024-03-25 Thread Jason Xing
From: Jason Xing Using the macro for other tracepoints use to be more concise. No functional change. Jason Xing (3): trace: move to TP_STORE_ADDRS related macro to net_probe_common.h trace: use TP_STORE_ADDRS() macro in inet_sk_error_report() trace: use TP_STORE_ADDRS() macro

[PATCH net-next v2 1/3] trace: adjust TP_STORE_ADDR_PORTS_SKB() parameters

2024-03-25 Thread Jason Xing
From: Jason Xing Introducing entry_saddr and entry_daddr parameters in this macro for later use can help us record the reverse 4-tuple by analyzing the 4-tuple of the incoming skb when receiving. Signed-off-by: Jason Xing --- include/trace/events/tcp.h | 21 +++-- 1 file

[PATCH net-next 1/3] trace: move to TP_STORE_ADDRS related macro to net_probe_common.h

2024-03-25 Thread Jason Xing
From: Jason Xing Put the macro into another standalone file for better extension. Some tracepoints can use this common part in the future. Signed-off-by: Jason Xing --- include/trace/events/net_probe_common.h | 29 + include/trace/events/tcp.h | 29

[PATCH net-next v2 3/3] tcp: add location into reset trace process

2024-03-25 Thread Jason Xing
From: Jason Xing In addition to knowing the 4-tuple of the flow which generates RST, the reason why it does so is very important because we have some cases where the RST should be sent and have no clue which one exactly. Adding location of reset process can help us more, like what

Re: [PATCH net-next v2 0/3] tcp: make trace of reset logic complete

2024-03-25 Thread Jason Xing
On Tue, Mar 26, 2024 at 9:30 AM Jakub Kicinski wrote: > > On Mon, 25 Mar 2024 14:28:28 +0800 Jason Xing wrote: > > Before this, we miss some cases where the TCP layer could send rst but > > we cannot trace it. So I decided to complete it :) > > > > v2 > > 1. f

Re: [PATCH net-next v2 0/3] tcp: make trace of reset logic complete

2024-03-25 Thread Jason Xing
On Tue, Mar 26, 2024 at 10:23 AM Jakub Kicinski wrote: > > On Tue, 26 Mar 2024 10:13:55 +0800 Jason Xing wrote: > > Yesterday, I posted two series to do two kinds of things. They are not > > the same. Maybe you get me wrong :S > > Ah, my bad, sorry about that. I see tha

Re: [PATCH net-next 0/3] trace: use TP_STORE_ADDRS macro

2024-03-25 Thread Jason Xing
On Mon, Mar 25, 2024 at 11:43 AM Jason Xing wrote: > > From: Jason Xing > > Using the macro for other tracepoints use to be more concise. > No functional change. > > Jason Xing (3): > trace: move to TP_STORE_ADDRS related macro to net_probe_common.h > trace:

[PATCH net-next 1/6] net: introduce rstreason to detect why the RST is sent

2024-04-03 Thread Jason Xing
From: Jason Xing Add a new standalone file for the easy future extension to support both active reset and passive reset in the TCP/DCCP/MPTCP protocols. This patch only does the preparations for reset reason mechanism, nothing else changes. The reset reasons are divided into three parts: 1

[PATCH net-next 2/6] rstreason: prepare for passive reset

2024-04-03 Thread Jason Xing
From: Jason Xing Adjust the paramenter and support passing reason of reset which is for now NOT_SPECIFIED. No functional changes. Signed-off-by: Jason Xing --- include/net/request_sock.h | 3 ++- net/dccp/ipv4.c| 10 ++ net/dccp/ipv6.c| 10 ++ net/dccp

[PATCH net-next 6/6] rstreason: make it work in trace world

2024-04-03 Thread Jason Xing
From: Jason Xing At last, we should let it work by introducing this reset reason in trace world. One of the possible expected outputs is: ... tcp_send_reset: skbaddr=xxx skaddr=xxx src=xxx dest=xxx state=TCP_ESTABLISHED reason=NOT_SPECIFIED Signed-off-by: Jason Xing --- include/trace/events

[PATCH net-next 3/6] rstreason: prepare for active reset

2024-04-03 Thread Jason Xing
From: Jason Xing Like what we did to passive reset: only passing possible reset reason in each active reset path. No functional changes. Signed-off-by: Jason Xing --- include/net/tcp.h | 2 +- net/ipv4/tcp.c| 15 ++- net/ipv4/tcp_output.c | 2 +- net/ipv4

[PATCH net-next 4/6] tcp: support rstreason for passive reset

2024-04-03 Thread Jason Xing
From: Jason Xing Reuse the dropreason logic to show the exact reason of tcp reset, so we don't need to implement those duplicated reset reasons. This patch replaces all the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/ipv4/tcp_ipv4.c | 8 net/ipv6/tcp_ipv6.c | 8

[PATCH net-next 5/6] mptcp: support rstreason for passive reset

2024-04-03 Thread Jason Xing
From: Jason Xing It relys on what reset options in MPTCP does as rfc8684 says. Reusing this logic can save us much energy. This patch replaces all the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/mptcp/subflow.c | 26 -- 1 file changed, 20 insertions

[PATCH net-next 0/6] Implement reset reason mechanism to detect

2024-04-03 Thread Jason Xing
From: Jason Xing In production, there are so many cases about why the RST skb is sent but we don't have a very convenient/fast method to detect the exact underlying reasons. RST is implemented in two kinds: passive kind (like tcp_v4_send_reset()) and active kind (like tcp_send_active_reset

Re: [PATCH net-next 0/6] Implement reset reason mechanism to detect

2024-04-03 Thread Jason Xing
On Thu, Apr 4, 2024 at 9:50 AM Jakub Kicinski wrote: > > On Wed, 3 Apr 2024 15:31:38 +0800 Jason Xing wrote: > > It's based on top of > > https://patchwork.kernel.org/project/netdevbpf/list/?series=840182 > > Please post as RFC if there's a dependency. > We

Re: [PATCH net-next v2 5/6] mptcp: support rstreason for passive reset

2024-04-04 Thread Jason Xing
Hello Mat, On Fri, Apr 5, 2024 at 4:33 AM Mat Martineau wrote: > > On Thu, 4 Apr 2024, Jason Xing wrote: > > > From: Jason Xing > > > > It relys on what reset options in MPTCP does as rfc8684 says. Reusing > > this logic can save us much energy.

[PATCH net-next v3 6/6] rstreason: make it work in trace world

2024-04-09 Thread Jason Xing
From: Jason Xing At last, we should let it work by introducing this reset reason in trace world. One of the possible expected outputs is: ... tcp_send_reset: skbaddr=xxx skaddr=xxx src=xxx dest=xxx state=TCP_ESTABLISHED reason=NOT_SPECIFIED Signed-off-by: Jason Xing --- include/trace/events

[PATCH net-next v3 4/6] tcp: support rstreason for passive reset

2024-04-09 Thread Jason Xing
From: Jason Xing Reuse the dropreason logic to show the exact reason of tcp reset, so we don't need to implement those duplicated reset reasons. This patch replaces all the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/ipv4/tcp_ipv4.c | 8 net/ipv6/tcp_ipv6.c | 8

[PATCH net-next v3 5/6] mptcp: support rstreason for passive reset

2024-04-09 Thread Jason Xing
From: Jason Xing It relys on what reset options in the skb are as rfc8684 says. Reusing this logic can save us much energy. This patch replaces most of the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/mptcp/subflow.c | 18 +- 1 file changed, 13 insertions

[PATCH net-next v3 2/6] rstreason: prepare for passive reset

2024-04-09 Thread Jason Xing
From: Jason Xing Adjust the parameter and support passing reason of reset which is for now NOT_SPECIFIED. No functional changes. Signed-off-by: Jason Xing --- include/net/request_sock.h | 3 ++- net/dccp/ipv4.c| 10 ++ net/dccp/ipv6.c| 10 ++ net/dccp

[PATCH net-next v3 3/6] rstreason: prepare for active reset

2024-04-09 Thread Jason Xing
From: Jason Xing Like what we did to passive reset: only passing possible reset reason in each active reset path. No functional changes. Signed-off-by: Jason Xing --- include/net/tcp.h | 2 +- net/ipv4/tcp.c| 15 ++- net/ipv4/tcp_output.c | 2 +- net/ipv4

[PATCH net-next v3 1/6] net: introduce rstreason to detect why the RST is sent

2024-04-09 Thread Jason Xing
From: Jason Xing Add a new standalone file for the easy future extension to support both active reset and passive reset in the TCP/DCCP/MPTCP protocols. This patch only does the preparations for reset reason mechanism, nothing else changes. The reset reasons are divided into three parts: 1

[PATCH net-next v3 0/6] Implement reset reason mechanism to detect

2024-04-09 Thread Jason Xing
From: Jason Xing In production, there are so many cases about why the RST skb is sent but we don't have a very convenient/fast method to detect the exact underlying reasons. RST is implemented in two kinds: passive kind (like tcp_v4_send_reset()) and active kind (like tcp_send_active_reset

Re: [PATCH net-next v3 6/6] rstreason: make it work in trace world

2024-04-09 Thread Jason Xing
Hi Steven, On Tue, Apr 9, 2024 at 11:36 PM Steven Rostedt wrote: > > On Tue, 9 Apr 2024 18:09:34 +0800 > Jason Xing wrote: > > > /* > > * tcp event with arguments sk and skb > > @@ -74,20 +75,38 @@ DEFINE_EVENT(tcp_event_sk_skb, tcp_retransmit_

[PATCH net-next v2 1/6] net: introduce rstreason to detect why the RST is sent

2024-04-04 Thread Jason Xing
From: Jason Xing Add a new standalone file for the easy future extension to support both active reset and passive reset in the TCP/DCCP/MPTCP protocols. This patch only does the preparations for reset reason mechanism, nothing else changes. The reset reasons are divided into three parts: 1

[PATCH net-next v2 2/6] rstreason: prepare for passive reset

2024-04-04 Thread Jason Xing
From: Jason Xing Adjust the paramenter and support passing reason of reset which is for now NOT_SPECIFIED. No functional changes. Signed-off-by: Jason Xing --- include/net/request_sock.h | 3 ++- net/dccp/ipv4.c| 10 ++ net/dccp/ipv6.c| 10 ++ net/dccp

[PATCH net-next v2 6/6] rstreason: make it work in trace world

2024-04-04 Thread Jason Xing
From: Jason Xing At last, we should let it work by introducing this reset reason in trace world. One of the possible expected outputs is: ... tcp_send_reset: skbaddr=xxx skaddr=xxx src=xxx dest=xxx state=TCP_ESTABLISHED reason=NOT_SPECIFIED Signed-off-by: Jason Xing --- include/trace/events

[PATCH net-next 0/6] Implement reset reason mechanism to detect

2024-04-04 Thread Jason Xing
From: Jason Xing In production, there are so many cases about why the RST skb is sent but we don't have a very convenient/fast method to detect the exact underlying reasons. RST is implemented in two kinds: passive kind (like tcp_v4_send_reset()) and active kind (like tcp_send_active_reset

[PATCH net-next v2 5/6] mptcp: support rstreason for passive reset

2024-04-04 Thread Jason Xing
From: Jason Xing It relys on what reset options in MPTCP does as rfc8684 says. Reusing this logic can save us much energy. This patch replaces all the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/mptcp/subflow.c | 26 -- 1 file changed, 20 insertions

[PATCH net-next v2 3/6] rstreason: prepare for active reset

2024-04-04 Thread Jason Xing
From: Jason Xing Like what we did to passive reset: only passing possible reset reason in each active reset path. No functional changes. Signed-off-by: Jason Xing --- include/net/tcp.h | 2 +- net/ipv4/tcp.c| 15 ++- net/ipv4/tcp_output.c | 2 +- net/ipv4

[PATCH net-next v2 4/6] tcp: support rstreason for passive reset

2024-04-04 Thread Jason Xing
From: Jason Xing Reuse the dropreason logic to show the exact reason of tcp reset, so we don't need to implement those duplicated reset reasons. This patch replaces all the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/ipv4/tcp_ipv4.c | 8 net/ipv6/tcp_ipv6.c | 8

[PATCH net-next v3 2/3] trace: tcp: fully support trace_tcp_send_reset

2024-03-28 Thread Jason Xing
From: Jason Xing Prior to this patch, what we can see by enabling trace_tcp_send is only happening under two circumstances: 1) active rst mode 2) non-active rst mode and based on the full socket That means the inconsistency occurs if we use tcpdump and trace simultaneously to see how rst

[PATCH net-next v3 1/3] trace: adjust TP_STORE_ADDR_PORTS_SKB() parameters

2024-03-28 Thread Jason Xing
From: Jason Xing Introducing entry_saddr and entry_daddr parameters in this macro for later use can help us record the reverse 4-tuple by analyzing the 4-tuple of the incoming skb when receiving. Signed-off-by: Jason Xing --- include/trace/events/tcp.h | 21 +++-- 1 file

[PATCH net-next v3 0/3] tcp: make trace of reset logic complete

2024-03-28 Thread Jason Xing
From: Jason Xing Before this, we miss some cases where the TCP layer could send RST but we cannot trace it. So I decided to complete it :) v3 1. fix a format problem in patch [3/3] v2 1. fix spelling mistakes Jason Xing (3): trace: adjust TP_STORE_ADDR_PORTS_SKB() parameters trace: tcp

Re: [PATCH net-next v2 3/3] tcp: add location into reset trace process

2024-03-28 Thread Jason Xing
On Fri, Mar 29, 2024 at 9:15 AM Jakub Kicinski wrote: > > On Tue, 26 Mar 2024 12:08:01 +0100 Paolo Abeni wrote: > > > - TP_PROTO(const struct sock *sk, const struct sk_buff *skb), > > > + TP_PROTO( > > > + const struct sock *sk, > > > + const struct sk_buff *skb, > > > +

[PATCH net-next v3 3/3] tcp: add location into reset trace process

2024-03-28 Thread Jason Xing
From: Jason Xing In addition to knowing the 4-tuple of the flow which generates RST, the reason why it does so is very important because we have some cases where the RST should be sent and have no clue which one exactly. Adding location of reset process can help us more, like what

Re: [PATCH net-next v3 3/3] tcp: add location into reset trace process

2024-03-29 Thread Jason Xing
On Fri, Mar 29, 2024 at 5:13 PM Eric Dumazet wrote: > > On Fri, Mar 29, 2024 at 4:43 AM Jason Xing wrote: > > > > From: Jason Xing > > > > In addition to knowing the 4-tuple of the flow which generates RST, > > the reason why it does so is very important

Re: [PATCH net-next v3 2/3] trace: tcp: fully support trace_tcp_send_reset

2024-03-29 Thread Jason Xing
On Fri, Mar 29, 2024 at 5:07 PM Eric Dumazet wrote: > > On Fri, Mar 29, 2024 at 4:43 AM Jason Xing wrote: > > > > From: Jason Xing > > > > Prior to this patch, what we can see by enabling trace_tcp_send is > > only happening under two circumstances: > >

Re: [PATCH net-next 0/3] trace: use TP_STORE_ADDRS macro

2024-03-26 Thread Jason Xing
On Tue, Mar 26, 2024 at 6:29 PM Paolo Abeni wrote: > > On Tue, 2024-03-26 at 12:14 +0800, Jason Xing wrote: > > On Mon, Mar 25, 2024 at 11:43 AM Jason Xing > > wrote: > > > > > > From: Jason Xing > > > > > > Using the macro for other t

Re: [PATCH net-next 0/3] trace: use TP_STORE_ADDRS macro

2024-03-26 Thread Jason Xing
On Tue, Mar 26, 2024 at 9:18 PM Eric Dumazet wrote: > > On Tue, Mar 26, 2024 at 11:44 AM Jason Xing wrote: > > > Well, it's a pity that it seems that we are about to abandon this > > method but it's not that friendly to the users who are unable to > > dep

[PATCH net-next v4 0/2] tcp: make trace of reset logic complete

2024-04-01 Thread Jason Xing
From: Jason Xing Before this, we miss some cases where the TCP layer could send RST but we cannot trace it. So I decided to complete it :) v4 Link: https://lore.kernel.org/all/20240329034243.7929-1-kerneljasonx...@gmail.com/ 1. rebased against latest net-next 2. remove {} and add skb test

[PATCH net-next v4 1/2] trace: adjust TP_STORE_ADDR_PORTS_SKB() parameters

2024-04-01 Thread Jason Xing
From: Jason Xing Introducing entry_saddr and entry_daddr parameters in this macro for later use can help us record the reverse 4-tuple by analyzing the 4-tuple of the incoming skb when receiving. Signed-off-by: Jason Xing Reviewed-by: Eric Dumazet --- include/trace/events/net_probe_common.h

[PATCH net-next v4 2/2] trace: tcp: fully support trace_tcp_send_reset

2024-04-01 Thread Jason Xing
From: Jason Xing Prior to this patch, what we can see by enabling trace_tcp_send is only happening under two circumstances: 1) active rst mode 2) non-active rst mode and based on the full socket That means the inconsistency occurs if we use tcpdump and trace simultaneously to see how rst

Re: [PATCH net-next v3 2/6] rstreason: prepare for passive reset

2024-04-10 Thread Jason Xing
Hi Antoine, On Wed, Apr 10, 2024 at 8:14 PM Antoine Tenart wrote: > > Quoting Jason Xing (2024-04-09 12:09:30) > > void(*send_reset)(const struct sock *sk, > > - struct sk_buff *skb); > > +

Re: [PATCH net-next v3 2/6] rstreason: prepare for passive reset

2024-04-10 Thread Jason Xing
On Wed, Apr 10, 2024 at 9:21 PM Antoine Tenart wrote: > > Quoting Jason Xing (2024-04-10 14:54:51) > > Hi Antoine, > > > > On Wed, Apr 10, 2024 at 8:14 PM Antoine Tenart wrote: > > > > > > Quoting Jason Xing (2024-04-09 12:09:30) > > > >

[PATCH net-next v6 2/7] rstreason: prepare for passive reset

2024-04-17 Thread Jason Xing
From: Jason Xing Adjust the parameter and support passing reason of reset which is for now NOT_SPECIFIED. No functional changes. Signed-off-by: Jason Xing --- include/net/request_sock.h | 4 +++- net/dccp/ipv4.c| 10 ++ net/dccp/ipv6.c| 10 ++ net/dccp

[PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-17 Thread Jason Xing
From: Jason Xing In production, there are so many cases about why the RST skb is sent but we don't have a very convenient/fast method to detect the exact underlying reasons. RST is implemented in two kinds: passive kind (like tcp_v4_send_reset()) and active kind (like tcp_send_active_reset

[PATCH net-next v6 1/7] net: introduce rstreason to detect why the RST is sent

2024-04-17 Thread Jason Xing
From: Jason Xing Add a new standalone file for the easy future extension to support both active reset and passive reset in the TCP/DCCP/MPTCP protocols. This patch only does the preparations for reset reason mechanism, nothing else changes. The reset reasons are divided into three parts: 1

[PATCH net-next v6 3/7] rstreason: prepare for active reset

2024-04-17 Thread Jason Xing
From: Jason Xing Like what we did to passive reset: only passing possible reset reason in each active reset path. No functional changes. Signed-off-by: Jason Xing --- include/net/tcp.h | 3 ++- net/ipv4/tcp.c| 15 ++- net/ipv4/tcp_output.c | 3 ++- net/ipv4

[PATCH net-next v6 4/7] tcp: support rstreason for passive reset

2024-04-17 Thread Jason Xing
From: Jason Xing Reuse the dropreason logic to show the exact reason of tcp reset, so we don't need to implement those duplicated reset reasons. This patch replaces all the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/ipv4/tcp_ipv4.c | 8 net/ipv6/tcp_ipv6.c | 8

[PATCH net-next v6 5/7] mptcp: support rstreason for passive reset

2024-04-17 Thread Jason Xing
From: Jason Xing It relys on what reset options in the skb are as rfc8684 says. Reusing this logic can save us much energy. This patch replaces most of the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/mptcp/subflow.c | 22 +- 1 file changed, 17 insertions

[PATCH net-next v6 7/7] rstreason: make it work in trace world

2024-04-17 Thread Jason Xing
From: Jason Xing At last, we should let it work by introducing this reset reason in trace world. One of the possible expected outputs is: ... tcp_send_reset: skbaddr=xxx skaddr=xxx src=xxx dest=xxx state=TCP_ESTABLISHED reason=NOT_SPECIFIED Signed-off-by: Jason Xing Reviewed-by: Steven

[PATCH net-next v6 6/7] mptcp: introducing a helper into active reset logic

2024-04-17 Thread Jason Xing
From: Jason Xing Since we have mapped every mptcp reset reason definition in enum sk_rst_reason, introducing a new helper can cover some missing places where we have already set the subflow->reset_reason. Note: using SK_RST_REASON_NOT_SPECIFIED is the same as SK_RST_REASON_MPTCP_RST_EUNS

Re: [PATCH net-next v6 1/7] net: introduce rstreason to detect why the RST is sent

2024-04-17 Thread Jason Xing
Hello Eric, On Wed, Apr 17, 2024 at 5:02 PM Eric Dumazet wrote: > > On Wed, Apr 17, 2024 at 10:51 AM Jason Xing wrote: > > > > From: Jason Xing > > > > Add a new standalone file for the easy future extension to support > > both active reset and passive r

[PATCH net-next v6 3/7] rstreason: prepare for active reset

2024-04-18 Thread Jason Xing
From: Jason Xing Like what we did to passive reset: only passing possible reset reason in each active reset path. No functional changes. Signed-off-by: Jason Xing --- include/net/tcp.h | 3 ++- net/ipv4/tcp.c| 15 ++- net/ipv4/tcp_output.c | 3 ++- net/ipv4

[PATCH net-next v6 4/7] tcp: support rstreason for passive reset

2024-04-18 Thread Jason Xing
From: Jason Xing Reuse the dropreason logic to show the exact reason of tcp reset, so we don't need to implement those duplicated reset reasons. This patch replaces all the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/ipv4/tcp_ipv4.c | 8 net/ipv6/tcp_ipv6.c | 8

[PATCH net-next v6 2/7] rstreason: prepare for passive reset

2024-04-18 Thread Jason Xing
From: Jason Xing Adjust the parameter and support passing reason of reset which is for now NOT_SPECIFIED. No functional changes. Signed-off-by: Jason Xing --- include/net/request_sock.h | 4 +++- net/dccp/ipv4.c| 10 ++ net/dccp/ipv6.c| 10 ++ net/dccp

[PATCH net-next v6 5/7] mptcp: support rstreason for passive reset

2024-04-18 Thread Jason Xing
From: Jason Xing It relys on what reset options in the skb are as rfc8684 says. Reusing this logic can save us much energy. This patch replaces most of the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/mptcp/subflow.c | 22 +- 1 file changed, 17 insertions

[PATCH net-next v6 6/7] mptcp: introducing a helper into active reset logic

2024-04-18 Thread Jason Xing
From: Jason Xing Since we have mapped every mptcp reset reason definition in enum sk_rst_reason, introducing a new helper can cover some missing places where we have already set the subflow->reset_reason. Note: using SK_RST_REASON_NOT_SPECIFIED is the same as SK_RST_REASON_MPTCP_RST_EUNS

[PATCH net-next v6 1/7] net: introduce rstreason to detect why the RST is sent

2024-04-18 Thread Jason Xing
From: Jason Xing Add a new standalone file for the easy future extension to support both active reset and passive reset in the TCP/DCCP/MPTCP protocols. This patch only does the preparations for reset reason mechanism, nothing else changes. The reset reasons are divided into three parts: 1

[PATCH net-next RESEND v6 0/7] Implement reset reason mechanism to detect

2024-04-18 Thread Jason Xing
From: Jason Xing In production, there are so many cases about why the RST skb is sent but we don't have a very convenient/fast method to detect the exact underlying reasons. RST is implemented in two kinds: passive kind (like tcp_v4_send_reset()) and active kind (like tcp_send_active_reset

[PATCH net-next v6 7/7] rstreason: make it work in trace world

2024-04-18 Thread Jason Xing
From: Jason Xing At last, we should let it work by introducing this reset reason in trace world. One of the possible expected outputs is: ... tcp_send_reset: skbaddr=xxx skaddr=xxx src=xxx dest=xxx state=TCP_ESTABLISHED reason=NOT_SPECIFIED Signed-off-by: Jason Xing Reviewed-by: Steven

Re: [PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-19 Thread Jason Xing
Hello Steven, On Sat, Apr 20, 2024 at 10:36 AM Steven Rostedt wrote: > > On Fri, 19 Apr 2024 16:00:20 +0800 > Jason Xing wrote: > > > If other experts see this thread, please help me. I would appreciate > > it. I have strong interests and feel strong responsibility to

Re: [PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-18 Thread Jason Xing
On Thu, Apr 18, 2024 at 11:46 PM Jakub Kicinski wrote: > > On Thu, 18 Apr 2024 11:30:02 +0800 Jason Xing wrote: > > I'm not sure why the patch series has been changed to 'Changes > > Requested', until now I don't think I need to change something. > > > > Should

Re: [PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-18 Thread Jason Xing
On Fri, Apr 19, 2024 at 2:51 AM Eric Dumazet wrote: > > On Thu, Apr 18, 2024 at 6:24 PM Jason Xing wrote: > > > > On Thu, Apr 18, 2024 at 11:46 PM Jakub Kicinski wrote: > > > > > > On Thu, 18 Apr 2024 11:30:02 +0800 Jason Xing wrote: > > > > I'

Re: [PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-18 Thread Jason Xing
On Fri, Apr 19, 2024 at 6:29 AM Jason Xing wrote: > > On Fri, Apr 19, 2024 at 2:51 AM Eric Dumazet wrote: > > > > On Thu, Apr 18, 2024 at 6:24 PM Jason Xing > > wrote: > > > > > > On Thu, Apr 18, 2024 at 11:46 PM Jakub Kicinski wrote: > > >

Re: [PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-18 Thread Jason Xing
> When I said "If you feel the need to put them in a special group, this > is fine by me.", > this was really about partitioning the existing enum into groups, if > you prefer having a group of 'RES reasons' Are you suggesting copying what we need from enum skb_drop_reason{} to enum

Re: [PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-19 Thread Jason Xing
On Fri, Apr 19, 2024 at 4:00 PM Jason Xing wrote: > > On Fri, Apr 19, 2024 at 3:44 PM Eric Dumazet wrote: > > > > On Fri, Apr 19, 2024 at 9:29 AM Jason Xing > > wrote: > > > > > > On Fri, Apr 19, 2024 at 3:02 PM Eric Dumazet wrote: > > > &

Re: [PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-19 Thread Jason Xing
On Fri, Apr 19, 2024 at 3:44 PM Eric Dumazet wrote: > > On Fri, Apr 19, 2024 at 9:29 AM Jason Xing wrote: > > > > On Fri, Apr 19, 2024 at 3:02 PM Eric Dumazet wrote: > > > > > > On Fri, Apr 19, 2024 at 4:31 AM Jason Xing > > > wrote: > > >

Re: [PATCH net-next v6 0/7] Implement reset reason mechanism to detect

2024-04-18 Thread Jason Xing
On Fri, Apr 19, 2024 at 7:26 AM Jason Xing wrote: > > > When I said "If you feel the need to put them in a special group, this > > is fine by me.", > > this was really about partitioning the existing enum into groups, if > > you prefer having a group of

Re: [PATCH net-next v7 1/7] net: introduce rstreason to detect why the RST is sent

2024-04-22 Thread Jason Xing
Hello Matthieu, On Mon, Apr 22, 2024 at 4:47 PM Matthieu Baerts wrote: > > Hi Jason, > > On 22/04/2024 05:01, Jason Xing wrote: > > From: Jason Xing > > > > Add a new standalone file for the easy future extension to support > > both active reset and passive r

Re: [PATCH net-next v7 1/7] net: introduce rstreason to detect why the RST is sent

2024-04-22 Thread Jason Xing
On Tue, Apr 23, 2024 at 10:14 AM Jason Xing wrote: > > Hi Simon, > > On Tue, Apr 23, 2024 at 2:28 AM Simon Horman wrote: > > > > On Mon, Apr 22, 2024 at 11:01:03AM +0800, Jason Xing wrote: > > > > ... > > > > > diff --git

Re: [PATCH net-next v7 1/7] net: introduce rstreason to detect why the RST is sent

2024-04-22 Thread Jason Xing
Hi Simon, On Tue, Apr 23, 2024 at 2:28 AM Simon Horman wrote: > > On Mon, Apr 22, 2024 at 11:01:03AM +0800, Jason Xing wrote: > > ... > > > diff --git a/include/net/rstreason.h b/include/net/rstreason.h > > ... > > > +/** > > + * There are three parts

[PATCH net-next v8 0/7] Implement reset reason mechanism to detect

2024-04-23 Thread Jason Xing
From: Jason Xing In production, there are so many cases about why the RST skb is sent but we don't have a very convenient/fast method to detect the exact underlying reasons. RST is implemented in two kinds: passive kind (like tcp_v4_send_reset()) and active kind (like tcp_send_active_reset

[PATCH net-next v8 5/7] mptcp: support rstreason for passive reset

2024-04-23 Thread Jason Xing
From: Jason Xing It relys on what reset options in the skb are as rfc8684 says. Reusing this logic can save us much energy. This patch replaces most of the prior NOT_SPECIFIED reasons. Signed-off-by: Jason Xing --- net/mptcp/protocol.h | 28 net/mptcp/subflow.c

[PATCH net-next v8 6/7] mptcp: introducing a helper into active reset logic

2024-04-23 Thread Jason Xing
From: Jason Xing Since we have mapped every mptcp reset reason definition in enum sk_rst_reason, introducing a new helper can cover some missing places where we have already set the subflow->reset_reason. Note: using SK_RST_REASON_NOT_SPECIFIED is the same as SK_RST_REASON_MPTCP_RST_EUNS

[PATCH net-next v8 7/7] rstreason: make it work in trace world

2024-04-23 Thread Jason Xing
From: Jason Xing At last, we should let it work by introducing this reset reason in trace world. One of the possible expected outputs is: ... tcp_send_reset: skbaddr=xxx skaddr=xxx src=xxx dest=xxx state=TCP_ESTABLISHED reason=NOT_SPECIFIED Signed-off-by: Jason Xing Reviewed-by: Steven

[PATCH net-next v8 2/7] rstreason: prepare for passive reset

2024-04-23 Thread Jason Xing
From: Jason Xing Adjust the parameter and support passing reason of reset which is for now NOT_SPECIFIED. No functional changes. Signed-off-by: Jason Xing --- include/net/request_sock.h | 4 +++- net/dccp/ipv4.c| 10 ++ net/dccp/ipv6.c| 10 ++ net/dccp

[PATCH net-next v8 1/7] net: introduce rstreason to detect why the RST is sent

2024-04-23 Thread Jason Xing
From: Jason Xing Add a new standalone file for the easy future extension to support both active reset and passive reset in the TCP/DCCP/MPTCP protocols. This patch only does the preparations for reset reason mechanism, nothing else changes. The reset reasons are divided into three parts: 1

  1   2   >