From patchwork Sat Oct 17 04:57:44 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuchung Cheng X-Patchwork-Id: 531621 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 7CE771402B9 for ; Sat, 17 Oct 2015 15:58:22 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b=cOY009mM; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751671AbbJQE6I (ORCPT ); Sat, 17 Oct 2015 00:58:08 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:34330 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751064AbbJQE6H (ORCPT ); Sat, 17 Oct 2015 00:58:07 -0400 Received: by pabws5 with SMTP id ws5so8324585pab.1 for ; Fri, 16 Oct 2015 21:58:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=XQcvOCLGfG3pnysCuclUad8VopPnu5LNUX3SJ1RH8EA=; b=cOY009mMGuVJkEULTY2AM6eYL8noHnOisADo7OljGKtplEmXQDkxrTqm7mpT5PPMx+ QbqB3fuaC5KN2w+JAKCroGPWa+nUJ4pQe0N53MzhwSQLwIgCvafZffcyg6BSn8tkSkct AxYF0Ldu4ceoUIyb12Psr0yRRt62EMha5BfDlx5BNJXqce0wdrtVxW//hRDLNOxoKdcJ srZzhGx7drhowd9PMjmF/jEIUAkOeA51VrXwslwEMkgYyRxN79qG4wwmGPWhTutE8l0l babAI1FAXQBsHsqPA9gCz8+/4O+9rwsdw7mFp+R/s0JaXKcZPH3CauJHzJsoKtNWHWkl 7v1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=XQcvOCLGfG3pnysCuclUad8VopPnu5LNUX3SJ1RH8EA=; b=Ku/aTVQhydEClJ/p/TmOow+VX7kSRruHLHJP90JqhxhFxfRDUih0BGfzCKkSqDxB1n eer0coBTlMeypMAILuu9dg7N2nk0SRSVr/JEHXDeUDFnrEWJgwLxvPHfoKoayadK7wTJ HWtYELby3s0sMNquhP0BwJIiXlR5WzVINu/AyNnWlXUyN5YTSR/8U5IH5F0CG4pB3jWQ YufKfKY+Cvm0MogTs/5Y8G+0nA1sVAqZOJ3EEu74b1RvCVsLB3qqZ8c5jrBj0Ewz5Dzd VMPtDJ0lCfRxHYfUuu/yN/337z78+/RAPooXvgMg1Tqrz0UnPRt2oj0hGJkRISEsgbEn YBJA== X-Gm-Message-State: ALoCoQnlrNPjuo9wsGZAnuOF1JMsCjYZsOjj9yD+WO423nLdde+2AQgbtBev0kU5pXSBG96pWkFl X-Received: by 10.68.88.193 with SMTP id bi1mr20935616pbb.49.1445057886519; Fri, 16 Oct 2015 21:58:06 -0700 (PDT) Received: from ycheng.mtv.corp.google.com ([172.17.133.36]) by smtp.gmail.com with ESMTPSA id gv1sm24090711pbc.38.2015.10.16.21.58.05 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 16 Oct 2015 21:58:05 -0700 (PDT) From: Yuchung Cheng To: davem@davemloft.net Cc: netdev@vger.kernel.org, Yuchung Cheng , Neal Cardwell , Eric Dumazet Subject: [PATCH net-next 4/7] tcp: add tcp_tsopt_ecr_before helper Date: Fri, 16 Oct 2015 21:57:44 -0700 Message-Id: <1445057867-32257-5-git-send-email-ycheng@google.com> X-Mailer: git-send-email 2.6.0.rc2.230.g3dd15c0 In-Reply-To: <1445057867-32257-1-git-send-email-ycheng@google.com> References: <1445057867-32257-1-git-send-email-ycheng@google.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org a helper to prepare the main RACK patch Signed-off-by: Yuchung Cheng Signed-off-by: Neal Cardwell Signed-off-by: Eric Dumazet --- net/ipv4/tcp_input.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 5ad08d8..c304b5f 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -2250,14 +2250,19 @@ static inline void tcp_moderate_cwnd(struct tcp_sock *tp) tp->snd_cwnd_stamp = tcp_time_stamp; } +static bool tcp_tsopt_ecr_before(const struct tcp_sock *tp, u32 when) +{ + return tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr && + before(tp->rx_opt.rcv_tsecr, when); +} + /* Nothing was retransmitted or returned timestamp is less * than timestamp of the first retransmission. */ static inline bool tcp_packet_delayed(const struct tcp_sock *tp) { return !tp->retrans_stamp || - (tp->rx_opt.saw_tstamp && tp->rx_opt.rcv_tsecr && - before(tp->rx_opt.rcv_tsecr, tp->retrans_stamp)); + tcp_tsopt_ecr_before(tp, tp->retrans_stamp); } /* Undo procedures. */