* Re: How to use --vdev Options for ./dpdk-l3fwd?
2023-04-11 18:02 ` Stephen Hemminger
@ 2023-04-11 20:13 ` Dinesh Kumar
0 siblings, 0 replies; 5+ messages in thread
From: Dinesh Kumar @ 2023-04-11 20:13 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: users
[-- Attachment #1: Type: text/plain, Size: 13602 bytes --]
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 <raidinesh@utexas.edu> 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 <raidinesh@utexas.edu> 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.
>
[-- Attachment #2: Type: text/html, Size: 15572 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread