From patchwork Thu Feb 1 00:07:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Paasch X-Patchwork-Id: 868106 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="ZXTm8YPY"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zX0nK1FZkz9s7M for ; Thu, 1 Feb 2018 11:08:05 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932114AbeBAAID (ORCPT ); Wed, 31 Jan 2018 19:08:03 -0500 Received: from mail-out5.apple.com ([17.151.62.27]:53104 "EHLO mail-in5.apple.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754313AbeBAAHe (ORCPT ); Wed, 31 Jan 2018 19:07:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1517443653; x=2381357253; 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=JZMIt46DJJiLzDfV4RNHmUNndRh53DkqX2V15SQNDb0=; b=ZXTm8YPYD92TQp5YbVe7HS3HiCcPX0NgXM0HJSyVtXxfXD1EZehox0xLrfXxZjCm y4yWXrU8gRUqR1Yt07Bytwt2vmNLEaUsG8N3NEy5hF4ynWBFm/xVYktQeLvIKhbi Ffk3qj38GuXGmFsvUwRI+EpdF/Er7Q21e2njsO8x6+olyFXJ90P4x9Phh9HKpll7 cw7M4fn9lVSqrLKOxqn/Escc/rh1SULXU5KaKjmTXRSiSt35MMcku85nyysJ9+Q0 SJQLIfML/IAivlRdu8Ku7mHpeonMKJXquccBhpIfsPskXn+uUjtP9mzaLZuJEtEV E600QlXHSRG2AER/G3D0TA==; Received: from relay4.apple.com (relay4.apple.com [17.128.113.87]) (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 56.EE.14264.54A527A5; Wed, 31 Jan 2018 16:07:33 -0800 (PST) X-AuditID: 11973e13-b4fff700000037b8-1a-5a725a452e9f Received: from nwk-mmpp-sz13.apple.com (nwk-mmpp-sz13.apple.com [17.128.115.216]) by relay4.apple.com (Apple SCV relay) with SMTP id C4.E8.21277.54A527A5; Wed, 31 Jan 2018 16:07:33 -0800 (PST) Content-transfer-encoding: 7BIT Received: from localhost ([17.226.23.225]) by nwk-mmpp-sz13.apple.com (Oracle Communications Messaging Server 8.0.2.1.20180104 64bit (built Jan 4 2018)) with ESMTPSA id <0P3G006E530L15B0@nwk-mmpp-sz13.apple.com>; Wed, 31 Jan 2018 16:07:33 -0800 (PST) From: Christoph Paasch To: netdev@vger.kernel.org Cc: Eric Dumazet , Mat Martineau , Ivan Delalande Subject: [RFC v2 10/14] tcp_md5: Check for TCP_MD5 after TCP Timestamps in tcp_established_options Date: Wed, 31 Jan 2018 16:07:12 -0800 Message-id: <20180201000716.69301-11-cpaasch@apple.com> X-Mailer: git-send-email 2.16.1 In-reply-to: <20180201000716.69301-1-cpaasch@apple.com> References: <20180201000716.69301-1-cpaasch@apple.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprFLMWRmVeSWpSXmKPExsUi2FAYrusaVRRlsHmNpcXuu+EWT489Yrf4 29LPYnFsgZgDi8fu6U2MHgs2lXrMOxno8XmTXABLFJdNSmpOZllqkb5dAlfG993PGQvO8lTc e/WCrYFxH1cXIyeHhICJxOnXy9i6GLk4hARWM0l8aepnhElcf/sSKnGIUeL50XtACQ4OZgF5 iYPnZSHijUwSl361s4I0CAtISnTfucMMYrMJaEm8vQ0RFxGQkvi4Yzs7SAOzQBOjxKOF51gg GlIkVlxYDbaNRUBV4vG7SWwgC3gFzCU+P1OAOEJe4vCbJrA5nEDhhl1z2EFsIQEzic/XFzOD zJQQOMEmsXr+e6YJjIKzEO5bwMi4ilEoNzEzRzczz1QvsaAgJ1UvOT93EyMoMKfbCe9gPL3K 6hCjAAejEg/vhAuFUUKsiWXFlbmHGKU5WJTEeT1Fi6KEBNITS1KzU1MLUovii0pzUosPMTJx cEo1MNawip7dveJe/ouXpc0ah6ov7GJtv+0ydYHB8cPbSiZ8+26czjTnMOemo3NOMcw6ouh+ VeSp5SVdi0LrzHulcw+dmXzN5MexK/d/VmdmHDA3WjDtZOSj7BmbWfq+Z6b5ycXf86ufdUTC vn6aGFf/3Ld6L/95NJez/Nvk1OLhX9jw+p6JbO0NVhklluKMREMt5qLiRAD2bi39LQIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrKLMWRmVeSWpSXmKPExsUi2FB8Q9c1qijK4E6bqcXuu+EWT489Yrf4 29LPYnFsgZgDi8fu6U2MHgs2lXrMOxno8XmTXABLlKFNWn5ReWJRikJRckGJrVJxRmJKfnm8 pbGRqUNiQUFOql5yfq6Svp1NSmpOZllqkb5dgmHG993PGQvO8lTce/WCrYFxH1cXIyeHhICJ xPW3L9m6GLk4hAQOMUo8P3qPsYuRg4NZQF7i4HlZiHgjk8SlX+2sIA3CApIS3XfuMIPYbAJa Em9vQ8RFBKQkPu7Yzg7SwCzQxCjxaOE5FoiGFIkVF1YzgtgsAqoSj99NYgNZwCtgLvH5mQLE EfISh980gc3hBAo37JrDDmILCZhJfL6+mHkCI98shJMWMDKuYhQoSs1JrDTRg3t2EyM4LAvD dzD+W2Z1iFGAg1GJh/fFpcIoIdbEsuLKXKDfOJiVRHg3ihRFCfGmJFZWpRblxxeV5qQWH2L0 ATptIrOUaHI+MGbySuINjS2MLU0sDAxMLM1McAgrifMeUQKaJZCeWJKanZpakFoEM46Jg1Oq gbGA+4VHxS//zA81SUmyC5J+n93Kp7ma/7P0kjMLN7zYH6g5oWPvxJYJnpxlxySVAqvv3p3x soLfPsC13PTpzsbTh7Kajt1n3nnmQO+WtdqBH9cbyl8pUzgRcj7h/K/Q7c9Wf38uPW2TS+6s a8EKmxnSN/u8+9arocU/7dXVwuKJwgcO3mf6+CZOiQWYLAy1mIuKEwELcS/ieAIAAA== 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. Cc: Ivan Delalande 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 facbdf4fe9be..97e6aecc03eb 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));