[dpdk-dev] Status of bnx2x pmd?

Mussar, Gary gmussar at ciena.com
Mon Nov 2 16:37:22 CET 2015



> -----Original Message-----
> From: Harish Patil [mailto:harish.patil at qlogic.com]
> Sent: Monday, November 02, 2015 01:51
> To: Mussar, Gary; dev at dpdk.org
> Subject: Re: [dpdk-dev] Status of bnx2x pmd?
> 
> >
> >I have been attempting to build testpmd with the bnx2x pmd enabled to try
> >and talk through a bcm57810 10G NIC card. I have tried using SR-IOV VFs
> >and I have tried using the PFs. Neither seem to be able to be properly
> >initialized in testpmd and/or testpmd aborts.
> >
> >Is this PMD actually usable or is it trash?
> >
> >Gary
> >
> 
> Could you please explain the SR-IOV configuration that you are trying out?
> Please provide all the details.
> 
> Thanks,


I ultimately want to run dpdk in a VM with PCI pass through on SR-IOV ports. I have had no luck there so I thought I would start with DPDK on bare metal using the PFs.

I am using Ubuntu 14.04.3 with the Ubuntu 3.19.0-31 kernel and dpdk from the dpdk.org master branch (d739ba4c6abf00eeeb680ab4e9540899182ea74d).

# ./tools/dpdk_nic_bind.py --status

Network devices using DPDK-compatible driver
============================================
0000:04:00.0 'NetXtreme II BCM57810 10 Gigabit Ethernet' drv=igb_uio unused=
0000:04:00.1 'NetXtreme II BCM57810 10 Gigabit Ethernet' drv=igb_uio unused=

Network devices using kernel driver
===================================
0000:05:00.0 'I350 Gigabit Network Connection' if=eth0 drv=igb unused=igb_uio *Active*
0000:05:00.1 'I350 Gigabit Network Connection' if=eth1 drv=igb unused=igb_uio

Other network devices
=====================
<none>

Running testpmd:

