[dpdk-users] Pktgen Cannot configure device panic

Wiles, Keith keith.wiles at intel.com
Mon Mar 6 17:22:35 CET 2017


> On Mar 6, 2017, at 10:17 AM, Philip Lee <phillee4473 at gmail.com> wrote:
> 
> Hi Keith,
> 
> Also, how do I get a list of devices that DPDK detects to find the ports to blacklist? 
> 
> I tried blacklisting just the other virtual functions of the Netronome NIC, but the results are the same. I also tried unbinding the igb_uio drivers from all but the virtual function I'm using. If I use the whitelist (-w), does it force it to look at that pci device only? I tried that and it provided the same results as well.

You can do one of two things only bind the ports you want to use or blacklist all of the ports that are bound that you do not want DPDK to see.

To see all of your ports in the system do ‘lspci | grep Ethernet’

Then you need to figure out how the PCI id maps to the phyiscal port you want to use. (Not normally a easy task or then read the hardware spec on the Motherboard or just do some experiments.

> 
> 
> Also, running pktgen on the working node gives this output with max_rx_queues and max_tx_queues having values of 1, so it seems like its a problem with the system setup on this broken node.
> ** Default Info (5:8.0, if_index:0) **
>    max_vfs        :   0, min_rx_bufsize    :  68, max_rx_pktlen :  9216
>    max_rx_queues  :   1, max_tx_queues     :   1

I think this is a driver problem, as it should report at least one per.
> 
> 
> Thanks,
> 
> Phlip Lee
> 
> 
> On Mon, Mar 6, 2017 at 10:14 AM, Wiles, Keith <keith.wiles at intel.com> wrote:
> 
> > On Mar 5, 2017, at 8:03 PM, Philip Lee <plee2 at andrew.cmu.edu> wrote:
> >
> > Hello all,
> >
> > I had a "working" install of pktgen that would transfer data but not
> > provide statistics. The setup are two Netronome NICs connected
> > together. It was suggested there was a problem with the Netronome PMD,
> > so I reinstalled both the Netronome BSP and DPDK. Now I'm getting the
> > following error with trying to start up pktgen with: ./pktgen -c 0x1f
> > -n 1 -- -m [1:2].0
> >
> >>>> Packet Burst 32, RX Desc 512, TX Desc 1024, mbufs/port 8192, mbuf cache 1024
> > === port to lcore mapping table (# lcores 5) ===
> >   lcore:     0     1     2     3     4
> > port   0:  D: T  1: 0  0: 1  0: 0  0: 0 =  1: 1
> > Total   :  0: 0  1: 0  0: 1  0: 0  0: 0
> >    Display and Timer on lcore 0, rx:tx counts per port/lcore
> >
> > Configuring 4 ports, MBUF Size 1920, MBUF Cache Size 1024
> > Lcore:
> >    1, RX-Only
> >                RX( 1): ( 0: 0)
> >    2, TX-Only
> >                TX( 1): ( 0: 0)
> > Port :
> >    0, nb_lcores  2, private 0x8cca90, lcores:  1  2
> >
> > ** Default Info (5:8.0, if_index:0) **
> >   max_vfs        :   0, min_rx_bufsize    :  68, max_rx_pktlen :     0
> >   max_rx_queues  :   0, max_tx_queues     :   0
> >   max_mac_addrs  :   1, max_hash_mac_addrs:   0, max_vmdq_pools:     0
> >   rx_offload_capa:   0, tx_offload_capa   :   0, reta_size     :
> > 128, flow_type_rss_offloads:0000000000000000
> >   vmdq_queue_base:   0, vmdq_queue_num    :   0, vmdq_pool_base:     0
> > ** RX Conf **
> >   pthresh        :   8, hthresh          :   8, wthresh        :     0
> >   Free Thresh    :  32, Drop Enable      :   0, Deferred Start :     0
> > ** TX Conf **
> >   pthresh        :  32, hthresh          :   0, wthresh        :     0
> >   Free Thresh    :  32, RS Thresh        :  32, Deferred Start :
> > 0, TXQ Flags:00000f01
> >
> > !PANIC!: Cannot configure device: port=0, Num queues 1,1 (2)Invalid argument
> > PANIC in pktgen_config_ports():
> > Cannot configure device: port=0, Num queues 1,1 (2)Invalid argument6:
> > [./pktgen() [0x43394e]]
> > 5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f89dd0f7f45]]
> > 4: [./pktgen(main+0x4d4) [0x432f54]]
> > 3: [./pktgen(pktgen_config_ports+0x3108) [0x45f418]]
> > 2: [./pktgen(__rte_panic+0xbe) [0x42f288]]
> > 1: [./pktgen(rte_dump_stack+0x1a) [0x49af3a]]
> > Aborted
> >
> > ------------------------------------------------------------------------------------------------------------------------
> >
> > I tried unbinding the nics and rebinding. I read in an older mailling
> > post that setup.sh needs to be run every reboot. I executed it, and it
> > looks like a list of things to install pktgen that I had done manually
> > again after the most recent reboot. The output of the status check
> > script is below:
> > ./dpdk-devbind.py --status
> >
> > Network devices using DPDK-compatible driver
> > ============================================
> > 0000:05:08.0 'Device 6003' drv=igb_uio unused=
> > 0000:05:08.1 'Device 6003' drv=igb_uio unused=
> > 0000:05:08.2 'Device 6003' drv=igb_uio unused=
> > 0000:05:08.3 'Device 6003' drv=igb_uio unused=
> >
> > Network devices using kernel driver
> > ===================================
> > 0000:01:00.0 'NetXtreme BCM5720 Gigabit Ethernet PCIe' if=eth0 drv=tg3
> > unused=igb_uio *Active*
> > 0000:01:00.1 'NetXtreme BCM5720 Gigabit Ethernet PCIe' if=eth1 drv=tg3
> > unused=igb_uio
> > 0000:02:00.0 'NetXtreme BCM5720 Gigabit Ethernet PCIe' if=eth2 drv=tg3
> > unused=igb_uio
> > 0000:02:00.1 'NetXtreme BCM5720 Gigabit Ethernet PCIe' if=eth3 drv=tg3
> > unused=igb_uio
> > 0000:05:00.0 'Device 4000' if= drv=nfp unused=igb_uio
> > 0000:43:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=eth4
> > drv=ixgbe unused=igb_uio
> > 0000:43:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=eth7
> > drv=ixgbe unused=igb_uio
> > 0000:44:00.0 'MT27500 Family [ConnectX-3]' if=eth5,eth6 drv=mlx4_core
> > unused=igb_uio
> >
> > Does anyone have any suggestions?
> 
> Try blacklisting (-b 0000:01:00.1 -b ...) all of the ports you are not using. The number of ports being setup is taken from the number of devices DPDK detects.
> 
> The only on thing I am worried about is the ' max_rx_queues  :   0, max_tx_queues     :   0’ is reporting zero queues. It maybe other example code does not test the return code from the rte_eth_dev_configure() call. I think the max_rx_queues and max_tx_queues should be at least 1.
> 
> >
> > Thanks,
> >
> > Philip Lee
> 
> Regards,
> Keith
> 
> 

Regards,
Keith



More information about the users mailing list