Thank you. This fixed the problem.
It really looks like it takes a moment before the port comes up and this caused app_ports_check_link to fail. On Tue, Jan 5, 2016 at 12:27 AM, Vijay S <vsnv83 at gmail.com> wrote: > 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. >> > >> > >
