mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-02-15 04:42:02 +00:00
21 lines
889 B
Diff
21 lines
889 B
Diff
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
|
|
index 480373c960cd..bae7231096cf 100644
|
|
--- a/net/ipv4/tcp_input.c
|
|
+++ b/net/ipv4/tcp_input.c
|
|
@@ -5227,6 +5227,8 @@ static void __tcp_ack_snd_check(struct sock *sk, int ofo_possible)
|
|
{
|
|
struct tcp_sock *tp = tcp_sk(sk);
|
|
unsigned long rtt, delay;
|
|
+ struct sock *meta_sk = mptcp(tp) ? mptcp_meta_sk(sk) : sk;
|
|
+ struct tcp_sock *meta_tp = tcp_sk(meta_sk);
|
|
|
|
/* More than one full frame received... */
|
|
if (((tp->rcv_nxt - tp->rcv_wup) > inet_csk(sk)->icsk_ack.rcv_mss &
|
|
@@ -5268,6 +5268,6 @@
|
|
* we have not received enough bytes to satisfy the condition.
|
|
*/
|
|
- (tp->rcv_nxt - tp->copied_seq < sk->sk_rcvlowat ||
|
|
+ (meta_tp->rcv_nxt - meta_tp->copied_seq < meta_sk->sk_rcvlowat ||
|
|
tp->ops->__select_window(sk) >= tp->rcv_wnd)) ||
|
|
/* We ACK each frame or... */
|
|
tcp_in_quickack_mode(sk) ||
|