From nobody Mon Oct 03 22:54:02 2022 X-Original-To: dev-commits-src-main@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 4MhGNV6PSBz4Tybt; Mon, 3 Oct 2022 22:54:02 +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 4MhGNV5htyz3Ml5; Mon, 3 Oct 2022 22:54:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664837642; 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=6IE3TdOzHwHFodXRYSNdiCGh62BxMSA7zoU6SqXHy14=; b=Co0clx0Whb3JzV9pJxEJKDx2+8AD0QrIPLHEpCvSSSRA/TERSh3dybiZOTVLlTeOjTFRyr h7wCgx6BuCKIJdrrai62pVfJN1KrqxbWs6BVteoR/l6BahHzlLvYKPToZ9fpN026nlswnw 8ffFzDxTTtPQVYwaIQzf4P0J7O58KFxw/kzhOy/di/SifbpBz1SWMNGx4IB1AbhjAdsV18 qZ6DXbmRyfn3/87CifJ0vF92onwKHb8x0x99GCtFR8u4Kstr9ylHSi+sBYA8+5gtAt46/V 45yqItaW4ZgNWSkNl6TmZLzMljkuZjwmoNHPHYAhV0XXIFPcyJUNWqY/9o3rcw== 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 4MhGNV4lPvzM9d; Mon, 3 Oct 2022 22:54:02 +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 293Ms23N041858; Mon, 3 Oct 2022 22:54:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 293Ms2hM041857; Mon, 3 Oct 2022 22:54:02 GMT (envelope-from git) Date: Mon, 3 Oct 2022 22:54:02 GMT Message-Id: <202210032254.293Ms2hM041857@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jung-uk Kim Subject: git: 56cdab337269 - main - bpf: obtain timestamps from controller via pkthdr if available List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jkim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56cdab3372690a28ef7daf6cdb1a2146cf3123f9 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664837642; 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=6IE3TdOzHwHFodXRYSNdiCGh62BxMSA7zoU6SqXHy14=; b=Q346iQrv8nzTAisoXJJXEUlQwlQrx0lzP40ECc1yVU9sitfdUSYVmNsxHceL5VJga+B6Hy SORM9nRRSNIFaPT+juNnuE1Pa/kChZJe6k1CWX4l3YwU1oMfmSMQezFrN6ufYQNI/BEKue ai9zOtSaNSo8YlLnWAJ2swzMYoRUbMfuPTj1Kec5jAWR0o7+XQfZY1V97tll/zOG/9TSqc qDHFvmfwP09pNJF2dlnaGMK77dCGaIz7JIt2TV/RdnZ08/4k3Qm1/P5FFz1NGYYOuVQyvK OoZVr+L6ZIZnCTEk7g34ePyOlgWO1n6txr3C9HNZNKGYGxHIp+cuTUSeeeHIGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1664837642; a=rsa-sha256; cv=none; b=sN6HtX0K/HY1ITfXaPa3wKzLs25wvc0/6V3ZSKIWupuhEjlsfbDbEdIHSCOKqif9owiaaS Kv1mIjhyIOZRnuEHgB4eOw6vrD4Z5bQglvvJ9WqkuY1zkWN+Bc1fFL87dmgD7d3E90wOp/ LBdXaeIj3qeNqJgpmFGGdOZAqUx87h5veJoYaT+SYR6JSpUxro/8p1FcK4j9Th8YNOK9w7 UGj2MuesuzZ3u0BYa/7zm9oOuqx5AgZx9Gs4cEJmld3MFM+gjOfPyvh3mY3+dJK3wmFUFX 0mlRvKm6CII1a7VIlM8hKRFIPSb6BGOuHmPhGjQxrIzkcx4xskIp/LBBMxPe1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jkim: URL: https://cgit.FreeBSD.org/src/commit/?id=56cdab3372690a28ef7daf6cdb1a2146cf3123f9 commit 56cdab3372690a28ef7daf6cdb1a2146cf3123f9 Author: Jung-uk Kim AuthorDate: 2022-10-03 22:45:56 +0000 Commit: Jung-uk Kim CommitDate: 2022-10-03 22:53:40 +0000 bpf: obtain timestamps from controller via pkthdr if available r325506 (3cf8254f1ea9) extended struct pkthdr to add packet timestamp in mbuf(9) chain. For example, cxgbe(4) and mlx5en(4) support this feature. Use the timestamp for bpf(4) if it is available. Reviewed by: hselasky, kib, np MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36868 --- sys/net/bpf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 4c8c77d1e948..eded898d2fc3 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -2265,6 +2265,7 @@ bpf_ts_quality(int tstype) static int bpf_gettime(struct bintime *bt, int tstype, struct mbuf *m) { + struct timespec ts; struct m_tag *tag; int quality; @@ -2273,6 +2274,11 @@ bpf_gettime(struct bintime *bt, int tstype, struct mbuf *m) return (quality); if (m != NULL) { + if ((m->m_flags & (M_PKTHDR | M_TSTMP)) == (M_PKTHDR | M_TSTMP)) { + mbuf_tstmp2timespec(m, &ts); + timespec2bintime(&ts, bt); + return (BPF_TSTAMP_EXTERN); + } tag = m_tag_locate(m, MTAG_BPF, MTAG_BPF_TIMESTAMP, NULL); if (tag != NULL) { *bt = *(struct bintime *)(tag + 1);