Thank you for the clarification, however, I have not created any tap device by manual process and trying to create one by DPDK,let me know if I am missing anything in the parameter list. /dpdk-l3fwd --log-level *:debug -c f -n 4 --vdev=net_tap0 -- -p 0x3 --config="(0,0,0),(0,1,1),(1,0,2)" *Here is the outcome for dpdk-devbind.py -s on my machine is there any other way to see the Tap devices created from DPDK.* Network devices using kernel driver =================================== 0000:00:03.0 'Virtio network device 1000' if=ens3 drv=virtio-pci unused=vfio-pci,uio_pci_generic *Active* Other Network devices ===================== 0000:00:05.0 'Ethernet Virtual Function 700 Series 154c' unused=iavf,vfio-pci,uio_pci_generic 0000:00:06.0 'Ethernet Virtual Function 700 Series 154c' unused=iavf,vfio-pci,uio_pci_generic No 'Baseband' devices detected ============================== No 'Crypto' devices detected ============================ No 'DMA' devices detected ========================= No 'Eventdev' devices detected ============================== No 'Mempool' devices detected ============================= No 'Compress' devices detected ============================== Misc (rawdev) devices using kernel driver ========================================= 0000:00:04.0 'Virtio block device 1001' drv=virtio-pci unused=vfio-pci,uio_pci_generic No 'Regex' devices detected =========================== On the details log it is failing at .*/dpdk-l3fwd --log-level *:debug -c f -n 4 --vdev=net_tap0 -- -p 0x3 --config="(0,0,0),(0,1,1),(1,0,2)"* EAL: pmd.bb.turbo_sw log level changed from notice to debug EAL: Detected lcore 0 as core 0 on socket 0 EAL: Detected lcore 1 as core 0 on socket 0 EAL: Detected lcore 2 as core 0 on socket 0 EAL: Detected lcore 3 as core 0 on socket 0 EAL: Detected lcore 4 as core 0 on socket 0 EAL: Detected lcore 5 as core 0 on socket 0 EAL: Detected lcore 6 as core 0 on socket 0 EAL: Detected lcore 7 as core 0 on socket 0 EAL: Maximum logical cores by configuration: 128 EAL: Detected CPU lcores: 8 EAL: Detected NUMA nodes: 1 EAL: Checking presence of .so 'librte_eal.so.22.0' EAL: Checking presence of .so 'librte_eal.so.22' EAL: Checking presence of .so 'librte_eal.so' EAL: Detected static linkage of DPDK dpaa: rte_dpaa_bus_parse(): Parse device name (net_tap0) fslmc: rte_fslmc_parse(): Parsing dev=(net_tap0) *fslmc: rte_fslmc_parse(): Unknown or unsupported device (net_tap0)* EAL: Ask a virtual area of 0x7000 bytes EAL: Virtual area found at 0x100000000 (size = 0x7000) EAL: Multi-process socket /var/run/dpdk/rte/mp_socket auxiliary bus: /sys/bus/auxiliary/devices not found, is auxiliary module loaded? dpaa: rte_dpaa_bus_scan(): >> EAL: DPAA Bus not present. Skipping. fslmc: fslmc_get_container_group(): DPAA2: DPRC not available fslmc: rte_fslmc_scan(): FSLMC Bus Not Available. Skipping (-22) EAL: VFIO PCI modules not loaded EAL: Bus auxiliary wants IOVA as 'DC' EAL: Bus dpaa_bus wants IOVA as 'DC' EAL: Bus fslmc wants IOVA as 'DC' EAL: PCI driver net_iavf for device 0000:00:05.0 wants IOVA as 'PA' EAL: Bus pci wants IOVA as 'PA' EAL: Bus vdev wants IOVA as 'DC' EAL: Bus dsa wants IOVA as 'DC' EAL: Selected IOVA mode 'PA' EAL: No available 1048576 kB hugepages reported EAL: Probing VFIO support... EAL: IOMMU type 1 (Type 1) is supported EAL: IOMMU type 7 (sPAPR) is not supported EAL: IOMMU type 8 (No-IOMMU) is not supported EAL: VFIO support initialized EAL: Ask a virtual area of 0x2e000 bytes EAL: Virtual area found at 0x100007000 (size = 0x2e000) EAL: Setting up physically contiguous memory... EAL: Setting maximum number of open files to 1048576 EAL: Detected memory type: socket_id:0 hugepage_sz:2097152 EAL: Creating 4 segment lists: n_segs:8192 socket_id:0 hugepage_sz:2097152 EAL: Ask a virtual area of 0x61000 bytes EAL: Virtual area found at 0x100035000 (size = 0x61000) EAL: Memseg list allocated at socket 0, page size 0x800kB EAL: Ask a virtual area of 0x400000000 bytes EAL: Virtual area found at 0x100200000 (size = 0x400000000) EAL: VA reserved for memseg list at 0x100200000, size 400000000 EAL: Ask a virtual area of 0x61000 bytes EAL: Virtual area found at 0x500200000 (size = 0x61000) EAL: Memseg list allocated at socket 0, page size 0x800kB EAL: Ask a virtual area of 0x400000000 bytes EAL: Virtual area found at 0x500400000 (size = 0x400000000) EAL: VA reserved for memseg list at 0x500400000, size 400000000 EAL: Ask a virtual area of 0x61000 bytes EAL: Virtual area found at 0x900400000 (size = 0x61000) EAL: Memseg list allocated at socket 0, page size 0x800kB EAL: Ask a virtual area of 0x400000000 bytes EAL: Virtual area found at 0x900600000 (size = 0x400000000) EAL: VA reserved for memseg list at 0x900600000, size 400000000 EAL: Ask a virtual area of 0x61000 bytes EAL: Virtual area found at 0xd00600000 (size = 0x61000) EAL: Memseg list allocated at socket 0, page size 0x800kB EAL: Ask a virtual area of 0x400000000 bytes EAL: Virtual area found at 0xd00800000 (size = 0x400000000) EAL: VA reserved for memseg list at 0xd00800000, size 400000000 EAL: TSC frequency is ~2100000 KHz EAL: Main lcore 0 is ready (tid=7f74eeab7c00;cpuset=[0]) EAL: lcore 1 is ready (tid=7f74edab2400;cpuset=[1]) EAL: lcore 2 is ready (tid=7f74ed2b1400;cpuset=[2]) EAL: lcore 3 is ready (tid=7f74ecab0400;cpuset=[3]) EAL: Trying to obtain current memory policy. EAL: Setting policy MPOL_PREFERRED for socket 0 EAL: Restoring previous memory policy: 0 EAL: request: mp_malloc_sync EAL: Heap on socket 0 was expanded by 2MB EAL: PCI device 0000:00:03.0 on NUMA socket -1 EAL: probe driver: 1af4:1000 net_virtio EAL: Probe PCI driver: net_virtio (1af4:1000) device: 0000:00:03.0 (socket 0) EAL: Not managed by a supported kernel driver, skipped virtio_read_caps(): failed to map pci device! vtpci_init(): trying with legacy virtio pci. EAL: Not managed by a supported kernel driver, skipped vtpci_init(): skip kernel managed virtio device. eth_virtio_pci_init(): Failed to init PCI device EAL: Requested device 0000:00:03.0 cannot be used EAL: PCI device 0000:00:05.0 on NUMA socket -1 EAL: probe driver: 8086:154c net_iavf EAL: PCI memory mapped at 0x1100800000 EAL: PCI memory mapped at 0x1100810000 EAL: Probe PCI driver: net_iavf (8086:154c) device: 0000:00:05.0 (socket 0) iavf_dev_init(): >> iavf_set_mac_type iavf_set_mac_type found mac: 2, returns: 0 iavf_read_msg_from_pf(): Can't read msg from AQ iavf_read_msg_from_pf(): AQ from pf carries opcode 1, retval 0 iavf_check_api_version(): Peer is supported PF host iavf_read_msg_from_pf(): Can't read msg from AQ iavf_read_msg_from_pf(): AQ from pf carries opcode 3, retval 0 iavf_dev_alarm_handler(): ICR01_ADMINQ is reported iavf_handle_pf_event_msg(): VIRTCHNL_EVENT_LINK_CHANGE event iavf_handle_virtchnl_msg(): adminq response is received, opcode = 26 vdev_probe_all_drivers(): Search driver to probe device net_tap0 rte_pmd_tap_probe(): Initializing pmd_tap for net_tap0 eth_dev_tap_create(): TAP device on numa 0 tun_alloc(): /dev/net/tun Features 00007133 tun_alloc(): Multi-queue support for 16 queues tun_alloc(): Device name is 'dtap0' tun_alloc(): Using rt-signal 35 *eth_dev_tap_create(): allocated dtap0* EAL: lib.telemetry log level changed from disabled to debug TELEMETRY: Attempting socket bind to path '/var/run/dpdk/rte/dpdk_telemetry.v2' TELEMETRY: Socket creation and binding ok TELEMETRY: Telemetry initialized ok TELEMETRY: No legacy callbacks, legacy socket not created Neither LPM, EM, or FIB selected, defaulting to LPM Initializing port 0 ... Creating queues: nb_rxq=2 nb_txq=4... Port 0 modified RSS hash function based on hardware support,requested:0xa38c configured:0x238c iavf_dev_init_vlan(): Failed to update vlan offload *iavf_dev_configure(): configure VLAN failed: -95* iavf_dev_alarm_handler(): ICR01_ADMINQ is reported iavf_handle_virtchnl_msg(): adminq response is received, opcode = 24 iavf_dev_alarm_handler(): ICR01_ADMINQ is reported iavf_handle_virtchnl_msg(): adminq response is received, opcode = 23 iavf_dev_alarm_handler(): ICR01_ADMINQ is reported iavf_handle_virtchnl_msg(): adminq response is received, opcode = 25 iavf_dev_alarm_handler(): ICR01_ADMINQ is reported iavf_handle_virtchnl_msg(): adminq response is received, opcode = 26 Port 0 Rx offload RSS_HASH is not requested but enabled EAL: Trying to obtain current memory policy. EAL: Setting policy MPOL_PREFERRED for socket 0 EAL: alloc_seg(): mmap() failed: Cannot allocate memory EAL: Ask a virtual area of 0x200000 bytes EAL: Virtual area found at 0x100400000 (size = 0x200000) EAL: attempted to allocate 1 segments, but only 0 were allocated EAL: Restoring previous memory policy: 0 EAL: Error - exiting with code: 1 Cause: Cannot init mbuf pool on socket 0 On Tue, Apr 11, 2023 at 2:03 PM Stephen Hemminger < stephen@networkplumber.org> wrote: > On Tue, 11 Apr 2023 12:51:54 -0400 > Dinesh Kumar wrote: > > > Hi Stephen , > > > > Thanks for your suggestions.I am able to resolve --vdev error however I > am > > having another issue related to buffer. > > .*/dpdk-l3fwd -c f -n 4 --vdev=net_tap3 -- -p 0x3 > > --config="(0,0,1),(0,1,2)"* > > EAL: Detected CPU lcores: 8 > > EAL: Detected NUMA nodes: 1 > > EAL: Detected static linkage of DPDK > > EAL: Multi-process socket /var/run/dpdk/rte/mp_socket > > EAL: Selected IOVA mode 'PA' > > EAL: No available 1048576 kB hugepages reported > > EAL: VFIO support initialized > > EAL: Probe PCI driver: net_virtio (1af4:1000) device: 0000:00:03.0 > (socket > > 0) > > eth_virtio_pci_init(): Failed to init PCI device > > EAL: Requested device 0000:00:03.0 cannot be used > > EAL: Probe PCI driver: net_iavf (8086:154c) device: 0000:00:05.0 (socket > 0) > > EAL: Probe PCI driver: net_iavf (8086:154c) device: 0000:00:06.0 (socket > 0) > > TELEMETRY: No legacy callbacks, legacy socket not created > > Neither LPM, EM, or FIB selected, defaulting to LPM > > Initializing port 0 ... Creating queues: nb_rxq=2 nb_txq=4... Port 0 > > modified RSS hash function based on hardware support,requested:0xa38c > > configured:0x238c > > > > > > > > *iavf_dev_init_vlan(): Failed to update vlan offloadiavf_dev_configure(): > > configure VLAN failed: -95EAL: Error - exiting with code: 1 Cause: > Cannot > > init mbuf pool on socket 0* > > > > Do I need to update any parameters? > > Do I need to add a routing rule parameter? > > Any help /pointers will be really appreciated. > > FYI. I just want to testL3 forwarding via DPDK using the Tap interface > The > > flow is : > > On Vm1 .*/dpdk-l3fwd will create a Tap interface and then I will link > this > > interface with a network namespace and then ping a destination address > via > > the DPDK application running on VM1 and get captured on DPDK application > > running on another VM2 and I am stuck with creation Tap interface on VM1 > > via * . > > */dpdk-l3fwd.* > > Regards, > > Dinesh Kumar > > > > > > > > On Mon, Apr 10, 2023 at 7:08 PM Stephen Hemminger < > > stephen@networkplumber.org> wrote: > > > > > On Mon, 10 Apr 2023 18:47:59 -0400 > > > Dinesh Kumar wrote: > > > > > > > Hi There, > > > > I am new to the DPDK example and having issue with using --vdev > options > > > > for DPDK example and it is throwing the below error. > > > > > > > > ./dpdk-l3fwd --log-level *:debug -c f -n 4 -- -p 0x3 --vdev > > > > 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap' > > > > > > > > ----------------------- > > > > iavf_check_api_version(): Peer is supported PF host > > > > iavf_read_msg_from_pf(): Can't read msg from AQ > > > > iavf_read_msg_from_pf(): AQ from pf carries opcode 3, retval 0 > > > > iavf_dev_alarm_handler(): ICR01_ADMINQ is reported > > > > iavf_handle_pf_event_msg(): VIRTCHNL_EVENT_LINK_CHANGE event > > > > iavf_handle_virtchnl_msg(): adminq response is received, opcode = 26 > > > > EAL: lib.telemetry log level changed from disabled to debug > > > > TELEMETRY: Attempting socket bind to path > > > > '/var/run/dpdk/rte/dpdk_telemetry.v2' > > > > TELEMETRY: Socket creation and binding ok > > > > TELEMETRY: Telemetry initialized ok > > > > TELEMETRY: No legacy callbacks, legacy socket not created > > > > *./dpdk-l3fwd: unrecognized option '--vdev'* > > > > ./dpdk-l3fwd [EAL options] -- -p PORTMASK [-P] [--lookup] --config > > > > (port,queue,lcore)[,(port,queue,lcore)] [--rx-queue-size NPKTS] > > > > [--tx-queue-size NPKTS] [--eth-dest=X,MM:MM:MM:MM:MM:MM] > [--max-pkt-len > > > > PKTLEN] [--no-numa] [--hash-entry-num] [--ipv6] [--parse-ptype] > > > > [--per-port-pool] [--mode] [--eventq-sched] [--event-vector > > > > [--event-vector-size SIZE] [--event-vector-tmo NS]] [-E] [-L] > > > > > > > > please let me know if I am missing some options that need to be > added > > > with > > > > --vdev > > > > > > > > > DPDK options are split into the options for the DPDK infrastructure > (EAL) > > > and those > > > used by the applications. They are separated by the -- option. > > > > > > In your example, the vdev option belongs to the DPDK infrastructure not > > > the application. > > > Put it it before the -- and it should work > > > > > I think you are assuming that the DPDK tap device is for using an > existing tap device. That is not correct. > The DPDK tap interface makes a tap device for its use. >