Message ID | 20240509131306.92931-3-kerneljasonxing@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | tcp: support rstreasons in the passive logic | expand |
On Thu, May 9, 2024 at 9:13 PM Jason Xing <kerneljasonxing@gmail.com> wrote: > > From: Jason Xing <kernelxing@tencent.com> > > Based on the existing skb drop reason, updating the rstreason map can > help us finish the rstreason job in this function. > > Signed-off-by: Jason Xing <kernelxing@tencent.com> > --- > include/net/rstreason.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/include/net/rstreason.h b/include/net/rstreason.h > index f87814a60205..a32b0fa17de2 100644 > --- a/include/net/rstreason.h > +++ b/include/net/rstreason.h > @@ -10,6 +10,8 @@ > FN(NO_SOCKET) \ > FN(TCP_INVALID_ACK_SEQUENCE) \ > FN(TCP_RFC7323_PAWS) \ > + FN(TCP_TOO_OLD_ACK) \ > + FN(TCP_ACK_UNSENT_DATA) \ > FN(MPTCP_RST_EUNSPEC) \ > FN(MPTCP_RST_EMPTCP) \ > FN(MPTCP_RST_ERESOURCE) \ > @@ -50,6 +52,10 @@ enum sk_rst_reason { > * LINUX_MIB_PAWSESTABREJECTED, LINUX_MIB_PAWSACTIVEREJECTED > */ > SK_RST_REASON_TCP_RFC7323_PAWS, > + /** @SK_RST_REASON_TCP_TOO_OLD_ACK: TCP ACK is too old */ > + SK_RST_REASON_TCP_TOO_OLD_ACK, > + /** @SK_RST_REASON_TCP_ACK_UNSENT_DATA */ I'll add the detailed comment into this kdoc which was found by patchwork in V2 series to make sure every item has its own explanation. Thanks, Jason > + SK_RST_REASON_TCP_ACK_UNSENT_DATA, > > /* Copy from include/uapi/linux/mptcp.h. > * These reset fields will not be changed since they adhere to > @@ -130,6 +136,10 @@ sk_rst_convert_drop_reason(enum skb_drop_reason reason) > return SK_RST_REASON_TCP_INVALID_ACK_SEQUENCE; > case SKB_DROP_REASON_TCP_RFC7323_PAWS: > return SK_RST_REASON_TCP_RFC7323_PAWS; > + case SKB_DROP_REASON_TCP_TOO_OLD_ACK: > + return SK_RST_REASON_TCP_TOO_OLD_ACK; > + case SKB_DROP_REASON_TCP_ACK_UNSENT_DATA: > + return SK_RST_REASON_TCP_ACK_UNSENT_DATA; > default: > /* If we don't have our own corresponding reason */ > return SK_RST_REASON_NOT_SPECIFIED; > -- > 2.37.3 >
diff --git a/include/net/rstreason.h b/include/net/rstreason.h index f87814a60205..a32b0fa17de2 100644 --- a/include/net/rstreason.h +++ b/include/net/rstreason.h @@ -10,6 +10,8 @@ FN(NO_SOCKET) \ FN(TCP_INVALID_ACK_SEQUENCE) \ FN(TCP_RFC7323_PAWS) \ + FN(TCP_TOO_OLD_ACK) \ + FN(TCP_ACK_UNSENT_DATA) \ FN(MPTCP_RST_EUNSPEC) \ FN(MPTCP_RST_EMPTCP) \ FN(MPTCP_RST_ERESOURCE) \ @@ -50,6 +52,10 @@ enum sk_rst_reason { * LINUX_MIB_PAWSESTABREJECTED, LINUX_MIB_PAWSACTIVEREJECTED */ SK_RST_REASON_TCP_RFC7323_PAWS, + /** @SK_RST_REASON_TCP_TOO_OLD_ACK: TCP ACK is too old */ + SK_RST_REASON_TCP_TOO_OLD_ACK, + /** @SK_RST_REASON_TCP_ACK_UNSENT_DATA */ + SK_RST_REASON_TCP_ACK_UNSENT_DATA, /* Copy from include/uapi/linux/mptcp.h. * These reset fields will not be changed since they adhere to @@ -130,6 +136,10 @@ sk_rst_convert_drop_reason(enum skb_drop_reason reason) return SK_RST_REASON_TCP_INVALID_ACK_SEQUENCE; case SKB_DROP_REASON_TCP_RFC7323_PAWS: return SK_RST_REASON_TCP_RFC7323_PAWS; + case SKB_DROP_REASON_TCP_TOO_OLD_ACK: + return SK_RST_REASON_TCP_TOO_OLD_ACK; + case SKB_DROP_REASON_TCP_ACK_UNSENT_DATA: + return SK_RST_REASON_TCP_ACK_UNSENT_DATA; default: /* If we don't have our own corresponding reason */ return SK_RST_REASON_NOT_SPECIFIED;