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 offload
iavf_dev_configure(): configure VLAN failed: -95
EAL: 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