<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-ligatures:standardcontextual;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">dpdk-testpmd with AF_XDP PMD can't work on p1p1 (macvlan) interface, but can work on eth0 (veth) interface.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">And is there a method to enable AF_XDP PMD to work in XDP SKB mode? Or add one option to set “SKB mode” in AF_XDP
<a href="https://doc.dpdk.org/guides/nics/af_xdp.html">Options</a> ?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">===============can't work on p1p1 (macvlan) interface====================<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">5p8j4:/tmp # ./dpdk-testpmd --log-level=pmd.net.af_xdp:debug --no-huge --no-pci --no-telemetry --vdev net_af_xdp,iface=p1p1 -- --total-num-mbufs 8192<o:p></o:p></p>
<p class="MsoNormal">EAL: Detected CPU lcores: 40<o:p></o:p></p>
<p class="MsoNormal">EAL: Detected NUMA nodes: 1<o:p></o:p></p>
<p class="MsoNormal">EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem<o:p></o:p></p>
<p class="MsoNormal">EAL: Detected static linkage of DPDK<o:p></o:p></p>
<p class="MsoNormal">EAL: Multi-process socket /var/run/dpdk/rte/mp_socket<o:p></o:p></p>
<p class="MsoNormal">EAL: Selected IOVA mode 'VA'<o:p></o:p></p>
<p class="MsoNormal">EAL: VFIO support initialized<o:p></o:p></p>
<p class="MsoNormal">rte_pmd_af_xdp_probe(): Initializing pmd_af_xdp for net_af_xdp<o:p></o:p></p>
<p class="MsoNormal">init_internals(): Zero copy between umem and mbuf enabled.<o:p></o:p></p>
<p class="MsoNormal">testpmd: create a new mbuf pool <mb_pool_0>: n=8192, size=2176, socket=0<o:p></o:p></p>
<p class="MsoNormal">testpmd: preferred mempool ops selected: ring_mp_mc<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Configuring Port 0 (socket 0)<o:p></o:p></p>
<p class="MsoNormal">eth_rx_queue_setup(): Set up rx queue, rx queue id: 0, xsk queue id: 0<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(8) .xdp_run_config<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(9) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(7) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: prog 'xdp_pass': BPF program load failed: Invalid argument<o:p></o:p></p>
<p class="MsoNormal">libbpf: prog 'xdp_pass': failed to load: -22<o:p></o:p></p>
<p class="MsoNormal">libbpf: failed to load object '/usr/lib64/bpf/xdp-dispatcher.o'<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(7) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(7) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(7) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: Kernel error message: Underlying driver does not support XDP in native mode<o:p></o:p></p>
<p class="MsoNormal">libxdp: Error attaching XDP program to ifindex 5: Operation not supported<o:p></o:p></p>
<p class="MsoNormal">libxdp: XDP mode not supported; try using SKB mode<o:p></o:p></p>
<p class="MsoNormal">xsk_configure(): Failed to create xsk socket.<o:p></o:p></p>
<p class="MsoNormal">eth_rx_queue_setup(): Failed to configure xdp socket<o:p></o:p></p>
<p class="MsoNormal">Fail to configure port 0 rx queues<o:p></o:p></p>
<p class="MsoNormal">rte_pmd_af_xdp_remove(): Removing AF_XDP ethdev on numa socket 0<o:p></o:p></p>
<p class="MsoNormal">eth_dev_close(): Closing AF_XDP ethdev on numa socket 0<o:p></o:p></p>
<p class="MsoNormal">Port 0 is closed<o:p></o:p></p>
<p class="MsoNormal">EAL: Error - exiting with code: 1<o:p></o:p></p>
<p class="MsoNormal">Cause: Start ports failed<o:p></o:p></p>
<p class="MsoNormal">EAL: Already called cleanup<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">===============work on eth0 (veth) interface====================<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">5p8j4:/tmp # ./dpdk-testpmd --log-level=pmd.net.af_xdp:debug --no-huge --no-pci --no-telemetry --vdev net_af_xdp,iface=eth0 -- --total-num-mbufs 8192<o:p></o:p></p>
<p class="MsoNormal">EAL: Detected CPU lcores: 40<o:p></o:p></p>
<p class="MsoNormal">EAL: Detected NUMA nodes: 1<o:p></o:p></p>
<p class="MsoNormal">EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem<o:p></o:p></p>
<p class="MsoNormal">EAL: Detected static linkage of DPDK<o:p></o:p></p>
<p class="MsoNormal">EAL: Multi-process socket /var/run/dpdk/rte/mp_socket<o:p></o:p></p>
<p class="MsoNormal">EAL: Selected IOVA mode 'VA'<o:p></o:p></p>
<p class="MsoNormal">EAL: VFIO support initialized<o:p></o:p></p>
<p class="MsoNormal">rte_pmd_af_xdp_probe(): Initializing pmd_af_xdp for net_af_xdp<o:p></o:p></p>
<p class="MsoNormal">init_internals(): Zero copy between umem and mbuf enabled.<o:p></o:p></p>
<p class="MsoNormal">testpmd: create a new mbuf pool <mb_pool_0>: n=8192, size=2176, socket=0<o:p></o:p></p>
<p class="MsoNormal">testpmd: preferred mempool ops selected: ring_mp_mc<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Warning! port-topology=paired and odd forward ports number, the last port will pair with itself.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Configuring Port 0 (socket 0)<o:p></o:p></p>
<p class="MsoNormal">eth_rx_queue_setup(): Set up rx queue, rx queue id: 0, xsk queue id: 0<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(8) .xdp_run_config<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(9) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(7) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: prog 'xdp_pass': BPF program load failed: Invalid argument<o:p></o:p></p>
<p class="MsoNormal">libbpf: prog 'xdp_pass': failed to load: -22<o:p></o:p></p>
<p class="MsoNormal">libbpf: failed to load object '/usr/lib64/bpf/xdp-dispatcher.o'<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(7) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(7) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">libbpf: elf: skipping unrecognized data section(7) xdp_metadata<o:p></o:p></p>
<p class="MsoNormal">configure_preferred_busy_poll(): Busy polling budget set to: 64<o:p></o:p></p>
<p class="MsoNormal">Port 0: 42:5F:27:A2:63:BA<o:p></o:p></p>
<p class="MsoNormal">Checking link statuses...<o:p></o:p></p>
<p class="MsoNormal">Done<o:p></o:p></p>
<p class="MsoNormal">No commandline core given, start packet forwarding<o:p></o:p></p>
<p class="MsoNormal">io packet forwarding - ports=1 - cores=1 - streams=1 - NUMA support enabled, MP allocation mode: native<o:p></o:p></p>
<p class="MsoNormal">Logical Core 1 (socket 0) forwards packets on 1 streams:<o:p></o:p></p>
<p class="MsoNormal">RX P=0/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">io packet forwarding packets/burst=32<o:p></o:p></p>
<p class="MsoNormal">nb forwarding cores=1 - nb forwarding ports=1<o:p></o:p></p>
<p class="MsoNormal">port 0: RX queue number: 1 Tx queue number: 1<o:p></o:p></p>
<p class="MsoNormal">Rx offloads=0x0 Tx offloads=0x0<o:p></o:p></p>
<p class="MsoNormal">RX queue: 0<o:p></o:p></p>
<p class="MsoNormal">RX desc=0 - RX free threshold=0<o:p></o:p></p>
<p class="MsoNormal">RX threshold registers: pthresh=0 hthresh=0 wthresh=0<o:p></o:p></p>
<p class="MsoNormal">RX Offloads=0x0<o:p></o:p></p>
<p class="MsoNormal">TX queue: 0<o:p></o:p></p>
<p class="MsoNormal">TX desc=0 - TX free threshold=0<o:p></o:p></p>
<p class="MsoNormal">TX threshold registers: pthresh=0 hthresh=0 wthresh=0<o:p></o:p></p>
<p class="MsoNormal">TX offloads=0x0 - TX RS bit threshold=0<o:p></o:p></p>
<p class="MsoNormal">Press enter to exit<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Telling cores to stop...<o:p></o:p></p>
<p class="MsoNormal">Waiting for lcores to finish...<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">---------------------- Forward statistics for port 0 ----------------------<o:p></o:p></p>
<p class="MsoNormal">RX-packets: 14 RX-dropped: 0 RX-total: 14<o:p></o:p></p>
<p class="MsoNormal">TX-packets: 14 TX-dropped: 0 TX-total: 14<o:p></o:p></p>
<p class="MsoNormal">----------------------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++<o:p></o:p></p>
<p class="MsoNormal">RX-packets: 14 RX-dropped: 0 RX-total: 14<o:p></o:p></p>
<p class="MsoNormal">TX-packets: 14 TX-dropped: 0 TX-total: 14<o:p></o:p></p>
<p class="MsoNormal">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Done.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Stopping port 0...<o:p></o:p></p>
<p class="MsoNormal">Stopping ports...<o:p></o:p></p>
<p class="MsoNormal">Done<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Shutting down port 0...<o:p></o:p></p>
<p class="MsoNormal">Closing ports...<o:p></o:p></p>
<p class="MsoNormal">eth_dev_close(): Closing AF_XDP ethdev on numa socket 0<o:p></o:p></p>
<p class="MsoNormal">Port 0 is closed<o:p></o:p></p>
<p class="MsoNormal">Done<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Bye...<o:p></o:p></p>
<p class="MsoNormal">rte_pmd_af_xdp_remove(): Removing AF_XDP ethdev on numa socket 0<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">=================================append test environment====================<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">on workernode:<o:p></o:p></p>
<p class="MsoNormal">=================<o:p></o:p></p>
<p class="MsoNormal">worker-pool1-1:/home/test # nsenter -t 127962 -n<o:p></o:p></p>
<p class="MsoNormal">Directory: /home/test<o:p></o:p></p>
<p class="MsoNormal">Mon Oct 14 03:33:00 CEST 2024<o:p></o:p></p>
<p class="MsoNormal">worker-pool1-1:/home/test # ip addr<o:p></o:p></p>
<p class="MsoNormal">1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000<o:p></o:p></p>
<p class="MsoNormal">link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<o:p></o:p></p>
<p class="MsoNormal">inet 127.0.0.1/8 scope host lo<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">inet6 ::1/128 scope host<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000<o:p></o:p></p>
<p class="MsoNormal">link/ipip 0.0.0.0 brd 0.0.0.0<o:p></o:p></p>
<p class="MsoNormal">4: eth0@if108: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 2120 qdisc noqueue state UP group default<o:p></o:p></p>
<p class="MsoNormal">link/ether 42:5f:27:a2:63:ba brd ff:ff:ff:ff:ff:ff link-netnsid 0<o:p></o:p></p>
<p class="MsoNormal">inet 192.168.96.160/32 scope global eth0<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">inet6 fe80::405f:27ff:fea2:63ba/64 scope link<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">5: p1p1@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default<o:p></o:p></p>
<p class="MsoNormal">link/ether 7e:c5:53:73:95:5e brd ff:ff:ff:ff:ff:ff link-netnsid 0<o:p></o:p></p>
<p class="MsoNormal">inet6 fe80::7cc5:53ff:fe73:955e/64 scope link<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">worker-pool1-1:/home/test # ethtool -i eth0<o:p></o:p></p>
<p class="MsoNormal">driver: veth<o:p></o:p></p>
<p class="MsoNormal">version: 1.0<o:p></o:p></p>
<p class="MsoNormal">firmware-version:<o:p></o:p></p>
<p class="MsoNormal">expansion-rom-version:<o:p></o:p></p>
<p class="MsoNormal">bus-info:<o:p></o:p></p>
<p class="MsoNormal">supports-statistics: yes<o:p></o:p></p>
<p class="MsoNormal">supports-test: no<o:p></o:p></p>
<p class="MsoNormal">supports-eeprom-access: no<o:p></o:p></p>
<p class="MsoNormal">supports-register-dump: no<o:p></o:p></p>
<p class="MsoNormal">supports-priv-flags: no<o:p></o:p></p>
<p class="MsoNormal">worker-pool1-1:/home/test # ethtool -i eth1<o:p></o:p></p>
<p class="MsoNormal">Cannot get driver information: No such device<o:p></o:p></p>
<p class="MsoNormal">worker-pool1-1:/home/test # ethtool -i p1p1<o:p></o:p></p>
<p class="MsoNormal">driver: macvlan<o:p></o:p></p>
<p class="MsoNormal">version: 0.1<o:p></o:p></p>
<p class="MsoNormal">firmware-version:<o:p></o:p></p>
<p class="MsoNormal">expansion-rom-version:<o:p></o:p></p>
<p class="MsoNormal">bus-info:<o:p></o:p></p>
<p class="MsoNormal">supports-statistics: no<o:p></o:p></p>
<p class="MsoNormal">supports-test: no<o:p></o:p></p>
<p class="MsoNormal">supports-eeprom-access: no<o:p></o:p></p>
<p class="MsoNormal">supports-register-dump: no<o:p></o:p></p>
<p class="MsoNormal">supports-priv-flags: no<o:p></o:p></p>
<p class="MsoNormal">worker-pool1-1:/home/test #<o:p></o:p></p>
<p class="MsoNormal">==============================<o:p></o:p></p>
<p class="MsoNormal">in container:<o:p></o:p></p>
<p class="MsoNormal">============<o:p></o:p></p>
<p class="MsoNormal">5p8j4:/tmp # ip addr<o:p></o:p></p>
<p class="MsoNormal">1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000<o:p></o:p></p>
<p class="MsoNormal">link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00<o:p></o:p></p>
<p class="MsoNormal">inet 127.0.0.1/8 scope host lo<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">inet6 ::1/128 scope host<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000<o:p></o:p></p>
<p class="MsoNormal">link/ipip 0.0.0.0 brd 0.0.0.0<o:p></o:p></p>
<p class="MsoNormal">4: eth0@if108: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 2120 qdisc noqueue state UP group default<o:p></o:p></p>
<p class="MsoNormal">link/ether 42:5f:27:a2:63:ba brd ff:ff:ff:ff:ff:ff link-netnsid 0<o:p></o:p></p>
<p class="MsoNormal">inet 192.168.96.160/32 scope global eth0<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">inet6 fe80::405f:27ff:fea2:63ba/64 scope link<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">5: p1p1@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default<o:p></o:p></p>
<p class="MsoNormal">link/ether 7e:c5:53:73:95:5e brd ff:ff:ff:ff:ff:ff link-netnsid 0<o:p></o:p></p>
<p class="MsoNormal">inet6 fe80::7cc5:53ff:fe73:955e/64 scope link<o:p></o:p></p>
<p class="MsoNormal">valid_lft forever preferred_lft forever<o:p></o:p></p>
<p class="MsoNormal">=========================================================================<o:p></o:p></p>
</div>
</body>
</html>