From patchwork Wed Nov 25 17:49:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Westphal X-Patchwork-Id: 1406181 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.01.org (client-ip=2001:19d0:306:5::1; helo=ml01.01.org; envelope-from=mptcp-bounces@lists.01.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=strlen.de Received: from ml01.01.org (ml01.01.org [IPv6:2001:19d0:306:5::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Ch7hL1bXmz9s0b for ; Thu, 26 Nov 2020 04:50:09 +1100 (AEDT) Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 723BF100EF24B; Wed, 25 Nov 2020 09:50:06 -0800 (PST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a0a:51c0:0:12e:520::1; helo=chamillionaire.breakpoint.cc; envelope-from=fw@breakpoint.cc; receiver= Received: from Chamillionaire.breakpoint.cc (Chamillionaire.breakpoint.cc [IPv6:2a0a:51c0:0:12e:520::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id BEEEA100EF240 for ; Wed, 25 Nov 2020 09:50:03 -0800 (PST) Received: from fw by Chamillionaire.breakpoint.cc with local (Exim 4.92) (envelope-from ) id 1khyvZ-00026i-Bx; Wed, 25 Nov 2020 18:50:01 +0100 From: Florian Westphal To: Date: Wed, 25 Nov 2020 18:49:53 +0100 Message-Id: <20201125174956.9222-1-fw@strlen.de> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Message-ID-Hash: NJKBDZP5NBSEFSE6TDR5MUQXJ5NZRJC5 X-Message-ID-Hash: NJKBDZP5NBSEFSE6TDR5MUQXJ5NZRJC5 X-MailFrom: fw@breakpoint.cc X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.1.1 Precedence: list Subject: [MPTCP] [PATCH mptcp-next 0/3] mptcp: add fastclose option List-Id: Discussions regarding MPTCP upstreaming Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: This series adds receive side support for fastclose processing. First patch is needed to avoid UAF after enabling option processing for tcp resets. Second patch calls mptcp option parsing also for reset patckets so fastclose-on-tcp-reset is handled. Last patch adds fastclose handling. I've submitted a pull request vs. packetdrill to add test cases for this: https://github.com/multipath-tcp/packetdrill/pull/25 Those are the three test cases i posted earlier to this list plus a 4th test to also cover the 'two subflows closed via fastclose+reset' case. I would send the fastclose tx side next. I plan to hold the MPTCP reset patches back for the time being until netlink + mptcpd are aware of its existence. include/net/tcp.h | 2 +- net/ipv4/tcp_input.c | 13 ++++++++----- net/ipv4/tcp_minisocks.c | 2 +- net/mptcp/options.c | 15 +++++++++++++++ net/mptcp/protocol.c | 33 +++++++++++++++++++++++++++++++++ net/mptcp/protocol.h | 4 ++++ net/mptcp/subflow.c | 7 ++++++- 7 files changed, 68 insertions(+), 8 deletions(-)