aboutsummaryrefslogtreecommitdiffstats
path: root/net/mptcp/protocol.h
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2020-11-16 10:48:13 +0100
committerJakub Kicinski <kuba@kernel.org>2020-11-16 10:46:07 -0800
commit6f8a612a33e426d473f7161d1950dc00a613494b (patch)
tree38d484799e333eea7da33f483219f3d9a3a41760 /net/mptcp/protocol.h
parentmptcp: rework poll+nospace handling (diff)
downloadlinux-dev-6f8a612a33e426d473f7161d1950dc00a613494b.tar.xz
linux-dev-6f8a612a33e426d473f7161d1950dc00a613494b.zip
mptcp: keep track of advertised windows right edge
Before sending 'x' new bytes also check that the new snd_una would be within the permitted receive window. For every ACK that also contains a DSS ack, check whether its tcp-level receive window would advance the current mptcp window right edge and update it if so. Signed-off-by: Florian Westphal <fw@strlen.de> Co-developed-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/mptcp/protocol.h')
-rw-r--r--net/mptcp/protocol.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index 8345011fc0ba..b4c8dbe9236b 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -215,6 +215,7 @@ struct mptcp_sock {
struct sock *last_snd;
int snd_burst;
atomic64_t snd_una;
+ atomic64_t wnd_end;
unsigned long timer_ival;
u32 token;
unsigned long flags;