./app/testpmd -c 7 -n 4 --socket-mem 900 -- -i --burst=64 --txqflags=0xf00 --nb-cores=2 --nb-ports=2 --portmask=0x3
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 1 on socket 0
EAL: Detected lcore 2 as core 2 on socket 0
EAL: Detected lcore 3 as core 3 on socket 0
EAL: Detected lcore 4 as core 4 on socket 0
EAL: Detected lcore 5 as core 5 on socket 0
EAL: Detected lcore 6 as core 6 on socket 0
EAL: Detected lcore 7 as core 7 on socket 0
EAL: Detected lcore 8 as core 0 on socket 0
EAL: Detected lcore 9 as core 1 on socket 0
EAL: Detected lcore 10 as core 2 on socket 0
EAL: Detected lcore 11 as core 3 on socket 0
EAL: Detected lcore 12 as core 4 on socket 0
EAL: Detected lcore 13 as core 5 on socket 0
EAL: Detected lcore 14 as core 6 on socket 0
EAL: Detected lcore 15 as core 7 on socket 0
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 16 lcore(s)
EAL: VFIO modules not all loaded, skip VFIO support...
EAL: Setting up physically contiguous memory...
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7ffff4200000 (size = 0x200000)
EAL: Ask a virtual area of 0x14a00000 bytes
EAL: Virtual area found at 0x7fffdf600000 (size = 0x14a00000)
EAL: Ask a virtual area of 0x56800000 bytes
EAL: Virtual area found at 0x7fff88c00000 (size = 0x56800000)
EAL: Ask a virtual area of 0x4000000 bytes
EAL: Virtual area found at 0x7fff84a00000 (size = 0x4000000)
EAL: Ask a virtual area of 0x54200000 bytes
EAL: Virtual area found at 0x7fff30600000 (size = 0x54200000)
EAL: Ask a virtual area of 0x14c00000 bytes
EAL: Virtual area found at 0x7fff1b800000 (size = 0x14c00000)
EAL: Ask a virtual area of 0x125400000 bytes
EAL: Virtual area found at 0x7ffdf6200000 (size = 0x125400000)
EAL: Ask a virtual area of 0x1b000000 bytes
EAL: Virtual area found at 0x7ffddb000000 (size = 0x1b000000)
EAL: Ask a virtual area of 0x18600000 bytes
EAL: Virtual area found at 0x7ffdc2800000 (size = 0x18600000)
EAL: Ask a virtual area of 0xf8600000 bytes
EAL: Virtual area found at 0x7ffcca000000 (size = 0xf8600000)
EAL: Ask a virtual area of 0x39400000 bytes
EAL: Virtual area found at 0x7ffc90a00000 (size = 0x39400000)
EAL: Ask a virtual area of 0x1fc00000 bytes
EAL: Virtual area found at 0x7ffc70c00000 (size = 0x1fc00000)
EAL: Ask a virtual area of 0x74c00000 bytes
EAL: Virtual area found at 0x7ffbfbe00000 (size = 0x74c00000)
EAL: Ask a virtual area of 0x9000000 bytes
EAL: Virtual area found at 0x7ffbf2c00000 (size = 0x9000000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7ffbf2800000 (size = 0x200000)
EAL: Requesting 450 pages of size 2MB from socket 0
EAL: TSC frequency is ~1995380 KHz
EAL: Master lcore 0 is ready (tid=f7fe4940;cpuset=[0])
PMD: rte_bnx2x_pmd_init():  >>
PMD: rte_bnx2xvf_pmd_init():  >>
EAL: lcore 2 is ready (tid=f5ec9700;cpuset=[2])
EAL: lcore 1 is ready (tid=f66ca700;cpuset=[1])
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL:   probe driver: 14e4:168e rte_bnx2x_pmd
EAL:   PCI memory mapped at 0x7ffff4400000
EAL:   PCI memory mapped at 0x7ffff4c00000
EAL:   PCI memory mapped at 0x7ffff5400000
PMD: eth_bnx2x_dev_init():  >>
PMD: bnx2x_common_dev_init():  >>
PMD: bnx2x_probe_pci_caps():  >>
PMD: bnx2x_get_shmem_info():  >>
PMD: bnx2x_acquire_hw_lock():  >>
PMD: bnx2x_release_hw_lock():  >>
PMD: bnx2x_get_phy_info():  >>
PMD: bnx2x_reset_common():  >>
EAL: PCI device 0000:04:00.1 on NUMA socket 0
EAL:   probe driver: 14e4:168e rte_bnx2x_pmd
EAL:   PCI memory mapped at 0x7fffdee00000
EAL:   PCI memory mapped at 0x7fffde600000
EAL:   PCI memory mapped at 0x7ffff7fa1000
PMD: eth_bnx2x_dev_init():  >>
PMD: bnx2x_common_dev_init():  >>
PMD: bnx2x_probe_pci_caps():  >>
PMD: bnx2x_get_shmem_info():  >>
PMD: bnx2x_acquire_hw_lock():  >>
PMD: bnx2x_release_hw_lock():  >>
PMD: bnx2x_get_phy_info():  >>
PMD: bnx2x_reset_common():  >>
EAL: PCI device 0000:05:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 rte_igb_pmd
EAL:   Not managed by a supported kernel driver, skipped
EAL: PCI device 0000:05:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1521 rte_igb_pmd
EAL:   Not managed by a supported kernel driver, skipped
Interactive-mode selected
Configuring Port 0 (socket 0)
PMD: bnx2x_dev_configure():  >>
PMD: bnx2x_dev_tx_queue_setup(): fp[00] req_bd=512, thresh=512, usable_bd=1020, total_bd=1024, tx_pages=4
PMD: bnx2x_dev_rx_queue_setup(): fp[00] req_bd=128, thresh=0, usable_bd=510, total_bd=512, rx_pages=1, cq_pages=8
PMD: bnx2x_dev_start():  >>
PMD: bnx2x_nic_load():  >>
PMD: bnx2x_ilt_set_info():  >>
PMD: bnx2x_acquire_hw_lock():  >>
PMD: bnx2x_set_pf_load():  >>
PMD: bnx2x_release_hw_lock():  >>
PMD: bnx2x_nic_load_request():  >>
PMD: bnx2x_nic_load_pmf():  >>
PMD: bnx2x_init_func_obj():  >>
PMD: bnx2x_init_hw():  >>
PMD: bnx2x_acquire_hw_lock():  >>
PMD: bnx2x_reset_common():  >>
PMD: bnx2x_release_hw_lock():  >>
PANIC in bnx2x_write_dmae():
DMAE failed (-1)15: [./dpdk-2.1.0/app/testpmd() [0x438303]]
14: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7ffff6eedec5]]
13: [./dpdk-2.1.0/app/testpmd(main+0x2c1) [0x436a81]]
12: [./dpdk-2.1.0/app/testpmd(start_port+0x318) [0x43a8b8]]
11: [./dpdk-2.1.0/app/testpmd(rte_eth_dev_start+0xad) [0x573d2d]]
10: [./dpdk-2.1.0/app/testpmd() [0x466a24]]
9: [./dpdk-2.1.0/app/testpmd(bnx2x_init+0x21b) [0x476ffb]]
8: [./dpdk-2.1.0/app/testpmd() [0x471eb4]]
7: [./dpdk-2.1.0/app/testpmd(ecore_func_state_change+0x102) [0x4c4aa2]]
6: [./dpdk-2.1.0/app/testpmd() [0x4c1f62]]
5: [./dpdk-2.1.0/app/testpmd() [0x46ce47]]
4: [./dpdk-2.1.0/app/testpmd() [0x46c1e7]]
3: [./dpdk-2.1.0/app/testpmd() [0x468867]]
2: [./dpdk-2.1.0/app/testpmd(__rte_panic+0xc9) [0x430267]]
1: [./dpdk-2.1.0/app/testpmd(rte_dump_stack+0x1a) [0x4b3c3a]]
./startTestPmd: line 14: 19899 Aborted                 (core dumped) "$@"

