From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass (mailfrom) smtp.mailfrom=linux.dev (client-ip=2001:41d0:1004:224b::91; helo=out-145.mta0.migadu.com; envelope-from=martin.lau@linux.dev; receiver=) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256 header.s=key1 header.b=bPnReTNE Received: from out-145.mta0.migadu.com (out-145.mta0.migadu.com [IPv6:2001:41d0:1004:224b::91]) by mail.toke.dk (Postfix) with ESMTPS id 7D2EF9D3BD6 for ; Fri, 23 Dec 2022 01:53:10 +0100 (CET) Message-ID: <95e79329-b7c9-550b-290e-e5e4ea6e7a01@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1671756789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c8F4nSg+GS23zqd95hLuwa8elF3fLcZRY59bli0MHJA=; b=bPnReTNEzwB68kA42490iey6Obp/BMjIrwRzQJzOY1mxHfIp4iKE/mUPhH8wg7U15k/gGC pMQj5UhRnNe6/IotGuTqCt6fQkl1iCPAV694rFXyARffG7o7INDxjLs4rfoSQAIzEYkC1I IL7cYf+gdxmS64ayyjzeGTtS2yLC08s= Date: Thu, 22 Dec 2022 16:53:03 -0800 MIME-Version: 1.0 Content-Language: en-US To: Stanislav Fomichev References: <20221220222043.3348718-1-sdf@google.com> <20221220222043.3348718-18-sdf@google.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Martin KaFai Lau In-Reply-To: <20221220222043.3348718-18-sdf@google.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT Message-ID-Hash: C2G5CTTF4BSINLABNNDYE3JHOWKWEKLE X-Message-ID-Hash: C2G5CTTF4BSINLABNNDYE3JHOWKWEKLE X-MailFrom: martin.lau@linux.dev X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, song@kernel.org, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, haoluo@google.com, jolsa@kernel.org, David Ahern , Jakub Kicinski , Willem de Bruijn , Jesper Dangaard Brouer , Anatoly Burakov , Alexander Lobakin , Magnus Karlsson , Maryam Tahhan , xdp-hints@xdp-project.net, netdev@vger.kernel.org, bpf@vger.kernel.org X-Mailman-Version: 3.3.7 Precedence: list Subject: [xdp-hints] Re: [PATCH bpf-next v5 17/17] selftests/bpf: Simple program to dump XDP RX metadata List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On 12/20/22 2:20 PM, Stanislav Fomichev wrote: > To be used for verification of driver implementations. Note that > the skb path is gone from the series, but I'm still keeping the > implementation for any possible future work. > > $ xdp_hw_metadata > > On the other machine: > > $ echo -n xdp | nc -u -q1 9091 # for AF_XDP > $ echo -n skb | nc -u -q1 9092 # for skb > > Sample output: > > # xdp > xsk_ring_cons__peek: 1 > 0x19f9090: rx_desc[0]->addr=100000000008000 addr=8100 comp_addr=8000 > rx_timestamp_supported: 1 > rx_timestamp: 1667850075063948829 > 0x19f9090: complete idx=8 addr=8000 > > # skb > found skb hwtstamp = 1668314052.854274681 > > Decoding: > # xdp > rx_timestamp=1667850075.063948829 > > $ date -d @1667850075 > Mon Nov 7 11:41:15 AM PST 2022 > $ date > Mon Nov 7 11:42:05 AM PST 2022 > > # skb > $ date -d @1668314052 > Sat Nov 12 08:34:12 PM PST 2022 > $ date > Sat Nov 12 08:37:06 PM PST 2022 > > Cc: John Fastabend > Cc: David Ahern > Cc: Martin KaFai Lau > Cc: Jakub Kicinski > Cc: Willem de Bruijn > Cc: Jesper Dangaard Brouer > Cc: Anatoly Burakov > Cc: Alexander Lobakin > Cc: Magnus Karlsson > Cc: Maryam Tahhan > Cc: xdp-hints@xdp-project.net > Cc: netdev@vger.kernel.org > Signed-off-by: Stanislav Fomichev > --- > tools/testing/selftests/bpf/.gitignore | 1 + > tools/testing/selftests/bpf/Makefile | 6 +- > .../selftests/bpf/progs/xdp_hw_metadata.c | 81 ++++ > tools/testing/selftests/bpf/xdp_hw_metadata.c | 405 ++++++++++++++++++ > 4 files changed, 492 insertions(+), 1 deletion(-) > create mode 100644 tools/testing/selftests/bpf/progs/xdp_hw_metadata.c > create mode 100644 tools/testing/selftests/bpf/xdp_hw_metadata.c > > diff --git a/tools/testing/selftests/bpf/.gitignore b/tools/testing/selftests/bpf/.gitignore > index 07d2d0a8c5cb..01e3baeefd4f 100644 > --- a/tools/testing/selftests/bpf/.gitignore > +++ b/tools/testing/selftests/bpf/.gitignore > @@ -46,3 +46,4 @@ test_cpp > xskxceiver > xdp_redirect_multi > xdp_synproxy > +xdp_hw_metadata > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > index e6cbc04a7920..b7d5d3aa554e 100644 > --- a/tools/testing/selftests/bpf/Makefile > +++ b/tools/testing/selftests/bpf/Makefile > @@ -83,7 +83,7 @@ TEST_PROGS_EXTENDED := with_addr.sh \ > TEST_GEN_PROGS_EXTENDED = test_sock_addr test_skb_cgroup_id_user \ > flow_dissector_load test_flow_dissector test_tcp_check_syncookie_user \ > test_lirc_mode2_user xdping test_cpp runqslower bench bpf_testmod.ko \ > - xskxceiver xdp_redirect_multi xdp_synproxy veristat > + xskxceiver xdp_redirect_multi xdp_synproxy veristat xdp_hw_metadata > > TEST_CUSTOM_PROGS = $(OUTPUT)/urandom_read $(OUTPUT)/sign-file > TEST_GEN_FILES += liburandom_read.so > @@ -241,6 +241,9 @@ $(OUTPUT)/test_maps: $(TESTING_HELPERS) > $(OUTPUT)/test_verifier: $(TESTING_HELPERS) $(CAP_HELPERS) > $(OUTPUT)/xsk.o: $(BPFOBJ) > $(OUTPUT)/xskxceiver: $(OUTPUT)/xsk.o > +$(OUTPUT)/xdp_hw_metadata: $(OUTPUT)/xsk.o $(OUTPUT)/xdp_hw_metadata.skel.h > +$(OUTPUT)/xdp_hw_metadata: $(OUTPUT)/network_helpers.o > +$(OUTPUT)/xdp_hw_metadata: LDFLAGS += -static This test binary fails to build for llvm. gcc looks fine though. The CI tests cannot be run on this set because of this. Please take a look: https://github.com/kernel-patches/bpf/actions/runs/3745257032/jobs/6359527599#step:11:2202 I only have minor comments on the set. Looking forward to v6.