From nobody Wed Oct 12 01:18:25 2022 X-Original-To: dev-commits-src-branches@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 4MnFCQ0xPpz4dwGv; Wed, 12 Oct 2022 01:18:26 +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 4MnFCQ0Kyhz46b0; Wed, 12 Oct 2022 01:18:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1665537506; 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=Khgt+2qdePClcqsmHuy8LHlwgY9VOK880tMCo9cpdMQ=; b=qMG7MDD3OcB3yK9/wg4wr6hqRLwJ4pcpsy3FIeDPRuhTAMaIKooj0oTtDOuhFnYpyq16pR aDEzish3cyaayB6SNRbZMWWhXmZCNWC1rUv6ztPZNcAO3QPYCSvOX7OMvrQcZRY/LLJV7d EtKt2XSUH/2IZxpisXI/xhw1xB+/hC+gRsQdtADVCfNhlUhrCrO1IZZQHmafoaGra2089h P3gaGARtWFdPKXvXMB1lcQ9Mjrw9QKGNClqlzRUWK1Bi4+7IrU3jyQj3uTVk1a9AtZBu/K 4sxC/S8I8sGsY7ONTSZR0Luf2Ri7q6r2hDd623AcFcPaiBhrXG6xxqNltq4+fA== 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 4MnFCP6V7Rz18KQ; Wed, 12 Oct 2022 01:18:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 29C1IPFi047392; Wed, 12 Oct 2022 01:18:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 29C1IPCt047391; Wed, 12 Oct 2022 01:18:25 GMT (envelope-from git) Date: Wed, 12 Oct 2022 01:18:25 GMT Message-Id: <202210120118.29C1IPCt047391@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 29d2aa149562 - stable/13 - Add mbuf_tstmp2timeval() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 29d2aa149562e710f6ea2461ee58d411cf3359c8 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1665537506; 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=Khgt+2qdePClcqsmHuy8LHlwgY9VOK880tMCo9cpdMQ=; b=r57lbQZbRA8wq/nLcblT6l7aR5PU4LaRxme+LQJkFdGee9BwGfkJLppYeqz+JvVQcyDuha GDPxTphZ7UFWgiB75eTS+GfVyv0RskQCPn8BZY2MC9D9HalLg2wX6ACCTZLYKSQ5SQU0S0 voLeXw0TSEkin1KQY912aJ6XhVlOGilMEiOQCwkTsxliIL3cuaJ2G0jeZM4gON48jS+u0N C43/4VKn2bcBQgvNyIcxMmv0Z2QL9InnLW/V9M06+rDETrAIJFTpxUoaDoY2bRzyjccbvx QL23Z7ymHvv3PXxTOtLr9rolBeDQVHPfsN4IWqbIh6FiQjdK7JetAwLlLoZX4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1665537506; a=rsa-sha256; cv=none; b=hr3Ytn5sFs03kaMizdeztVr4SI79UcoeAqUbr11OPPtk6aM/PHy15qUPf32z8QUlZuOgev 4JV1BKHEndhLfdXqZGyNx0aZRcMR7uRc/VrLAKZ9257fo2T4NX2MBTviA42Z0WlubJ6/0R g83PmVqNuCu3/4NHZRQxqi75+kMDsDpM5JU0082zG8OTIKUsBrrCiKjte19c+pLk0o4jsw lG014tfqBt0tWwZkzyhYRX+y7NALuXOjumd6/jUGNWoTyhiG9gQBXM+PD4ktQGwVPFSuQa kgNxu6fCxf6ylfxp4H+1C600SJvNXfpNYrlGVqvRoNyrmCDQgmiTiYQ0PlKT9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=29d2aa149562e710f6ea2461ee58d411cf3359c8 commit 29d2aa149562e710f6ea2461ee58d411cf3359c8 Author: Konstantin Belousov AuthorDate: 2022-10-03 22:49:45 +0000 Commit: Konstantin Belousov CommitDate: 2022-10-12 01:12:40 +0000 Add mbuf_tstmp2timeval() (cherry picked from commit 2220b66fe0d5c2dfdaf3c22dcec3771665874d69) --- sys/netinet/tcp_stacks/bbr.c | 6 ++---- sys/netinet/tcp_stacks/rack.c | 3 +-- sys/sys/mbuf.h | 14 +++++++++++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c index 07c0e427f156..a029db05fd72 100644 --- a/sys/netinet/tcp_stacks/bbr.c +++ b/sys/netinet/tcp_stacks/bbr.c @@ -2265,8 +2265,7 @@ bbr_log_ack_event(struct tcp_bbr *bbr, struct tcphdr *th, struct tcpopt *to, uin log.u_bbr.lt_epoch = 0; } if (m->m_flags & M_TSTMP_LRO) { - tv.tv_sec = m->m_pkthdr.rcv_tstmp / 1000000000; - tv.tv_usec = (m->m_pkthdr.rcv_tstmp % 1000000000) / 1000; + mbuf_tstmp2timeval(m, &tv); log.u_bbr.flex5 = tcp_tv_to_usectick(&tv); } else { /* No arrival timestamp */ @@ -11722,8 +11721,7 @@ bbr_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so, } } if (m->m_flags & M_TSTMP_LRO) { - tv.tv_sec = m->m_pkthdr.rcv_tstmp /1000000000; - tv.tv_usec = (m->m_pkthdr.rcv_tstmp % 1000000000)/1000; + mbuf_tstmp2timeval(m, &tv); } else { /* Should not be should we kassert instead? */ tcp_get_usecs(&tv); diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index cd3b0347fdf2..db2638d65106 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -14139,8 +14139,7 @@ rack_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so, } } if (m->m_flags & M_TSTMP_LRO) { - tv.tv_sec = m->m_pkthdr.rcv_tstmp /1000000000; - tv.tv_usec = (m->m_pkthdr.rcv_tstmp % 1000000000)/1000; + mbuf_tstmp2timeval(m, &tv); } else { /* Should not be should we kassert instead? */ tcp_get_usecs(&tv); diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 6fd83b165752..72495a925827 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -1629,12 +1629,24 @@ mbuf_tstmp2timespec(struct mbuf *m, struct timespec *ts) { KASSERT((m->m_flags & M_PKTHDR) != 0, ("mbuf %p no M_PKTHDR", m)); - KASSERT((m->m_flags & (M_TSTMP|M_TSTMP_LRO)) != 0, ("mbuf %p no M_TSTMP or M_TSTMP_LRO", m)); + KASSERT((m->m_flags & (M_TSTMP|M_TSTMP_LRO)) != 0, + ("mbuf %p no M_TSTMP or M_TSTMP_LRO", m)); ts->tv_sec = m->m_pkthdr.rcv_tstmp / 1000000000; ts->tv_nsec = m->m_pkthdr.rcv_tstmp % 1000000000; } #endif +static inline void +mbuf_tstmp2timeval(struct mbuf *m, struct timeval *tv) +{ + + KASSERT((m->m_flags & M_PKTHDR) != 0, ("mbuf %p no M_PKTHDR", m)); + KASSERT((m->m_flags & (M_TSTMP|M_TSTMP_LRO)) != 0, + ("mbuf %p no M_TSTMP or M_TSTMP_LRO", m)); + tv->tv_sec = m->m_pkthdr.rcv_tstmp / 1000000000; + tv->tv_usec = (m->m_pkthdr.rcv_tstmp % 1000000000) / 1000; +} + #ifdef DEBUGNET /* Invoked from the debugnet client code. */ void debugnet_mbuf_drain(void);