tcp_input.c (a71d77e6be1e29ec809cc7c85d9594e7769406cd) tcp_input.c (e3a5a1e8b6548f5d37328e2d3571edc5c9e6d7c0)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * INET An implementation of the TCP/IP protocol suite for the LINUX
4 * operating system. INET is implemented using the BSD Socket
5 * interface as the means of communication with the user level.
6 *
7 * Implementation of the Transmission Control Protocol(TCP).
8 *

--- 1139 unchanged lines hidden (view full) ---

1148 if (after(end_seq_0, end_seq_1) || before(start_seq_0, start_seq_1))
1149 return false;
1150 NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPDSACKOFORECV);
1151 } else {
1152 return false;
1153 }
1154
1155 dup_segs = tcp_dsack_seen(tp, start_seq_0, end_seq_0, state);
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * INET An implementation of the TCP/IP protocol suite for the LINUX
4 * operating system. INET is implemented using the BSD Socket
5 * interface as the means of communication with the user level.
6 *
7 * Implementation of the Transmission Control Protocol(TCP).
8 *

--- 1139 unchanged lines hidden (view full) ---

1148 if (after(end_seq_0, end_seq_1) || before(start_seq_0, start_seq_1))
1149 return false;
1150 NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPDSACKOFORECV);
1151 } else {
1152 return false;
1153 }
1154
1155 dup_segs = tcp_dsack_seen(tp, start_seq_0, end_seq_0, state);
1156 NET_ADD_STATS(sock_net(sk), LINUX_MIB_TCPDSACKRECVSEGS, dup_segs);
1156
1157 /* D-SACK for already forgotten data... Do dumb counting. */
1158 if (tp->undo_marker && tp->undo_retrans > 0 &&
1159 !after(end_seq_0, prior_snd_una) &&
1160 after(end_seq_0, tp->undo_marker))
1161 tp->undo_retrans = max_t(int, 0, tp->undo_retrans - dup_segs);
1162
1163 return true;

--- 5627 unchanged lines hidden ---
1157
1158 /* D-SACK for already forgotten data... Do dumb counting. */
1159 if (tp->undo_marker && tp->undo_retrans > 0 &&
1160 !after(end_seq_0, prior_snd_una) &&
1161 after(end_seq_0, tp->undo_marker))
1162 tp->undo_retrans = max_t(int, 0, tp->undo_retrans - dup_segs);
1163
1164 return true;

--- 5627 unchanged lines hidden ---