If I turn on more debugging, I can see:

PMD: bnx2x_issue_dmae_with_comp(): DMAE timeout!
PANIC in bnx2x_write_dmae():
DMAE failed (-1)16: [./dpdk-2.1.0/app/testpmd() [0x439043]]


If running dpdk with the PFs on bare metal fails, I am not surprised that running with SR-IOV fails.

# ./tools/dpdk_nic_bind.py --bind igb_uio 0000:04:01.0 0000:04:09.0
root at gary-desk:/home/skyfall# ifconfig eth4 up^C
root at gary-desk:/home/skyfall# ./tools/dpdk_nic_bind.py --status

Network devices using DPDK-compatible driver
============================================
0000:04:01.0 'NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function' drv=igb_uio unused=
0000:04:09.0 'NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function' drv=igb_uio unused=

Network devices using kernel driver
===================================
0000:04:00.0 'NetXtreme II BCM57810 10 Gigabit Ethernet' if=eth4 drv=bnx2x unused=igb_uio
0000:04:00.1 'NetXtreme II BCM57810 10 Gigabit Ethernet' if=eth5 drv=bnx2x unused=igb_uio
0000:05:00.0 'I350 Gigabit Network Connection' if=eth0 drv=igb unused=igb_uio *Active*
0000:05:00.1 'I350 Gigabit Network Connection' if=eth1 drv=igb unused=igb_uio

Other network devices
=====================
<none>


