Bug 2218500
| Summary: | xdp-tools update for RHEL9.3 | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Toke Høiland-Jørgensen <thoiland> |
| Component: | xdp-tools | Assignee: | Toke Høiland-Jørgensen <thoiland> |
| Status: | CLOSED ERRATA | QA Contact: | Rick Alongi <ralongi> |
| Severity: | unspecified | Docs Contact: | Jaroslav Klech <jklech> |
| Priority: | unspecified | ||
| Version: | 9.3 | CC: | ctrautma, jhsiao, jklech, ralongi |
| Target Milestone: | rc | Keywords: | Triaged |
| Target Release: | --- | Flags: | pm-rhel:
mirror+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | xdp-tools-1.4.0-1.el9 | Doc Type: | Enhancement |
| Doc Text: |
.The `xdp-tools` package rebased to version 1.4.0
The `xdp-tools` package has been upgraded to version 1.4.0, which provides multiple bug fixes and enhancements. Notable changes include:
* The `xdp-bench` utility gained support for multi-buffer eXpress Data Path (XDP) and for benchmarking the `xdp_load_bytes()` helper in the kernel. This feature enables conducting network benchmarking tests with large maximum transmission units (MTUs).
* The locking of the command line utilities of `xdp-tools` was improved to prevent stale locks if the utility did not exit cleanly.
* The `libxdp` library contains a new `pass:[xsk_umem__create_with_fd()]` API that accepts an extra file descriptor of an already open `AF_XDP` socket. You can use this function as a substitute for the regular `pass:[xsk_umem__create()]` function when a process does not have `CAP_NET_RAW` privileges.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-11-07 08:36:03 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Toke Høiland-Jørgensen
2023-06-29 12:23:54 UTC
Build available here: https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=2580574 Hi Toke, What particular test or tests needed to pre-verify the build ? Thanks! Jean Hi Toke, What particular test or tests needed to pre-verify the build ? Thanks! Jean Hi Toke, Please review Comment 8 and 9. Is it enough to set the status to VERIFIED ? Thanks! Jean After rebuilding xdp-loader using libbpf-1.2.0-1.el9:
Running all tests from ./tests
Running tests from ./tests/xdp-bench/test-xdp-bench.sh
[test_drop] PASS
[test_pass] PASS
[test_tx] PASS
[test_xdp_load_bytes] PASS
[test_rxq_stats] PASS
[test_redirect] PASS
[test_redirect_cpu] PASS
[test_redirect_map] PASS
[test_redirect_map_egress] PASS
[test_redirect_multi] PASS
[test_redirect_multi_egress] PASS
Running tests from ./tests/xdpdump/test-xdpdump.sh
[test_help] PASS
[test_interfaces] PASS
[test_capt_pcap] PASS
[test_capt_pcapng] PASS
[test_capt_term] PASS
[test_exitentry] PASS
[test_snap] PASS
[test_multi_pkt] PASS
[test_perf_wakeup] PASS
[test_promiscuous_selfload] PASS
[test_promiscuous_preload] PASS
[test_none_xdp] PASS
[test_pname_parse] PASS
[test_multi_prog] PASS
[test_xdp_load] PASS
Running tests from ./tests/xdp-filter/test-xdp-filter.sh
[test_load] PASS
[test_print] PASS
[test_output_remove] PASS
[test_ports_allow] PASS
[test_ports_deny] PASS
[test_ipv6_allow] PASS
[test_ipv6_deny] PASS
[test_ipv4_allow] PASS
[test_ipv4_deny] PASS
[test_ether_allow] PASS
[test_ether_deny] PASS
[test_python_basic] SKIPPED
[test_python_slow] SKIPPED
Running tests from ./tests/xdp-loader/test-xdp-loader.sh
[test_load] PASS
[test_section] PASS
[test_prog_name] PASS
[test_load_multi] PASS
[test_load_incremental] PASS
[test_load_clobber] PASS
[test_features] PASS
Running tests from ./tests/xdp-monitor/test-xdp-monitor.sh
[test_monitor] PASS
Running tests from ./tests/xdp-trafficgen/test-xdp-trafficgen.sh
[test_udp] PASS
[test_tcp] PASS
[root@netqe1 xdp-tools]#
[root@netqe1 xdp-tools]# rpm -q libbpf
libbpf-1.2.0-1.el9.x86_64
[root@netqe1 xdp-tools]#
Manually, passed xdp_traffgen: xdp-trafficgen udp -m 00:de:ad:de:ad:01 -a abcd::1 ens1f0np0 -t 16 lo->ens1f0np0 0 err/s 19,446,486 xmit/s lo->ens1f0np0 0 err/s 19,481,960 xmit/s lo->ens1f0np0 0 err/s 19,467,735 xmit/s lo->ens1f0np0 0 err/s 19,483,938 xmit/s lo->ens1f0np0 0 err/s 19,486,515 xmit/s lo->ens1f0np0 0 err/s 19,475,911 xmit/s lo->ens1f0np0 0 err/s 19,299,750 xmit/s lo->ens1f0np0 0 err/s 19,260,802 xmit/s lo->ens1f0np0 0 err/s 19,152,162 xmit/s Got issue against TCP mode: xdp-trafficgen tcp -i ens1f0np0 192.168.3.1 [root@netqe4 ~]# ip r default via 10.19.15.254 dev eno1 proto dhcp src 10.19.15.11 metric 104 10.19.15.0/24 dev eno1 proto kernel scope link src 10.19.15.11 metric 104 192.168.3.0/24 dev ens1f0np0 proto kernel scope link src 192.168.3.4 [root@netqe4 ~]# [root@netqe4 ~]# ping -c 3 192.168.3.1 PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data. 64 bytes from 192.168.3.1: icmp_seq=1 ttl=64 time=0.039 ms 64 bytes from 192.168.3.1: icmp_seq=2 ttl=64 time=0.049 ms 64 bytes from 192.168.3.1: icmp_seq=3 ttl=64 time=0.046 ms --- 192.168.3.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2069ms rtt min/avg/max/mdev = 0.039/0.044/0.049/0.004 ms [root@netqe4 ~]# xdp-trafficgen tcp -i ens1f0np0 192.168.3.1 Couldn't resolve hostname: Address family for hostname not supported [root@netqe4 ~]# Hi Toke, Please advise! Thanks! Jean The tcp-trafficgen utility only supports IPv6. It looks like you ran the UDP test over IPv6, any reason you can't do the same for the TCP test? :) Also, nice work getting everything tested while I was away! (In reply to Toke Høiland-Jørgensen from comment #14) > The tcp-trafficgen utility only supports IPv6. It looks like you ran the UDP I see. NOTE: I have passed the project to Rick. > test over IPv6, any reason you can't do the same for the TCP test? :) > > Also, nice work getting everything tested while I was away! Was trying to get some bugs done before heading for a new adventure. It's been great working with you. Thanks! Jean (In reply to Jean-Tsung Hsiao from comment #15) > (In reply to Toke Høiland-Jørgensen from comment #14) > > The tcp-trafficgen utility only supports IPv6. It looks like you ran the UDP > I see. > NOTE: I have passed the project to Rick. Right, gotcha! Rick, let me know if you need anything more from my side! > > test over IPv6, any reason you can't do the same for the TCP test? :) > > > > Also, nice work getting everything tested while I was away! > Was trying to get some bugs done before heading for a new adventure. > It's been great working with you. Likewise - good luck on your new adventures! :) -Toke Completed Verification by sending xdp-trafficgen traffic successfully: [root@netqe2 ~]# xdp-trafficgen udp -a 2000::2 ens1f0 -t 16 Transmitting on ens1f0 (ifindex 11) lo->ens1f0 0 err/s 35,015,965 xmit/s lo->ens1f0 0 err/s 35,511,716 xmit/s lo->ens1f0 0 err/s 35,511,059 xmit/s lo->ens1f0 0 err/s 35,510,859 xmit/s lo->ens1f0 0 err/s 35,510,574 xmit/s [root@netqe2 ~]# xdp-trafficgen tcp -i ens1f0 2000::2 Connected to 2000::2 port 10000 from 2000::1 port 55182 lo->ens1f0 0 err/s 1,939,423 xmit/s lo->ens1f0 0 err/s 1,922,145 xmit/s lo->ens1f0 0 err/s 1,921,822 xmit/s lo->ens1f0 0 err/s 1,924,493 xmit/s lo->ens1f0 0 err/s 1,922,445 xmit/s [root@netqe2 ~]# rpm -qa | grep xdp libxdp-1.4.0-1.el9.x86_64 libxdp-devel-1.4.0-1.el9.x86_64 libxdp-static-1.4.0-1.el9.x86_64 xdp-tools-1.4.0-1.el9.x86_64 [root@netqe2 ~]# uname -r 5.14.0-362.1.1.el9_3.x86_64 Sure, added some text; hoping you can work from that :) No, your version is definitely better, thanks! Just fixed a few wording nits, otherwise LGTM :) BTW, we also separately added a known issue for xdp-tools, see https://issues.redhat.com/browse/RHEL-3382 - not sure if those need to be cross-referenced somehow? I left the 'features' command out of the doc text here since it's broken as per that other issue... (In reply to Toke Høiland-Jørgensen from comment #22) > BTW, we also separately added a known issue for xdp-tools, see > https://issues.redhat.com/browse/RHEL-3382 - not sure if those need to be > cross-referenced somehow? I left the 'features' command out of the doc text > here since it's broken as per that other issue... I think that known issue should be documented just as a separate release note. Since it is a known issue i would not mention it in this rebase. Typically, the docs team tends to mention in the rebases just new features and bugfixes. Alright, SGTM; thanks! Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (xdp-tools bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2023:6516 |