From patchwork Mon Dec 18 21:51:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Paasch X-Patchwork-Id: 850430 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=apple.com header.i=@apple.com header.b="kqlhmVsv"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z0vrx5Dy4z9s81 for ; Tue, 19 Dec 2017 08:52:17 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965177AbdLRVwO (ORCPT ); Mon, 18 Dec 2017 16:52:14 -0500 Received: from mail-out5.apple.com ([17.151.62.27]:47737 "EHLO mail-in5.apple.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S964848AbdLRVvi (ORCPT ); Mon, 18 Dec 2017 16:51:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1513633897; h=From:Sender:Reply-To:Subject:Date:Message-id:To:Cc:MIME-Version:Content-Type: Content-transfer-encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-reply-to:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=PXVbSh2HFL+m/QbUD7WSQ3UtELDxQ+0+g/IpnjMC6ow=; b=kqlhmVsvO/iNaALVPN9NbXtqKznIzHcl/TVJcccJ7DiXqVq9HfT83NpwPldhER5E OQMH/PxSAlGo3BwStYPfmRIl9FXfmqgfFZEg3KhnYohXxw2JmRi+nCz6kGvPFXa1 wqRUojNzK6zJPebJY1lD3tKWsm7oIPStqb8p8DqiIU02xw4JOXLIsKgN3eZGkh2E Z/+YYEPEILBuI4UNS6pNvDmNsV7FmbzLwfLnswRfxSX2ioxF6bsHBKs20bt4hOkN PhFu7ih8g5z2iQWnJO1aj4xQnMHa/TlIEfnbaaYBcctkJC8n2lrOBAhzbTzb+wXY e6Xt9MSowtvrSEiSroJaUQ==; Received: from relay3.apple.com (relay3.apple.com [17.128.113.83]) (using TLS with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mail-in5.apple.com (Apple Secure Mail Relay) with SMTP id 11.AA.23913.968383A5; Mon, 18 Dec 2017 13:51:37 -0800 (PST) X-AuditID: 11973e13-c5d259c000005d69-ef-5a3838691d05 Received: from nwk-mmpp-sz13.apple.com (nwk-mmpp-sz13.apple.com [17.128.115.216]) by relay3.apple.com (Apple SCV relay) with SMTP id 5E.D7.12852.968383A5; Mon, 18 Dec 2017 13:51:37 -0800 (PST) Content-transfer-encoding: 7BIT Received: from localhost ([17.226.23.135]) by nwk-mmpp-sz13.apple.com (Oracle Communications Messaging Server 8.0.2.1.20171204 64bit (built Dec 4 2017)) with ESMTPSA id <0P1600HVCFE1VT70@nwk-mmpp-sz13.apple.com>; Mon, 18 Dec 2017 13:51:37 -0800 (PST) From: Christoph Paasch To: netdev@vger.kernel.org Cc: Eric Dumazet , Mat Martineau , Alexei Starovoitov Subject: [RFC 10/14] tcp_md5: Check for TCP_MD5 after TCP Timestamps in tcp_established_options Date: Mon, 18 Dec 2017 13:51:05 -0800 Message-id: <20171218215109.38700-11-cpaasch@apple.com> X-Mailer: git-send-email 2.15.0 In-reply-to: <20171218215109.38700-1-cpaasch@apple.com> References: <20171218215109.38700-1-cpaasch@apple.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprNLMWRmVeSWpSXmKPExsUi2FAYrJtpYRFl8H6ttcWXn7fZLZ4ee8Ru 8beln8Xi2AIxBxaPBZtKPTat6mTzmHcy0OPzJrkAligum5TUnMyy1CJ9uwSujHmTljIWLOWp uLt+PmsD42yuLkZODgkBE4mmtfuZuhi5OIQEVjNJbPs/kQUm8eLMQqjEIUaJ20eb2boYOTiY BeQlDp6XhYg3MknsmLOUGaRBWEBSovvOHTCbTUBL4u3tdlYQW0RASuLjju3sIDazQDOjxM45 IhD1iRK3uj6C1bMIqEo8ObWdEcTmFTCXOHNpDSPEEfISi7/vZAOxOYHiPV8fgc0REjCTOP/z JdhxEgJH2CRav8xin8AoOAvhvgWMjKsYhXITM3N0M/NM9RILCnJS9ZLzczcxgkJzup3wDsbT q6wOMQpwMCrx8M64ah4lxJpYVlyZe4hRmoNFSZz3YrVJlJBAemJJanZqakFqUXxRaU5q8SFG Jg5OqQbGiKgHrlJnH+3+lmLCslzhMdtm3Vzxmq8iRwIkBLlEBE8rrb1csPjNC4aeaSk6+/7K zby2W58h7l/N9BNZFgZ9Oct+c8g4sCSru6mePPFL/eWaHo7q83N+uDB/vCt5ZPl094hGj8Xd N3bvdFf8vmCVawQL22XhnYkMJ29F8DuEz/xyl8fKv/eAEktxRqKhFnNRcSIAiT+SfS4CAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrGLMWRmVeSWpSXmKPExsUi2FB8QzfTwiLKoGuPhcWXn7fZLZ4ee8Ru 8beln8Xi2AIxBxaPBZtKPTat6mTzmHcy0OPzJrkAlihDm7T8ovLEohSFouSCElul4ozElPzy eEtjI1OHxIKCnFS95PxcJX07m5TUnMyy1CJ9uwTDjHmTljIWLOWpuLt+PmsD42yuLkZODgkB E4kXZxYydTFycQgJHGKUuH20ma2LkYODWUBe4uB5WYh4I5PEjjlLmUEahAUkJbrv3AGz2QS0 JN7ebmcFsUUEpCQ+7tjODmIzCzQzSuycIwJRnyhxq+sjWD2LgKrEk1PbGUFsXgFziTOX1jBC HCEvsfj7TjYQmxMo3vP1EdgcIQEzifM/XzJNYOSbhXDSAkbGVYwCRak5iZXGenDPbmIEB2Zh 8A7GP8usDjEKcDAq8fDOuGoeJcSaWFZcmQv0Gwezkgiv31mgEG9KYmVValF+fFFpTmrxIUYf oNsmMkuJJucDoyavJN7Q2MLY0sTCwMDE0swEh7CSOK/HKqBZAumJJanZqakFqUUw45g4OKUa GJeG/jG1dvX3endxx+wl/WFtW97e5jumoHIn8E3bQxX+xr6o55ru5pterPn+aqv+3/udH9zz e58r5se45jXO28U1O/8P+5orArZf3tlLM2285sH/d8GKtT0N3872WLiWXp7O/veI9/H71eKz jMvf7cxOMJx13DNhttxJy+VbfXr+We1jCCz60K/EAkwWhlrMRcWJAEIA5it5AgAA Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org It really does not matter, because we never use TCP timestamps when TCP_MD5 is enabled (see tcp_syn_options). Moving TCP_MD5 a bit lower allows for easier adoption of the tcp_extra_option framework. Signed-off-by: Christoph Paasch Reviewed-by: Mat Martineau --- net/ipv4/tcp_output.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 43849ed73b03..7ea65f70e5ec 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -662,6 +662,13 @@ static unsigned int tcp_established_options(struct sock *sk, struct sk_buff *skb opts->options = 0; + if (likely(tp->rx_opt.tstamp_ok)) { + opts->options |= OPTION_TS; + opts->tsval = skb ? tcp_skb_timestamp(skb) + tp->tsoffset : 0; + opts->tsecr = tp->rx_opt.ts_recent; + size += TCPOLEN_TSTAMP_ALIGNED; + } + #ifdef CONFIG_TCP_MD5SIG opts->md5 = tp->af_specific->md5_lookup(sk, sk); if (unlikely(opts->md5)) { @@ -672,13 +679,6 @@ static unsigned int tcp_established_options(struct sock *sk, struct sk_buff *skb opts->md5 = NULL; #endif - if (likely(tp->rx_opt.tstamp_ok)) { - opts->options |= OPTION_TS; - opts->tsval = skb ? tcp_skb_timestamp(skb) + tp->tsoffset : 0; - opts->tsecr = tp->rx_opt.ts_recent; - size += TCPOLEN_TSTAMP_ALIGNED; - } - if (unlikely(!hlist_empty(&tp->tcp_option_list))) size += tcp_extopt_prepare(skb, 0, MAX_TCP_OPTION_SPACE - size, opts, tcp_to_sk(tp));