Hi Keith, Do you have any insights into which driver you think may be problematic?
I haven't really gone anywhere after redoing my original install steps for DPDK and Pktgen. The only main difference I can think of is that I installed the Netronome board support package from a prepackaged .deb file onto this system. Sorry for all the hassle. I'm completely new to Netronome, DPDK, and Pktgen. Thanks, Philip On Mon, Mar 6, 2017 at 11:22 AM, Wiles, Keith <[email protected]> wrote: > >> On Mar 6, 2017, at 10:17 AM, Philip Lee <[email protected]> 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 <[email protected]> wrote: >> >> > On Mar 5, 2017, at 8:03 PM, Philip Lee <[email protected]> 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 >
