]> 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)
commita601c60b07389998bcf81c81f62eacef37159e9b
tree5efe9e0415abf424ed26afd3563052862864ebe4
parentb76dc4b4042a832f46a495639178ef27fe5768b8
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: aa88b56a90e2 ("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