1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-14 12:21:53 +00:00

Test a fix from MPTCP ML and update README

This commit is contained in:
Ycarus (Yannick Chabanois) 2019-10-14 19:42:18 +02:00
parent 9ee02f529a
commit c2eeb56275
2 changed files with 21 additions and 2 deletions

View file

@ -76,9 +76,7 @@ OMR_TARGET="rpi3" ./build.sh
Our solution is mainly based on:
* [OverTheBox](https://www.ovhtelecom.fr/overthebox/)
* [OpenWRT](https://openwrt.org)
* [LEDE](https://lede-project.org)
* [MultiPath TCP (MPTCP)](https://multipath-tcp.org)
* [Shadowsocks](https://shadowsocks.org)
* [Glorytun](https://github.com/angt/glorytun)

View file

@ -0,0 +1,21 @@
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) ||