|
8 | 8 | #define DEFINE_RST_REASON(FN, FNe) \ |
9 | 9 | FN(NOT_SPECIFIED) \ |
10 | 10 | FN(NO_SOCKET) \ |
| 11 | + FN(TCP_INVALID_ACK_SEQUENCE) \ |
| 12 | + FN(TCP_RFC7323_PAWS) \ |
11 | 13 | FN(MPTCP_RST_EUNSPEC) \ |
12 | 14 | FN(MPTCP_RST_EMPTCP) \ |
13 | 15 | FN(MPTCP_RST_ERESOURCE) \ |
@@ -37,6 +39,17 @@ enum sk_rst_reason { |
37 | 39 | SK_RST_REASON_NOT_SPECIFIED, |
38 | 40 | /** @SK_RST_REASON_NO_SOCKET: no valid socket that can be used */ |
39 | 41 | SK_RST_REASON_NO_SOCKET, |
| 42 | + /** |
| 43 | + * @SK_RST_REASON_TCP_INVALID_ACK_SEQUENCE: Not acceptable ACK SEQ |
| 44 | + * field because ack sequence is not in the window between snd_una |
| 45 | + * and snd_nxt |
| 46 | + */ |
| 47 | + SK_RST_REASON_TCP_INVALID_ACK_SEQUENCE, |
| 48 | + /** |
| 49 | + * @SK_RST_REASON_TCP_RFC7323_PAWS: PAWS check, corresponding to |
| 50 | + * LINUX_MIB_PAWSESTABREJECTED, LINUX_MIB_PAWSACTIVEREJECTED |
| 51 | + */ |
| 52 | + SK_RST_REASON_TCP_RFC7323_PAWS, |
40 | 53 |
|
41 | 54 | /* Copy from include/uapi/linux/mptcp.h. |
42 | 55 | * These reset fields will not be changed since they adhere to |
@@ -113,6 +126,10 @@ sk_rst_convert_drop_reason(enum skb_drop_reason reason) |
113 | 126 | return SK_RST_REASON_NOT_SPECIFIED; |
114 | 127 | case SKB_DROP_REASON_NO_SOCKET: |
115 | 128 | return SK_RST_REASON_NO_SOCKET; |
| 129 | + case SKB_DROP_REASON_TCP_INVALID_ACK_SEQUENCE: |
| 130 | + return SK_RST_REASON_TCP_INVALID_ACK_SEQUENCE; |
| 131 | + case SKB_DROP_REASON_TCP_RFC7323_PAWS: |
| 132 | + return SK_RST_REASON_TCP_RFC7323_PAWS; |
116 | 133 | default: |
117 | 134 | /* If we don't have our own corresponding reason */ |
118 | 135 | return SK_RST_REASON_NOT_SPECIFIED; |
|
0 commit comments