]> git.baikalelectronics.ru Git - kernel.git/commit
net: mptcp: make DACK4/DACK8 usage consistent among all subflows
authorDavide Caratti <dcaratti@redhat.com>
Tue, 6 Oct 2020 16:26:17 +0000 (18:26 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 9 Oct 2020 15:25:48 +0000 (08:25 -0700)
commit9b9c4f54c2b9376e915277b3675fcddd0db8d8bc
tree5efe9e0415abf424ed26afd3563052862864ebe4
parenta92f312fa6c393b2c5d531e89d7edc371d4ae07c
net: mptcp: make DACK4/DACK8 usage consistent among all subflows

using packetdrill it's possible to observe the same MPTCP DSN being acked
by different subflows with DACK4 and DACK8. This is in contrast with what
specified in RFC8684 ยง3.3.2: if an MPTCP endpoint transmits a 64-bit wide
DSN, it MUST be acknowledged with a 64-bit wide DACK. Fix 'use_64bit_ack'
variable to make it a property of MPTCP sockets, not TCP subflows.

Fixes: 58e89daf1550 ("mptcp: Use 32-bit DATA_ACK when possible")
Acked-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/options.c
net/mptcp/protocol.h
net/mptcp/subflow.c