I was able to fix this issue in test-pipeline by adding a 1 sec sleep before calling app_ports_check_link in the function app_init_ports(). The eth ports require some time to come up after rte_eth_dev_start..
Thnx, Vijay On Thu, Dec 31, 2015 at 1:25 AM, Arto S?nkiaho <artosank at gmail.com> wrote: > Thanks for the quick response. > > The port(s) are physically connected, that is not an issue here. > > I have 2 nics and they are connected to each other and when i run testpmd > or l2fwd or l3fwd applications, they work flawlessly. > > Pktgen also works without issues and i can generate traffic between the > ports. > > The problem appears when i try to run testpipeline, it always prints out > that "Some NIC ports are DOWN" and exits. > > Here is an output when i try to run it with links 0 and 1. > > $ sudo ./testpipeline -l 1,2,3 -- -p 0x03 > EAL: Detected lcore 0 as core 0 on socket 0 > EAL: Detected lcore 1 as core 0 on socket 0 > EAL: Detected lcore 2 as core 1 on socket 0 > EAL: Detected lcore 3 as core 1 on socket 0 > EAL: Detected lcore 4 as core 2 on socket 0 > EAL: Detected lcore 5 as core 2 on socket 0 > EAL: Detected lcore 6 as core 3 on socket 0 > EAL: Detected lcore 7 as core 3 on socket 0 > EAL: Support maximum 128 logical core(s) by configuration. > EAL: Detected 8 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 0x7fcda6200000 (size = 0x200000) > EAL: Ask a virtual area of 0xc00000 bytes > EAL: Virtual area found at 0x7fcda5400000 (size = 0xc00000) > EAL: Ask a virtual area of 0x32800000 bytes > EAL: Virtual area found at 0x7fcd72a00000 (size = 0x32800000) > EAL: Ask a virtual area of 0x19400000 bytes > EAL: Virtual area found at 0x7fcd59400000 (size = 0x19400000) > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7fcd58e00000 (size = 0x400000) > EAL: Ask a virtual area of 0x600000 bytes > EAL: Virtual area found at 0x7fcd58600000 (size = 0x600000) > EAL: Ask a virtual area of 0x69400000 bytes > EAL: Virtual area found at 0x7fccef000000 (size = 0x69400000) > EAL: Ask a virtual area of 0x1c00000 bytes > EAL: Virtual area found at 0x7fcced200000 (size = 0x1c00000) > EAL: Ask a virtual area of 0x6c00000 bytes > EAL: Virtual area found at 0x7fcce6400000 (size = 0x6c00000) > EAL: Ask a virtual area of 0x600000 bytes > EAL: Virtual area found at 0x7fcce5c00000 (size = 0x600000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcce5800000 (size = 0x200000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcce5400000 (size = 0x200000) > EAL: Ask a virtual area of 0x5400000 bytes > EAL: Virtual area found at 0x7fccdfe00000 (size = 0x5400000) > EAL: Ask a virtual area of 0x70600000 bytes > EAL: Virtual area found at 0x7fcc6f600000 (size = 0x70600000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcc6f200000 (size = 0x200000) > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7fcc6ec00000 (size = 0x400000) > EAL: Ask a virtual area of 0x8e600000 bytes > EAL: Virtual area found at 0x7fcbe0400000 (size = 0x8e600000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbe0000000 (size = 0x200000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbdfc00000 (size = 0x200000) > EAL: Ask a virtual area of 0x800000 bytes > EAL: Virtual area found at 0x7fcbdf200000 (size = 0x800000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbdee00000 (size = 0x200000) > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7fcbde800000 (size = 0x400000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbde400000 (size = 0x200000) > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7fcbdde00000 (size = 0x400000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbdda00000 (size = 0x200000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbdd600000 (size = 0x200000) > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7fcbdd000000 (size = 0x400000) > EAL: Ask a virtual area of 0x400000 bytes > EAL: Virtual area found at 0x7fcbdca00000 (size = 0x400000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbdc600000 (size = 0x200000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbdc200000 (size = 0x200000) > EAL: Ask a virtual area of 0x200000 bytes > EAL: Virtual area found at 0x7fcbdbe00000 (size = 0x200000) > EAL: Requesting 3637 pages of size 2MB from socket 0 > EAL: TSC frequency is ~1795854 KHz > EAL: Master lcore 1 is ready (tid=a8e13940;cpuset=[1]) > EAL: lcore 2 is ready (tid=a7715700;cpuset=[2]) > EAL: lcore 3 is ready (tid=a6f14700;cpuset=[3]) > EAL: PCI device 0000:01:00.0 on NUMA socket -1 > EAL: probe driver: 8086:1533 rte_igb_pmd > EAL: PCI memory mapped at 0x7fcda6400000 > EAL: PCI memory mapped at 0x7fcda6500000 > PMD: eth_igb_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x1533 > EAL: PCI device 0000:02:00.0 on NUMA socket -1 > EAL: probe driver: 8086:1533 rte_igb_pmd > EAL: PCI memory mapped at 0x7fcda6504000 > EAL: PCI memory mapped at 0x7fcda6604000 > PMD: eth_igb_dev_init(): port_id 1 vendorID=0x8086 deviceID=0x1533 > USER1: Creating the mbuf pool ... > USER1: Initializing NIC port 0 ... > PMD: eth_igb_rx_queue_setup(): sw_ring=0x7fcbdcaa7d40 > hw_ring=0x7fcbdcaa8180 dma_addr=0x2098a8180 > PMD: eth_igb_tx_queue_setup(): To improve 1G driver performance, consider > setting the TX WTHRESH value to 4, 8, or 16. > PMD: eth_igb_tx_queue_setup(): sw_ring=0x7fcbdca95bc0 > hw_ring=0x7fcbdca97c00 dma_addr=0x209897c00 > PMD: eth_igb_start(): << > USER1: Initializing NIC port 1 ... > PMD: eth_igb_rx_queue_setup(): sw_ring=0x7fcbdca85540 > hw_ring=0x7fcbdca85980 dma_addr=0x209885980 > PMD: eth_igb_tx_queue_setup(): To improve 1G driver performance, consider > setting the TX WTHRESH value to 4, 8, or 16. > PMD: eth_igb_tx_queue_setup(): sw_ring=0x7fcbdca733c0 > hw_ring=0x7fcbdca75400 dma_addr=0x209875400 > PMD: eth_igb_start(): << > Port: 0 > USER1: Port 0 (0 Gbps) DOWN > Port: 1 > USER1: Port 1 (0 Gbps) DOWN > PANIC in app_ports_check_link(): > Some NIC ports are DOWN > 6: [./testpipeline() [0x42b7b3]] > 5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) > [0x7fcda7f38ec5]] > 4: [./testpipeline(main+0x34) [0x42a2f4]] > 3: [./testpipeline(app_init+0x34e) [0x42c0be]] > 2: [./testpipeline(__rte_panic+0xc9) [0x424d9e]] > 1: [./testpipeline(rte_dump_stack+0x1a) [0x492baa]] > > Any ideas what's the problem here ? Is there some step i must do before > running the testpipeline ? > > On Wed, Dec 23, 2015 at 6:15 PM, Zhang, Roy Fan <roy.fan.zhang at intel.com> > wrote: > > > Hello, > > > > Thank you for using DPDK. > > > > testpipeline mainly passes the received packets to different tables > inside > > pipeline, and, if the pipeline works correctly, forwards the packets back > > to output ports. > > > > To use testpipeline, you may have to have Ethernet packets sending to the > > correct port(s) continuously. > > And the only way to check if the pipeline correctly is to monitor the > port > > output seeing if the pipeline has forwarded the packets back. There is no > > interactive commands for testpipeline. > > > > Please check if your port is physically connected. To avail the purpose > of > > testpipeline, please connect your server running the program with the > with > > device capable of generating and monitoring packet flows, like a packet > > generator. > > If the answer is yes, please bond different ports to dpdk and run the > > program again. > > > > Regards, > > Fan > > > > > Hello, i am new with DPDK and i am trying to run the test-pipeline > > program. > > > > > > Here is the output when i run it: > > > > > > ./testpipeline -c 0x07 -- -p 0x01 > > > EAL: Detected lcore 0 as core 0 on socket 0 > > > EAL: Detected lcore 1 as core 0 on socket 0 > > > EAL: Detected lcore 2 as core 1 on socket 0 > > > EAL: Detected lcore 3 as core 1 on socket 0 > > > EAL: Detected lcore 4 as core 2 on socket 0 > > > EAL: Detected lcore 5 as core 2 on socket 0 > > > EAL: Detected lcore 6 as core 3 on socket 0 > > > EAL: Detected lcore 7 as core 3 on socket 0 > > > EAL: Support maximum 128 logical core(s) by configuration. > > > EAL: Detected 8 lcore(s) > > > EAL: VFIO modules not all loaded, skip VFIO support... > > > EAL: Setting up physically contiguous memory... > > > EAL: Ask a virtual area of 0x7000000 bytes > > > EAL: Virtual area found at 0x7f6689400000 (size = 0x7000000) > > > EAL: Ask a virtual area of 0x1c00000 bytes > > > EAL: Virtual area found at 0x7f6687600000 (size = 0x1c00000) > > > EAL: Ask a virtual area of 0x4000000 bytes > > > EAL: Virtual area found at 0x7f6683400000 (size = 0x4000000) > > > EAL: Ask a virtual area of 0x1800000 bytes > > > EAL: Virtual area found at 0x7f6681a00000 (size = 0x1800000) > > > EAL: Ask a virtual area of 0x200000 bytes > > > EAL: Virtual area found at 0x7f6681600000 (size = 0x200000) > > > EAL: Ask a virtual area of 0x11800000 bytes > > > EAL: Virtual area found at 0x7f666fc00000 (size = 0x11800000) > > > EAL: Ask a virtual area of 0x200000 bytes > > > EAL: Virtual area found at 0x7f666f800000 (size = 0x200000) > > > EAL: Requesting 256 pages of size 2MB from socket 0 > > > EAL: TSC frequency is ~1795851 KHz > > > EAL: Master lcore 0 is ready (tid=91f13940;cpuset=[0]) > > > EAL: lcore 1 is ready (tid=6f7ff700;cpuset=[1]) > > > EAL: lcore 2 is ready (tid=6effe700;cpuset=[2]) > > > EAL: PCI device 0000:01:00.0 on NUMA socket -1 > > > EAL: probe driver: 8086:1533 rte_igb_pmd > > > EAL: PCI memory mapped at 0x7f6690400000 > > > EAL: PCI memory mapped at 0x7f6690500000 > > > PMD: eth_igb_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x1533 > > > EAL: PCI device 0000:02:00.0 on NUMA socket -1 > > > EAL: probe driver: 8086:1533 rte_igb_pmd > > > EAL: Not managed by a supported kernel driver, skipped > > > USER1: Creating the mbuf pool ... > > > USER1: Initializing NIC port 0 ... > > > PMD: eth_igb_rx_queue_setup(): sw_ring=0x7f666f936dc0 > > > hw_ring=0x7f666f937200 dma_addr=0x208337200 > > > PMD: eth_igb_tx_queue_setup(): To improve 1G driver performance, > > consider setting the TX WTHRESH value to 4, 8, or 16. > > > PMD: eth_igb_tx_queue_setup(): sw_ring=0x7f666f924c40 > > > hw_ring=0x7f666f926c80 dma_addr=0x208326c80 > > > PMD: eth_igb_start(): << > > > USER1: Port 0 (0 Gbps) DOWN > > > PANIC in app_ports_check_link(): > > > Some NIC ports are DOWN > > > 6: [./testpipeline() [0x42b7b3]] > > > 5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) > > > [0x7f6691038ec5]] > > > 4: [./testpipeline(main+0x34) [0x42a2f4]] > > > 3: [./testpipeline(app_init+0x336) [0x42c0a6]] > > > 2: [./testpipeline(__rte_panic+0xc9) [0x424d9e]] > > > 1: [./testpipeline(rte_dump_stack+0x1a) [0x492b8a] $ > > > > > > Here is the nic bind info > > > > > > $ dpdk_nic_bind -s > > > > > > Network devices using DPDK-compatible driver > > ============================================ > > > 0000:01:00.0 'I210 Gigabit Network Connection' drv=igb_uio unused= > > > > > > Network devices using kernel driver > > > =================================== > > > 0000:00:19.0 'Ethernet Connection I218-LM' if=eth2 drv=e1000e > > unused=igb_uio *Active* > > > 0000:02:00.0 'I210 Gigabit Network Connection' if=eth0 drv=igb > > unused=igb_uio > > > > > > Other network devices > > > ===================== > > > <none> > > > > > > Changing port mask to 0x04 or any other value gives following error: > > > > > > ./testpipeline -c 0x07 -- -p 0x04 > > > EAL: Detected lcore 0 as core 0 on socket 0 > > > EAL: Detected lcore 1 as core 0 on socket 0 > > > EAL: Detected lcore 2 as core 1 on socket 0 > > > EAL: Detected lcore 3 as core 1 on socket 0 > > > EAL: Detected lcore 4 as core 2 on socket 0 > > > EAL: Detected lcore 5 as core 2 on socket 0 > > > EAL: Detected lcore 6 as core 3 on socket 0 > > > EAL: Detected lcore 7 as core 3 on socket 0 > > > EAL: Support maximum 128 logical core(s) by configuration. > > > EAL: Detected 8 lcore(s) > > > EAL: VFIO modules not all loaded, skip VFIO support... > > > EAL: Setting up physically contiguous memory... > > > EAL: Ask a virtual area of 0x7000000 bytes > > > EAL: Virtual area found at 0x7fceeb000000 (size = 0x7000000) > > > EAL: Ask a virtual area of 0x1c00000 bytes > > > EAL: Virtual area found at 0x7fcee9200000 (size = 0x1c00000) > > > EAL: Ask a virtual area of 0x4000000 bytes > > > EAL: Virtual area found at 0x7fcee5000000 (size = 0x4000000) > > > EAL: Ask a virtual area of 0x1800000 bytes > > > EAL: Virtual area found at 0x7fcee3600000 (size = 0x1800000) > > > EAL: Ask a virtual area of 0x200000 bytes > > > EAL: Virtual area found at 0x7fcee3200000 (size = 0x200000) > > > EAL: Ask a virtual area of 0x11800000 bytes > > > EAL: Virtual area found at 0x7fced1800000 (size = 0x11800000) > > > EAL: Ask a virtual area of 0x200000 bytes > > > EAL: Virtual area found at 0x7fced1400000 (size = 0x200000) > > > EAL: Requesting 256 pages of size 2MB from socket 0 > > > EAL: TSC frequency is ~1795851 KHz > > > EAL: Master lcore 0 is ready (tid=f3c37940;cpuset=[0]) > > > EAL: lcore 1 is ready (tid=d13ff700;cpuset=[1]) > > > EAL: lcore 2 is ready (tid=d0bfe700;cpuset=[2]) > > > EAL: PCI device 0000:01:00.0 on NUMA socket -1 > > > EAL: probe driver: 8086:1533 rte_igb_pmd > > > EAL: PCI memory mapped at 0x7fcef2000000 > > > EAL: PCI memory mapped at 0x7fcef2100000 > > > PMD: eth_igb_dev_init(): port_id 0 vendorID=0x8086 deviceID=0x1533 > > > EAL: PCI device 0000:02:00.0 on NUMA socket -1 > > > EAL: probe driver: 8086:1533 rte_igb_pmd > > > EAL: Not managed by a supported kernel driver, skipped > > > USER1: Creating the mbuf pool ... > > > USER1: Initializing NIC port 2 ... > > > PANIC in app_init_ports(): > > > Cannot init NIC port 2 (-22) > > > 6: [./testpipeline() [0x42b7b3]] > > > 5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) > > > [0x7fcef2d5cec5]] > > > 4: [./testpipeline(main+0x34) [0x42a2f4]] > > > 3: [./testpipeline(app_init+0x3a2) [0x42c112]] > > > 2: [./testpipeline(__rte_panic+0xc9) [0x424d9e]] > > > 1: [./testpipeline(rte_dump_stack+0x1a) [0x492b8a]] > > > > > > What i'm doing wrong here ? > > > > > > There is probably some configuration step missing or misconfiguration > > but i could not figure out what it is. > > > > > > Thank you in advance. > > >
