From nobody Mon Jan 29 17:53:44 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TNws50DRMz596mL; Mon, 29 Jan 2024 17:53:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TNws46VV8z515Q; Mon, 29 Jan 2024 17:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1706550824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uTu3t9TJNtBVRszYxdETeRSqSkaBVsywWOALqWXvNOA=; b=AfX4O4fxNBwutxMGbRv5GotLy/NlrTLRBk2uL3O1Z/Wx8QPBZ40t+clyiCk71kK83S1Rrg 3jT9Fq9SrcCv8IwNnLabvHrG8gvanAJkxjUfRRmXZpmgHZLgJUlsEgxeZTyv8esNoMsd76 UusB8GfFTmqmaAzd4Z/qMRhIXv0zbZ5wRJXY+OJtktTap7G6dtsus/wb+2PbK4kHjLHsDW cT0AxU5rDeweAtMv92tJmekd2twZ1B2V5zBI9gopWCOitPJDTQ0UV2y6XLn57xFv9EMVa4 VwQuBrTMbCFiDDAW6IgojQ6rv7wqrn9yPcbCbo6lOG3whgsRpH5zk64V/0G9JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1706550824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uTu3t9TJNtBVRszYxdETeRSqSkaBVsywWOALqWXvNOA=; b=I0gwsSn+Px5PFIARJdnWj0T7k8a6JSB9XAUGw2s6Kp01G25Gsjhay1/AFEdvEZA5HYUAY8 4EKvFHyDaCF/S53R/raN5yG5jZ/P01Vk5k34awDtotSf36yP68QLt0BXYWMYeaKIxGl/5i TfKczvlnWqUuODePU1fbInMOifEaMQ5+9iZD6c2gqyD0cx+7vPsJ8LutEWVAmbmYWNsgAR Zks+LO9K8fVnutPUpPcAbZhevMV+Z80Pd3c18D6wYkp/FJmB7JW9WbTc7OCuUNa0HdD1f3 OjI1zOFh8Omgq24jgVTR2KTQFVymmBzbMIXgh832UxFZjWI2RW9RMPrZe3KUVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1706550824; a=rsa-sha256; cv=none; b=lTEch5EHx96/q2SzL/sNP700AmF0oJ6IHHVpnEtIIqpWfH9xVhlvqWunXSPZOEoeOCRQRo bGYsquxJ+X+lUaUtrXvw80wi8/xpdAa2sUpKr+ZqD/LQ6y6yRqJ6qTRMUs3bEi0EMR9QMN N2xBDxsQWRyMFHrGFW2uL1fcCt9P/kAIixrJeqTT8/gQNXdadWLSpq+9Pdftet6TiktUNP GYzLO6jZ+LxGT8/GSDGCfoPT5dRATwcytiChH333f/B349fHrFQHtb3kzFfGIhWwblPh6n MgPfkIQNWRUhiBWJtK+JDq+llhz02oQbVF9O+TXh47ykxRzd1R4bE6pL5qgrSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TNws45Y9tz11j9; Mon, 29 Jan 2024 17:53:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40THrid0039012; Mon, 29 Jan 2024 17:53:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40THrih3039009; Mon, 29 Jan 2024 17:53:44 GMT (envelope-from git) Date: Mon, 29 Jan 2024 17:53:44 GMT Message-Id: <202401291753.40THrih3039009@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: f30c7d56546b - main - TCP LRO: convert TCP header fields to host byte order earlier List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f30c7d56546b9f36e42351fb385d96e37dbac1d5 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=f30c7d56546b9f36e42351fb385d96e37dbac1d5 commit f30c7d56546b9f36e42351fb385d96e37dbac1d5 Author: Michael Tuexen AuthorDate: 2024-01-29 17:41:24 +0000 Commit: Michael Tuexen CommitDate: 2024-01-29 17:52:17 +0000 TCP LRO: convert TCP header fields to host byte order earlier This is a preparation for adding dtrace hooks in a follow-up commit, which are missing in the code path, where packets are directly queued to the tcpcb. The dtrace hooks expect the fields to be in host byte order. This only applies when TCP HPTS is used. No functional change intended. Reviewed by: rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D43594 --- sys/netinet/tcp_lro_hpts.c | 7 ++++--- sys/netinet/tcp_stacks/rack_bbr_common.c | 4 ---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/sys/netinet/tcp_lro_hpts.c b/sys/netinet/tcp_lro_hpts.c index 7724e727d5ce..84944c8db1ce 100644 --- a/sys/netinet/tcp_lro_hpts.c +++ b/sys/netinet/tcp_lro_hpts.c @@ -74,15 +74,15 @@ build_ack_entry(struct tcp_ackent *ae, struct tcphdr *th, struct mbuf *m, ae->flags |= TSTMP_LRO; else if (m->m_flags & M_TSTMP) ae->flags |= TSTMP_HDWR; - ae->seq = ntohl(th->th_seq); - ae->ack = ntohl(th->th_ack); + ae->seq = th->th_seq; + ae->ack = th->th_ack; ae->flags |= tcp_get_flags(th); if (ts_ptr != NULL) { ae->ts_value = ntohl(ts_ptr[1]); ae->ts_echo = ntohl(ts_ptr[2]); ae->flags |= HAS_TSTMP; } - ae->win = ntohs(th->th_win); + ae->win = th->th_win; ae->codepoint = iptos; } @@ -310,6 +310,7 @@ do_bpf_strip_and_compress(struct tcpcb *tp, struct lro_ctrl *lc, th = tcp_lro_get_th(m); th->th_sum = 0; /* TCP checksum is valid. */ + tcp_fields_to_host(th); /* Check if ACK can be compressed */ can_compress = tcp_lro_ack_valid(m, th, &ts_ptr, &other_opts); diff --git a/sys/netinet/tcp_stacks/rack_bbr_common.c b/sys/netinet/tcp_stacks/rack_bbr_common.c index b265e8e6f20b..4a4a8af2bd78 100644 --- a/sys/netinet/tcp_stacks/rack_bbr_common.c +++ b/sys/netinet/tcp_stacks/rack_bbr_common.c @@ -415,10 +415,6 @@ skip_vnet: break; #endif } /* end switch */ - /* - * Convert TCP protocol specific fields to host format. - */ - tcp_fields_to_host(th); off = th->th_off << 2; if (off < sizeof (struct tcphdr) || off > tlen) { printf("off:%d < hdrlen:%zu || > tlen:%u -- dump\n",