diff options
author | Florian Westphal <fw@strlen.de> | 2020-11-19 20:46:02 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2020-11-21 00:33:25 +0100 |
commit | fa3fe2b150316b294f2c662653501273ff25bba8 (patch) | |
tree | 6c197ce6eaf9e8f7e500f094d0cb7d3a721985cf /include | |
parent | selftests: mptcp: add ADD_ADDR IPv6 test cases (diff) | |
download | linux-fa3fe2b150316b294f2c662653501273ff25bba8.tar.xz linux-fa3fe2b150316b294f2c662653501273ff25bba8.zip |
mptcp: track window announced to peer
OoO handling attempts to detect when packet is out-of-window by testing
current ack sequence and remaining space vs. sequence number.
This doesn't work reliably. Store the highest allowed sequence number
that we've announced and use it to detect oow packets.
Do this when mptcp options get written to the packet (wire format).
For this to work we need to move the write_options call until after
stack selected a new tcp window.
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/mptcp.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/mptcp.h b/include/net/mptcp.h index 6e706d838e4e..b6cf07143a8a 100644 --- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -88,7 +88,8 @@ bool mptcp_established_options(struct sock *sk, struct sk_buff *skb, struct mptcp_out_options *opts); void mptcp_incoming_options(struct sock *sk, struct sk_buff *skb); -void mptcp_write_options(__be32 *ptr, struct mptcp_out_options *opts); +void mptcp_write_options(__be32 *ptr, const struct tcp_sock *tp, + struct mptcp_out_options *opts); /* move the skb extension owership, with the assumption that 'to' is * newly allocated |