Message ID | 20240219032838.91723-7-kerneljasonxing@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | introduce drop reasons for tcp receive path | expand |
From: Jason Xing <kerneljasonxing@gmail.com> Date: Mon, 19 Feb 2024 11:28:33 +0800 > From: Jason Xing <kernelxing@tencent.com> > > Soon later patches can use these relatively more accurate > reasons to recognise and find out the cause. > > Signed-off-by: Jason Xing <kernelxing@tencent.com> > -- > v5: > Link: https://lore.kernel.org/netdev/3a495358-4c47-4a9f-b116-5f9c8b44e5ab@kernel.org/ > 1. Use new name (TCP_ABORT_ON_DATA) for readability (David) > 2. change the title of this patch > --- > include/net/dropreason-core.h | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/include/net/dropreason-core.h b/include/net/dropreason-core.h > index 3c867384dead..402367bfa56f 100644 > --- a/include/net/dropreason-core.h > +++ b/include/net/dropreason-core.h > @@ -30,6 +30,7 @@ > FN(TCP_AOFAILURE) \ > FN(SOCKET_BACKLOG) \ > FN(TCP_FLAGS) \ > + FN(TCP_ABORT_ON_DATA) \ > FN(TCP_ZEROWINDOW) \ > FN(TCP_OLD_DATA) \ > FN(TCP_OVERWINDOW) \ > @@ -37,6 +38,7 @@ > FN(TCP_RFC7323_PAWS) \ > FN(TCP_OLD_SEQUENCE) \ > FN(TCP_INVALID_SEQUENCE) \ > + FN(TCP_INVALID_ACK_SEQUENCE) \ > FN(TCP_RESET) \ > FN(TCP_INVALID_SYN) \ > FN(TCP_CLOSE) \ > @@ -204,6 +206,11 @@ enum skb_drop_reason { > SKB_DROP_REASON_SOCKET_BACKLOG, > /** @SKB_DROP_REASON_TCP_FLAGS: TCP flags invalid */ > SKB_DROP_REASON_TCP_FLAGS, > + /** > + * @SKB_DROP_REASON_TCP_ABORT_ON_DATA: abort on data, corresponding to > + * LINUX_MIB_TCPABORTONDATA > + */ > + SKB_DROP_REASON_TCP_ABORT_ON_DATA, > /** > * @SKB_DROP_REASON_TCP_ZEROWINDOW: TCP receive window size is zero, > * see LINUX_MIB_TCPZEROWINDOWDROP > @@ -228,13 +235,19 @@ enum skb_drop_reason { > SKB_DROP_REASON_TCP_OFOMERGE, > /** > * @SKB_DROP_REASON_TCP_RFC7323_PAWS: PAWS check, corresponding to > - * LINUX_MIB_PAWSESTABREJECTED > + * LINUX_MIB_PAWSESTABREJECTED, LINUX_MIB_PAWSACTIVEREJECTED > */ > SKB_DROP_REASON_TCP_RFC7323_PAWS, > /** @SKB_DROP_REASON_TCP_OLD_SEQUENCE: Old SEQ field (duplicate packet) */ > SKB_DROP_REASON_TCP_OLD_SEQUENCE, > /** @SKB_DROP_REASON_TCP_INVALID_SEQUENCE: Not acceptable SEQ field */ > SKB_DROP_REASON_TCP_INVALID_SEQUENCE, > + /** > + * @SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE: Not acceptable ACK SEQ > + * field. because of ack sequence is not in the window between snd_una nit: s/. because of/ because/ > + * and snd_nxt > + */ > + SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE, > /** @SKB_DROP_REASON_TCP_RESET: Invalid RST packet */ > SKB_DROP_REASON_TCP_RESET, > /** > -- > 2.37.3 >
On Mon, Feb 19, 2024 at 12:47 PM Kuniyuki Iwashima <kuniyu@amazon.com> wrote: > > From: Jason Xing <kerneljasonxing@gmail.com> > Date: Mon, 19 Feb 2024 11:28:33 +0800 > > From: Jason Xing <kernelxing@tencent.com> > > > > Soon later patches can use these relatively more accurate > > reasons to recognise and find out the cause. > > > > Signed-off-by: Jason Xing <kernelxing@tencent.com> > > -- > > v5: > > Link: https://lore.kernel.org/netdev/3a495358-4c47-4a9f-b116-5f9c8b44e5ab@kernel.org/ > > 1. Use new name (TCP_ABORT_ON_DATA) for readability (David) > > 2. change the title of this patch > > --- > > include/net/dropreason-core.h | 15 ++++++++++++++- > > 1 file changed, 14 insertions(+), 1 deletion(-) > > > > diff --git a/include/net/dropreason-core.h b/include/net/dropreason-core.h > > index 3c867384dead..402367bfa56f 100644 > > --- a/include/net/dropreason-core.h > > +++ b/include/net/dropreason-core.h > > @@ -30,6 +30,7 @@ > > FN(TCP_AOFAILURE) \ > > FN(SOCKET_BACKLOG) \ > > FN(TCP_FLAGS) \ > > + FN(TCP_ABORT_ON_DATA) \ > > FN(TCP_ZEROWINDOW) \ > > FN(TCP_OLD_DATA) \ > > FN(TCP_OVERWINDOW) \ > > @@ -37,6 +38,7 @@ > > FN(TCP_RFC7323_PAWS) \ > > FN(TCP_OLD_SEQUENCE) \ > > FN(TCP_INVALID_SEQUENCE) \ > > + FN(TCP_INVALID_ACK_SEQUENCE) \ > > FN(TCP_RESET) \ > > FN(TCP_INVALID_SYN) \ > > FN(TCP_CLOSE) \ > > @@ -204,6 +206,11 @@ enum skb_drop_reason { > > SKB_DROP_REASON_SOCKET_BACKLOG, > > /** @SKB_DROP_REASON_TCP_FLAGS: TCP flags invalid */ > > SKB_DROP_REASON_TCP_FLAGS, > > + /** > > + * @SKB_DROP_REASON_TCP_ABORT_ON_DATA: abort on data, corresponding to > > + * LINUX_MIB_TCPABORTONDATA > > + */ > > + SKB_DROP_REASON_TCP_ABORT_ON_DATA, > > /** > > * @SKB_DROP_REASON_TCP_ZEROWINDOW: TCP receive window size is zero, > > * see LINUX_MIB_TCPZEROWINDOWDROP > > @@ -228,13 +235,19 @@ enum skb_drop_reason { > > SKB_DROP_REASON_TCP_OFOMERGE, > > /** > > * @SKB_DROP_REASON_TCP_RFC7323_PAWS: PAWS check, corresponding to > > - * LINUX_MIB_PAWSESTABREJECTED > > + * LINUX_MIB_PAWSESTABREJECTED, LINUX_MIB_PAWSACTIVEREJECTED > > */ > > SKB_DROP_REASON_TCP_RFC7323_PAWS, > > /** @SKB_DROP_REASON_TCP_OLD_SEQUENCE: Old SEQ field (duplicate packet) */ > > SKB_DROP_REASON_TCP_OLD_SEQUENCE, > > /** @SKB_DROP_REASON_TCP_INVALID_SEQUENCE: Not acceptable SEQ field */ > > SKB_DROP_REASON_TCP_INVALID_SEQUENCE, > > + /** > > + * @SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE: Not acceptable ACK SEQ > > + * field. because of ack sequence is not in the window between snd_una > > nit: s/. because of/ because/ Thanks. Will update it. > > > > + * and snd_nxt > > + */ > > + SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE, > > /** @SKB_DROP_REASON_TCP_RESET: Invalid RST packet */ > > SKB_DROP_REASON_TCP_RESET, > > /** > > -- > > 2.37.3 > >
diff --git a/include/net/dropreason-core.h b/include/net/dropreason-core.h index 3c867384dead..402367bfa56f 100644 --- a/include/net/dropreason-core.h +++ b/include/net/dropreason-core.h @@ -30,6 +30,7 @@ FN(TCP_AOFAILURE) \ FN(SOCKET_BACKLOG) \ FN(TCP_FLAGS) \ + FN(TCP_ABORT_ON_DATA) \ FN(TCP_ZEROWINDOW) \ FN(TCP_OLD_DATA) \ FN(TCP_OVERWINDOW) \ @@ -37,6 +38,7 @@ FN(TCP_RFC7323_PAWS) \ FN(TCP_OLD_SEQUENCE) \ FN(TCP_INVALID_SEQUENCE) \ + FN(TCP_INVALID_ACK_SEQUENCE) \ FN(TCP_RESET) \ FN(TCP_INVALID_SYN) \ FN(TCP_CLOSE) \ @@ -204,6 +206,11 @@ enum skb_drop_reason { SKB_DROP_REASON_SOCKET_BACKLOG, /** @SKB_DROP_REASON_TCP_FLAGS: TCP flags invalid */ SKB_DROP_REASON_TCP_FLAGS, + /** + * @SKB_DROP_REASON_TCP_ABORT_ON_DATA: abort on data, corresponding to + * LINUX_MIB_TCPABORTONDATA + */ + SKB_DROP_REASON_TCP_ABORT_ON_DATA, /** * @SKB_DROP_REASON_TCP_ZEROWINDOW: TCP receive window size is zero, * see LINUX_MIB_TCPZEROWINDOWDROP @@ -228,13 +235,19 @@ enum skb_drop_reason { SKB_DROP_REASON_TCP_OFOMERGE, /** * @SKB_DROP_REASON_TCP_RFC7323_PAWS: PAWS check, corresponding to - * LINUX_MIB_PAWSESTABREJECTED + * LINUX_MIB_PAWSESTABREJECTED, LINUX_MIB_PAWSACTIVEREJECTED */ SKB_DROP_REASON_TCP_RFC7323_PAWS, /** @SKB_DROP_REASON_TCP_OLD_SEQUENCE: Old SEQ field (duplicate packet) */ SKB_DROP_REASON_TCP_OLD_SEQUENCE, /** @SKB_DROP_REASON_TCP_INVALID_SEQUENCE: Not acceptable SEQ field */ SKB_DROP_REASON_TCP_INVALID_SEQUENCE, + /** + * @SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE: Not acceptable ACK SEQ + * field. because of ack sequence is not in the window between snd_una + * and snd_nxt + */ + SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE, /** @SKB_DROP_REASON_TCP_RESET: Invalid RST packet */ SKB_DROP_REASON_TCP_RESET, /**