mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-10 08:20:16 -05:00
tcp: rstreason: fully support in tcp_ack()
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> Link: https://lore.kernel.org/r/20240510122502.27850-3-kerneljasonxing@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
2b9669d634
commit
459a2b37a4
@@ -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,13 @@ 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: TCP ACK for data we haven't
|
||||
* sent yet
|
||||
*/
|
||||
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 +139,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;
|
||||
|
||||
Reference in New Issue
Block a user