mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-02-13 03:41:54 +00:00
Backport some MPTCP changes from Christoph Paasch
This commit is contained in:
parent
8fd4a789b9
commit
1bc77db345
2 changed files with 12 additions and 11 deletions
|
@ -8139,7 +8139,7 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.94/net/mptcp/
|
|||
diff -aurN linux-4.14.121/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c
|
||||
--- linux-4.14.121/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_ctrl.c 2019-05-23 20:14:17.000000000 +0200
|
||||
@@ -0,0 +1,3001 @@
|
||||
@@ -0,0 +1,3000 @@
|
||||
+/*
|
||||
+ * MPTCP implementation - MPTCP-control
|
||||
+ *
|
||||
|
@ -9511,8 +9511,6 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mpt
|
|||
+ tp->mptcp->attached = 1;
|
||||
+
|
||||
+ mpcb->cnt_subflows++;
|
||||
+ atomic_add(atomic_read(&((struct sock *)tp)->sk_rmem_alloc),
|
||||
+ &meta_sk->sk_rmem_alloc);
|
||||
+
|
||||
+ mptcp_sub_inherit_sockopts(meta_sk, sk);
|
||||
+ INIT_DELAYED_WORK(&tp->mptcp->work, mptcp_sub_close_wq);
|
||||
|
@ -9779,6 +9777,7 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.94/net/mptcp/mpt
|
|||
+ if (!cancel_delayed_work(work))
|
||||
+ return;
|
||||
+ sock_put(sk);
|
||||
+ mptcp_mpcb_put(tp->mpcb);
|
||||
+ }
|
||||
+
|
||||
+ if (!delay) {
|
||||
|
@ -17043,7 +17042,7 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.94/net/mptcp/mpt
|
|||
diff -aurN linux-4.14.121/net/mptcp/mptcp_output.c mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c
|
||||
--- linux-4.14.121/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ mptcp-mptcp_v0.94/net/mptcp/mptcp_output.c 2019-05-23 20:14:17.000000000 +0200
|
||||
@@ -0,0 +1,1822 @@
|
||||
@@ -0,0 +1,1824 @@
|
||||
+/*
|
||||
+ * MPTCP implementation - Sending side
|
||||
+ *
|
||||
|
@ -18523,6 +18522,8 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_output.c mptcp-mptcp_v0.94/net/mptcp/m
|
|||
+ UINT_MAX / mss_now,
|
||||
+ TCP_NAGLE_OFF);
|
||||
+
|
||||
+ limit = min(limit, tcp_wnd_end(meta_tp) - TCP_SKB_CB(skb)->seq);
|
||||
+
|
||||
+ if (skb->len > limit &&
|
||||
+ unlikely(mptcp_fragment(meta_sk, skb, limit,
|
||||
+ GFP_ATOMIC, 0)))
|
||||
|
@ -19800,7 +19801,7 @@ diff -aurN linux-4.14.121/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.94/net/mptcp/mp
|
|||
+ * calculated end_seq (because here at this point end_seq is still at
|
||||
+ * the meta-level).
|
||||
+ */
|
||||
+ if (skb && !zero_wnd_test &&
|
||||
+ if (skb && zero_wnd_test &&
|
||||
+ after(tp->write_seq + min(skb->len, mss_now), tcp_wnd_end(tp)))
|
||||
+ return true;
|
||||
+
|
||||
|
|
|
@ -8885,7 +8885,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_coupled.c mptcp-mptcp_v0.95/net/mptcp/m
|
|||
diff -aurN linux-4.19.44/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c
|
||||
--- linux-4.19.44/net/mptcp/mptcp_ctrl.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_ctrl.c 2019-05-23 10:38:14.000000000 +0200
|
||||
@@ -0,0 +1,3112 @@
|
||||
@@ -0,0 +1,3110 @@
|
||||
+/*
|
||||
+ * MPTCP implementation - MPTCP-control
|
||||
+ *
|
||||
|
@ -10343,9 +10343,6 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptc
|
|||
+
|
||||
+ tp->mptcp->attached = 1;
|
||||
+
|
||||
+ atomic_add(atomic_read(&((struct sock *)tp)->sk_rmem_alloc),
|
||||
+ &meta_sk->sk_rmem_alloc);
|
||||
+
|
||||
+ mptcp_sub_inherit_sockopts(meta_sk, sk);
|
||||
+ INIT_DELAYED_WORK(&tp->mptcp->work, mptcp_sub_close_wq);
|
||||
+
|
||||
|
@ -10598,6 +10595,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_ctrl.c mptcp-mptcp_v0.95/net/mptcp/mptc
|
|||
+ if (!cancel_delayed_work(work))
|
||||
+ return;
|
||||
+ sock_put(sk);
|
||||
+ mptcp_mpcb_put(tp->mpcb);
|
||||
+ }
|
||||
+
|
||||
+ if (!delay) {
|
||||
|
@ -19021,7 +19019,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_olia.c mptcp-mptcp_v0.95/net/mptcp/mptc
|
|||
diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c
|
||||
--- linux-4.19.44/net/mptcp/mptcp_output.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ mptcp-mptcp_v0.95/net/mptcp/mptcp_output.c 2019-05-23 10:38:14.000000000 +0200
|
||||
@@ -0,0 +1,1923 @@
|
||||
@@ -0,0 +1,1925 @@
|
||||
+/*
|
||||
+ * MPTCP implementation - Sending side
|
||||
+ *
|
||||
|
@ -20593,6 +20591,8 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_output.c mptcp-mptcp_v0.95/net/mptcp/mp
|
|||
+ UINT_MAX / mss_now,
|
||||
+ TCP_NAGLE_OFF);
|
||||
+
|
||||
+ limit = min(limit, tcp_wnd_end(meta_tp) - TCP_SKB_CB(skb)->seq);
|
||||
+
|
||||
+ if (skb->len > limit &&
|
||||
+ unlikely(mptcp_fragment(meta_sk, TCP_FRAG_IN_RTX_QUEUE, skb,
|
||||
+ limit, GFP_ATOMIC, 0)))
|
||||
|
@ -21976,7 +21976,7 @@ diff -aurN linux-4.19.44/net/mptcp/mptcp_sched.c mptcp-mptcp_v0.95/net/mptcp/mpt
|
|||
+ * calculated end_seq (because here at this point end_seq is still at
|
||||
+ * the meta-level).
|
||||
+ */
|
||||
+ if (skb && !zero_wnd_test &&
|
||||
+ if (skb && zero_wnd_test &&
|
||||
+ after(tp->write_seq + min(skb->len, mss_now), tcp_wnd_end(tp)))
|
||||
+ return true;
|
||||
+
|
||||
|
|
Loading…
Reference in a new issue