[dpdk-users] using the basic l2fwd app

Rami Rosen roszenrami at gmail.com
Fri Oct 19 01:36:35 CEST 2018


Hi Kushal,
0x3 is a bitmask of ports. It is represented in binary as 0011. This means
that ports 0 and port 1should be used by the DPDK application that you use.
If you want to use other ports in your application, you should use a
different portmask. For example, to use port 0 and port 3, you need a port
mask of 1001 in binary, which is 0x9 in hex.

Regards,
Rami Rosen


בתאריך יום ו׳, 19 באוק׳ 2018, 00:17, מאת Kushal Gautam ‏<
kushal.gautam at gmail.com>:

> Hi Rami:
>
> thank you for your inputs.
>
> Indeed, I had syntactic issues, and also, restarting the machine did the
> trick.
>
> One thing that I was not clear is about "portmask".
>
> For instance, in the docs, we can find "./l2fwd -n 1 -c f -- -q 8 -p 0x3".
> What exactly the value "0x3" refers to?
>
> Regards,
> Kushal.
>
> On Thu, Oct 18, 2018 at 7:34 PM Rami Rosen <roszenrami at gmail.com> wrote:
>
>> Hi Kushal,
>> The output of dpdk-devbind -- status that you posted shows that there are
>> no ports that are bound to dpdk. This is the reason for the error you get.
>> You should try
>> insmod igb_uio.ko
>> ( this kernel module is generated in the build process of DPDK)
>>
>> And
>> dpdk-devbind.py -b igb_uio 0000:81:00.0
>>
>> And likewise to the other port, 0000:81:00.1
>> And the launch the l2fwd app.
>>
>>
>> You can also use vfio-pci or uio_pci_generic for binding the device to
>> DPDK, look in the docs.
>>
>> Regards,
>> Rami Rosen
>>
>>
>>
>> בתאריך יום ה׳, 18 באוק׳ 2018, 17:24, מאת Kushal Gautam ‏<
>> kushal.gautam at gmail.com>:
>>
>>> Hi:
>>>
>>> I am new to DPDK and my current use case with DPDK is minimal. Thus, I
>>> think the l2fwd type of sample application should suffice.
>>>
>>> Below is a portion of the output of `dpdk-devbind.py --status` command
>>> My DPDK version is 18.08, and I am using Ubuntu 16.04 (Linux Kernel
>>> version
>>> 4.15.12)
>>>
>>> Network devices using kernel driver
>>> ===================================
>>> 0000:01:00.0 'I350 Gigabit Network Connection 1521' if=eno1 drv=igb
>>> unused=igb_uio *Active*
>>> 0000:01:00.1 'I350 Gigabit Network Connection 1521' if=eno2 drv=igb
>>> unused=igb_uio
>>> 0000:81:00.0 'Ethernet Controller X710 for 10GbE SFP+ 1572' if=ens1f0
>>> drv=i40e unused=igb_uio *Active*
>>> 0000:81:00.1 'Ethernet Controller X710 for 10GbE SFP+ 1572' if=ens1f1
>>> drv=i40e unused=igb_uio *Active*
>>>
>>> I am connecting to this machine via 0000:01:00.0
>>>
>>> My requirement is to be able to send packets from 0000:81:00.0 to
>>> 0000:81:00.1 and get some measurements like tx and rx times.
>>>
>>> I tried to run the sample app as (as shown in docs):
>>>
>>> ./l2fwd -n 1 -c f -- -q 8 -p 0x3
>>>
>>> I have an error like this:
>>>
>>> EAL: Detected 16 lcore(s)
>>> EAL: Detected 2 NUMA nodes
>>> EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
>>> EAL: No free hugepages reported in hugepages-1048576kB
>>> EAL: No free hugepages reported in hugepages-1048576kB
>>> EAL: No free hugepages reported in hugepages-1048576kB
>>> EAL: Probing VFIO support...
>>> EAL: PCI device 0000:01:00.0 on NUMA socket 0
>>> EAL:   probe driver: 8086:1521 net_e1000_igb
>>> EAL: PCI device 0000:01:00.1 on NUMA socket 0
>>> EAL:   probe driver: 8086:1521 net_e1000_igb
>>> EAL: PCI device 0000:81:00.0 on NUMA socket 1
>>> EAL:   probe driver: 8086:1572 net_i40e
>>> EAL: PCI device 0000:81:00.1 on NUMA socket 1
>>> EAL:   probe driver: 8086:1572 net_i40e
>>> MAC updating enabled
>>> EAL: Error - exiting with code: 1
>>>   Cause: No Ethernet ports - bye
>>>
>>> I did not understand the usage of port mask in this context.
>>>
>>> Some inputs on this would be very helpful.
>>>
>>> Regards,
>>> Kushal.
>>>
>>


More information about the users mailing list