Running testpmd with SR-IOV on bare metal:
# ./app/testpmd -c 7 -n 4 --socket-mem 900 -- -i --burst=64 --txqflags=0xf00 --nb-cores=2 --nb-ports=2 --portmask=0x3
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 1 on socket 0
EAL: Detected lcore 2 as core 2 on socket 0
EAL: Detected lcore 3 as core 3 on socket 0
EAL: Detected lcore 4 as core 4 on socket 0
EAL: Detected lcore 5 as core 5 on socket 0
EAL: Detected lcore 6 as core 6 on socket 0
EAL: Detected lcore 7 as core 7 on socket 0
EAL: Detected lcore 8 as core 0 on socket 0
EAL: Detected lcore 9 as core 1 on socket 0
EAL: Detected lcore 10 as core 2 on socket 0
EAL: Detected lcore 11 as core 3 on socket 0
EAL: Detected lcore 12 as core 4 on socket 0
EAL: Detected lcore 13 as core 5 on socket 0
EAL: Detected lcore 14 as core 6 on socket 0
EAL: Detected lcore 15 as core 7 on socket 0
EAL: Support maximum 128 logical core(s) by configuration.
EAL: Detected 16 lcore(s)
EAL: VFIO modules not all loaded, skip VFIO support...
EAL: Setting up physically contiguous memory...
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7ffff4200000 (size = 0x200000)
EAL: Ask a virtual area of 0x14a00000 bytes
EAL: Virtual area found at 0x7fffdf600000 (size = 0x14a00000)
EAL: Ask a virtual area of 0x56800000 bytes
EAL: Virtual area found at 0x7fff88c00000 (size = 0x56800000)
EAL: Ask a virtual area of 0x4000000 bytes
EAL: Virtual area found at 0x7fff84a00000 (size = 0x4000000)
EAL: Ask a virtual area of 0x54200000 bytes
EAL: Virtual area found at 0x7fff30600000 (size = 0x54200000)
EAL: Ask a virtual area of 0x14c00000 bytes
EAL: Virtual area found at 0x7fff1b800000 (size = 0x14c00000)
EAL: Ask a virtual area of 0x125400000 bytes
EAL: Virtual area found at 0x7ffdf6200000 (size = 0x125400000)
EAL: Ask a virtual area of 0x1b000000 bytes
EAL: Virtual area found at 0x7ffddb000000 (size = 0x1b000000)
EAL: Ask a virtual area of 0x18600000 bytes
EAL: Virtual area found at 0x7ffdc2800000 (size = 0x18600000)
EAL: Ask a virtual area of 0xf8600000 bytes
EAL: Virtual area found at 0x7ffcca000000 (size = 0xf8600000)
EAL: Ask a virtual area of 0x39400000 bytes
EAL: Virtual area found at 0x7ffc90a00000 (size = 0x39400000)
EAL: Ask a virtual area of 0x1fc00000 bytes
EAL: Virtual area found at 0x7ffc70c00000 (size = 0x1fc00000)
EAL: Ask a virtual area of 0x74c00000 bytes
EAL: Virtual area found at 0x7ffbfbe00000 (size = 0x74c00000)
EAL: Ask a virtual area of 0x9000000 bytes
EAL: Virtual area found at 0x7ffbf2c00000 (size = 0x9000000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7ffbf2800000 (size = 0x200000)
EAL: Requesting 450 pages of size 2MB from socket 0
EAL: TSC frequency is ~1995380 KHz
EAL: Master lcore 0 is ready (tid=f7fe4940;cpuset=[0])
PMD: rte_bnx2x_pmd_init():  >>
PMD: rte_bnx2xvf_pmd_init():  >>
EAL: lcore 2 is ready (tid=f5ec9700;cpuset=[2])
EAL: lcore 1 is ready (tid=f66ca700;cpuset=[1])
EAL: PCI device 0000:04:00.0 on NUMA socket 0
EAL:   probe driver: 14e4:168e rte_bnx2x_pmd
EAL:   Not managed by a supported kernel driver, skipped
EAL: PCI device 0000:04:00.1 on NUMA socket 0
EAL:   probe driver: 14e4:168e rte_bnx2x_pmd
EAL:   Not managed by a supported kernel driver, skipped
EAL: PCI device 0000:04:01.0 on NUMA socket 0
EAL:   probe driver: 14e4:16af rte_bnx2xvf_pmd
EAL:   PCI memory mapped at 0x7ffff4400000
EAL:   PCI memory mapped at 0x7ffff4408000
PMD: eth_bnx2xvf_dev_init():  >>
PMD: bnx2x_common_dev_init():  >>
PMD: bnx2x_probe_pci_caps():  >>
EAL: PCI device 0000:04:09.0 on NUMA socket 0
EAL:   probe driver: 14e4:16af rte_bnx2xvf_pmd
EAL:   PCI memory mapped at 0x7ffff440a000
EAL:   PCI memory mapped at 0x7ffff4412000
PMD: eth_bnx2xvf_dev_init():  >>
PMD: bnx2x_common_dev_init():  >>
PMD: bnx2x_probe_pci_caps():  >>
Interactive-mode selected
Configuring Port 0 (socket 0)
PMD: bnx2x_dev_configure():  >>
PMD: bnx2x_dev_tx_queue_setup(): fp[00] req_bd=512, thresh=512, usable_bd=1020, total_bd=1024, tx_pages=4
PMD: bnx2x_dev_rx_queue_setup(): fp[00] req_bd=128, thresh=0, usable_bd=510, total_bd=512, rx_pages=1, cq_pages=8
PMD: bnx2x_dev_start():  >>
PMD: bnx2x_nic_load():  >>
Fail to start port 0
Configuring Port 1 (socket 0)
PMD: bnx2x_dev_configure():  >>
PMD: bnx2x_dev_tx_queue_setup(): fp[00] req_bd=512, thresh=512, usable_bd=1020, total_bd=1024, tx_pages=4
PMD: bnx2x_dev_rx_queue_setup(): fp[00] req_bd=128, thresh=0, usable_bd=510, total_bd=512, rx_pages=1, cq_pages=8
PMD: bnx2x_dev_start():  >>
PMD: bnx2x_nic_load():  >>
Fail to start port 1
Please stop the ports first
Done
PMD: bnx2x_promisc_enable():  >>
PMD: bnx2x_promisc_enable():  >>
testpmd>

Gary

> Harish
> 
> 
> ________________________________
> 
> This message and any attached documents contain information from the
> sending company or its parent company(s), subsidiaries, divisions or
> branch offices that may be confidential. If you are not the intended
> recipient, you may not read, copy, distribute, or use this information. If
> you have received this transmission in error, please notify the sender
> immediately by reply e-mail and then delete this message.


More information about the dev mailing list