Commit e615e3a2 authored by Jason Xing's avatar Jason Xing Committed by David S. Miller

tcp: add more specific possible drop reasons in tcp_rcv_synsent_state_process()

This patch does two things:
1) add two more new reasons
2) only change the return value(1) to various drop reason values
for the future use

For now, we still cannot trace those two reasons. We'll implement the full
function in the subsequent patch in this series.
Signed-off-by: default avatarJason Xing <kernelxing@tencent.com>
Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
Reviewed-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3d359fab
...@@ -6361,6 +6361,7 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb, ...@@ -6361,6 +6361,7 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,
inet_csk_reset_xmit_timer(sk, inet_csk_reset_xmit_timer(sk,
ICSK_TIME_RETRANS, ICSK_TIME_RETRANS,
TCP_TIMEOUT_MIN, TCP_RTO_MAX); TCP_TIMEOUT_MIN, TCP_RTO_MAX);
SKB_DR_SET(reason, TCP_INVALID_ACK_SEQUENCE);
goto reset_and_undo; goto reset_and_undo;
} }
...@@ -6369,6 +6370,7 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb, ...@@ -6369,6 +6370,7 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,
tcp_time_stamp_ts(tp))) { tcp_time_stamp_ts(tp))) {
NET_INC_STATS(sock_net(sk), NET_INC_STATS(sock_net(sk),
LINUX_MIB_PAWSACTIVEREJECTED); LINUX_MIB_PAWSACTIVEREJECTED);
SKB_DR_SET(reason, TCP_RFC7323_PAWS);
goto reset_and_undo; goto reset_and_undo;
} }
...@@ -6572,7 +6574,8 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb, ...@@ -6572,7 +6574,8 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,
reset_and_undo: reset_and_undo:
tcp_clear_options(&tp->rx_opt); tcp_clear_options(&tp->rx_opt);
tp->rx_opt.mss_clamp = saved_clamp; tp->rx_opt.mss_clamp = saved_clamp;
return 1; /* we can reuse/return @reason to its caller to handle the exception */
return reason;
} }
static void tcp_rcv_synrecv_state_fastopen(struct sock *sk) static void tcp_rcv_synrecv_state_fastopen(struct sock *sk)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment