DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] l3fwd error, port 0 is not present on the board
@ 2014-12-29 20:18 Lyn M
  2014-12-29 21:02 ` Neil Horman
  0 siblings, 1 reply; 14+ messages in thread
From: Lyn M @ 2014-12-29 20:18 UTC (permalink / raw)
  To: dev

Hello all,

Rangeley platform (1 CPU with 8 cores, 4x1 GbE, 2x10 GbE, Intel PCIe card
with 2x10 GbE fiber)
FC20 with hugepages enabled
DPDK 1.8.0 built with T=x86_64-ivshmem-linuxapp-gcc

 */usr/src/dpdk/tools/dpdk_nic_bind.py --status*



Network devices using DPDK-compatible driver

============================================

0000:09:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
unused=ixgbe

0000:09:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
unused=ixgbe



Network devices using kernel driver

===================================

0000:00:14.0 'Ethernet Connection I354' if=enp0s20f0 drv=igb unused=igb_uio

0000:00:14.1 'Ethernet Connection I354' if=enp0s20f1 drv=igb unused=igb_uio

0000:00:14.2 'Ethernet Connection I354' if=enp0s20f2 drv=igb unused=igb_uio

0000:00:14.3 'Ethernet Connection I354' if=enp0s20f3 drv=igb unused=igb_uio

0000:07:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p1 drv=ixgbe
unused=igb_uio *Active*

0000:07:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p2 drv=ixgbe
unused=igb_uio



Other network devices

=====================

<none>

The DPDK helloworld example seems to run OK, other than the warning about
IVSHMEM configuration not found:
*./helloworld -c 0x3 -n 4*
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: Support maximum 128 logical core(s) by configuration.
EAL: Detected 8 lcore(s)
EAL: Searching for IVSHMEM devices...
EAL: No IVSHMEM configuration found!
EAL: Setting up memory...
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7fcca2c00000 (size = 0x200000)
EAL: Ask a virtual area of 0x29400000 bytes
EAL: Virtual area found at 0x7fcc79600000 (size = 0x29400000)
EAL: Ask a virtual area of 0x400000 bytes
EAL: Virtual area found at 0x7fcca3400000 (size = 0x400000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7fcca3000000 (size = 0x200000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7fcc79200000 (size = 0x200000)
EAL: Ask a virtual area of 0x14d000000 bytes
EAL: Virtual area found at 0x7fcb2c000000 (size = 0x14d000000)
EAL: Ask a virtual area of 0x200000 bytes
EAL: Virtual area found at 0x7fcb2bc00000 (size = 0x200000)
EAL: Requesting 3000 pages of size 2MB from socket 0
EAL: TSC frequency is ~2393997 KHz
EAL: Master core 0 is ready (tid=a4ca2840)
EAL: Core 1 is ready (tid=2bbff700)
hello from core 1
hello from core 0


I want to run the l3fwd example app, per Appendix A.2 (pg 35-36) in the
DPDK 1.2 Release Benchmark Test Report .pdf:
*./build/l3fwd -c 0x6 -n 4 --socket-mem 1024,0 -- -p 0x3
-config="(0,0,1),(1,0,2)"*
where the "-p option is the hexadecimal bit mask of the ports to configure"

I am running this command:

*./build/l3fwd -c 0x3 -n 4 --socket-mem 1024,0 -- -p 0x3
--config="(0,0,0),(1,0,1)" --no-numa*

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: Support maximum 128 logical core(s) by configuration.

EAL: Detected 8 lcore(s)

EAL: Searching for IVSHMEM devices...

EAL: No IVSHMEM configuration found!

EAL: Setting up memory...

EAL: Ask a virtual area of 0x200000 bytes

EAL: Virtual area found at 0x7f3212600000 (size = 0x200000)

EAL: Ask a virtual area of 0x29400000 bytes

EAL: Virtual area found at 0x7f31e9000000 (size = 0x29400000)

EAL: Ask a virtual area of 0x400000 bytes

EAL: Virtual area found at 0x7f3212e00000 (size = 0x400000)

EAL: Ask a virtual area of 0x200000 bytes

EAL: Virtual area found at 0x7f3212a00000 (size = 0x200000)

EAL: Ask a virtual area of 0x200000 bytes

EAL: Virtual area found at 0x7f31e8c00000 (size = 0x200000)

EAL: Ask a virtual area of 0x14d000000 bytes

EAL: Virtual area found at 0x7f309ba00000 (size = 0x14d000000)

EAL: Ask a virtual area of 0x200000 bytes

EAL: Virtual area found at 0x7f309b600000 (size = 0x200000)

EAL: Requesting 512 pages of size 2MB from socket 0

EAL: TSC frequency is ~2393998 KHz

EAL: Master core 0 is ready (tid=14734840)

EAL: Core 1 is ready (tid=e8bff700)

numa is disabled

port 0 is not present on the board

EAL: Error - exiting with code: 1

  Cause: check_port_config failed

Perhaps the 0x3 (0011) hex portmask is incorrect?  What Linux command, or
combination of commands, would help show the appropriate hex portmask to
use in my case?

Thanks for your time,
Lyn

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2014-12-29 20:18 [dpdk-dev] l3fwd error, port 0 is not present on the board Lyn M
@ 2014-12-29 21:02 ` Neil Horman
  2014-12-30 18:54   ` Lyn M
  0 siblings, 1 reply; 14+ messages in thread
From: Neil Horman @ 2014-12-29 21:02 UTC (permalink / raw)
  To: Lyn M; +Cc: dev

On Mon, Dec 29, 2014 at 02:18:09PM -0600, Lyn M wrote:
> Hello all,
> 
> Rangeley platform (1 CPU with 8 cores, 4x1 GbE, 2x10 GbE, Intel PCIe card
> with 2x10 GbE fiber)
> FC20 with hugepages enabled
> DPDK 1.8.0 built with T=x86_64-ivshmem-linuxapp-gcc
> 
>  */usr/src/dpdk/tools/dpdk_nic_bind.py --status*
> 
> 
> 
> Network devices using DPDK-compatible driver
> 
> ============================================
> 
> 0000:09:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
> unused=ixgbe
> 
> 0000:09:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
> unused=ixgbe
> 
> 
> 
> Network devices using kernel driver
> 
> ===================================
> 
> 0000:00:14.0 'Ethernet Connection I354' if=enp0s20f0 drv=igb unused=igb_uio
> 
> 0000:00:14.1 'Ethernet Connection I354' if=enp0s20f1 drv=igb unused=igb_uio
> 
> 0000:00:14.2 'Ethernet Connection I354' if=enp0s20f2 drv=igb unused=igb_uio
> 
> 0000:00:14.3 'Ethernet Connection I354' if=enp0s20f3 drv=igb unused=igb_uio
> 
> 0000:07:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p1 drv=ixgbe
> unused=igb_uio *Active*
> 
> 0000:07:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p2 drv=ixgbe
> unused=igb_uio
> 
> 
> 
> Other network devices
> 
> =====================
> 
> <none>
> 
> The DPDK helloworld example seems to run OK, other than the warning about
> IVSHMEM configuration not found:
> *./helloworld -c 0x3 -n 4*
> 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: Support maximum 128 logical core(s) by configuration.
> EAL: Detected 8 lcore(s)
> EAL: Searching for IVSHMEM devices...
> EAL: No IVSHMEM configuration found!
> EAL: Setting up memory...
> EAL: Ask a virtual area of 0x200000 bytes
> EAL: Virtual area found at 0x7fcca2c00000 (size = 0x200000)
> EAL: Ask a virtual area of 0x29400000 bytes
> EAL: Virtual area found at 0x7fcc79600000 (size = 0x29400000)
> EAL: Ask a virtual area of 0x400000 bytes
> EAL: Virtual area found at 0x7fcca3400000 (size = 0x400000)
> EAL: Ask a virtual area of 0x200000 bytes
> EAL: Virtual area found at 0x7fcca3000000 (size = 0x200000)
> EAL: Ask a virtual area of 0x200000 bytes
> EAL: Virtual area found at 0x7fcc79200000 (size = 0x200000)
> EAL: Ask a virtual area of 0x14d000000 bytes
> EAL: Virtual area found at 0x7fcb2c000000 (size = 0x14d000000)
> EAL: Ask a virtual area of 0x200000 bytes
> EAL: Virtual area found at 0x7fcb2bc00000 (size = 0x200000)
> EAL: Requesting 3000 pages of size 2MB from socket 0
> EAL: TSC frequency is ~2393997 KHz
> EAL: Master core 0 is ready (tid=a4ca2840)
> EAL: Core 1 is ready (tid=2bbff700)
> hello from core 1
> hello from core 0
> 
> 
> I want to run the l3fwd example app, per Appendix A.2 (pg 35-36) in the
> DPDK 1.2 Release Benchmark Test Report .pdf:
> *./build/l3fwd -c 0x6 -n 4 --socket-mem 1024,0 -- -p 0x3
> -config="(0,0,1),(1,0,2)"*
> where the "-p option is the hexadecimal bit mask of the ports to configure"
> 
> I am running this command:
> 
> *./build/l3fwd -c 0x3 -n 4 --socket-mem 1024,0 -- -p 0x3
> --config="(0,0,0),(1,0,1)" --no-numa*
> 
> 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: Support maximum 128 logical core(s) by configuration.
> 
> EAL: Detected 8 lcore(s)
> 
> EAL: Searching for IVSHMEM devices...
> 
> EAL: No IVSHMEM configuration found!
> 
> EAL: Setting up memory...
> 
> EAL: Ask a virtual area of 0x200000 bytes
> 
> EAL: Virtual area found at 0x7f3212600000 (size = 0x200000)
> 
> EAL: Ask a virtual area of 0x29400000 bytes
> 
> EAL: Virtual area found at 0x7f31e9000000 (size = 0x29400000)
> 
> EAL: Ask a virtual area of 0x400000 bytes
> 
> EAL: Virtual area found at 0x7f3212e00000 (size = 0x400000)
> 
> EAL: Ask a virtual area of 0x200000 bytes
> 
> EAL: Virtual area found at 0x7f3212a00000 (size = 0x200000)
> 
> EAL: Ask a virtual area of 0x200000 bytes
> 
> EAL: Virtual area found at 0x7f31e8c00000 (size = 0x200000)
> 
> EAL: Ask a virtual area of 0x14d000000 bytes
> 
> EAL: Virtual area found at 0x7f309ba00000 (size = 0x14d000000)
> 
> EAL: Ask a virtual area of 0x200000 bytes
> 
> EAL: Virtual area found at 0x7f309b600000 (size = 0x200000)
> 
> EAL: Requesting 512 pages of size 2MB from socket 0
> 
> EAL: TSC frequency is ~2393998 KHz
> 
> EAL: Master core 0 is ready (tid=14734840)
> 
> EAL: Core 1 is ready (tid=e8bff700)
> 
> numa is disabled
> 
> port 0 is not present on the board
> 
> EAL: Error - exiting with code: 1
> 
>   Cause: check_port_config failed
> 
> Perhaps the 0x3 (0011) hex portmask is incorrect?  What Linux command, or
> combination of commands, would help show the appropriate hex portmask to
> use in my case?
> 
> Thanks for your time,
> Lyn
> 
I don't see the detection of any of your physical devices here.  I'm guessing
your setup is just looking for ivshmem devices, which you won't have any of in
FC20 unless you rebuild qemu.  As such, dpdk doesn't see any ports, which is why
you're getting the error the results from portid 0 being greater than the number
of detected ports on the system

neil

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2014-12-29 21:02 ` Neil Horman
@ 2014-12-30 18:54   ` Lyn M
  2014-12-30 21:24     ` Neil Horman
  0 siblings, 1 reply; 14+ messages in thread
From: Lyn M @ 2014-12-30 18:54 UTC (permalink / raw)
  To: Neil Horman; +Cc: dev

Neil, thank you for your reply.

I used the DPDK 8.1.0 setup.sh script to clean the system (unbind NICs,
rmmod igb_uio and uio, remove hugepage mappings), and then re-built for
x86_64-native-linuxapp-gcc, setup hugepages, insmod the modules, bound the
NICs, but have the same result when trying to run testpmd:
EAL: Error - exiting with code: 1
  Cause: No probed ethernet device


I then cleaned up again, downloaded DPDK 1.7.1 and ran the setup.sh script
to build for x86_64-native-linuxapp-gcc.  With 1.7.1, testpmd runs
successfully, and I am able to run my l3fwd command as well. I also built
for x86_64-ivshmem-linuxapp-gcc, and testpmd ran successfully (other than
the warning about no IVSHMEM configuration).

Thoughts?

On Mon, Dec 29, 2014 at 3:02 PM, Neil Horman <nhorman@tuxdriver.com> wrote:

> On Mon, Dec 29, 2014 at 02:18:09PM -0600, Lyn M wrote:
> > Hello all,
> >
> > Rangeley platform (1 CPU with 8 cores, 4x1 GbE, 2x10 GbE, Intel PCIe card
> > with 2x10 GbE fiber)
> > FC20 with hugepages enabled
> > DPDK 1.8.0 built with T=x86_64-ivshmem-linuxapp-gcc
> >
> >  */usr/src/dpdk/tools/dpdk_nic_bind.py --status*
> >
> >
> >
> > Network devices using DPDK-compatible driver
> >
> > ============================================
> >
> > 0000:09:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
> > unused=ixgbe
> >
> > 0000:09:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
> > unused=ixgbe
> >
> >
> >
> > Network devices using kernel driver
> >
> > ===================================
> >
> > 0000:00:14.0 'Ethernet Connection I354' if=enp0s20f0 drv=igb
> unused=igb_uio
> >
> > 0000:00:14.1 'Ethernet Connection I354' if=enp0s20f1 drv=igb
> unused=igb_uio
> >
> > 0000:00:14.2 'Ethernet Connection I354' if=enp0s20f2 drv=igb
> unused=igb_uio
> >
> > 0000:00:14.3 'Ethernet Connection I354' if=enp0s20f3 drv=igb
> unused=igb_uio
> >
> > 0000:07:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p1 drv=ixgbe
> > unused=igb_uio *Active*
> >
> > 0000:07:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p2 drv=ixgbe
> > unused=igb_uio
> >
> >
> >
> > Other network devices
> >
> > =====================
> >
> > <none>
> >
> > The DPDK helloworld example seems to run OK, other than the warning about
> > IVSHMEM configuration not found:
> > *./helloworld -c 0x3 -n 4*
> > 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: Support maximum 128 logical core(s) by configuration.
> > EAL: Detected 8 lcore(s)
> > EAL: Searching for IVSHMEM devices...
> > EAL: No IVSHMEM configuration found!
> > EAL: Setting up memory...
> > EAL: Ask a virtual area of 0x200000 bytes
> > EAL: Virtual area found at 0x7fcca2c00000 (size = 0x200000)
> > EAL: Ask a virtual area of 0x29400000 bytes
> > EAL: Virtual area found at 0x7fcc79600000 (size = 0x29400000)
> > EAL: Ask a virtual area of 0x400000 bytes
> > EAL: Virtual area found at 0x7fcca3400000 (size = 0x400000)
> > EAL: Ask a virtual area of 0x200000 bytes
> > EAL: Virtual area found at 0x7fcca3000000 (size = 0x200000)
> > EAL: Ask a virtual area of 0x200000 bytes
> > EAL: Virtual area found at 0x7fcc79200000 (size = 0x200000)
> > EAL: Ask a virtual area of 0x14d000000 bytes
> > EAL: Virtual area found at 0x7fcb2c000000 (size = 0x14d000000)
> > EAL: Ask a virtual area of 0x200000 bytes
> > EAL: Virtual area found at 0x7fcb2bc00000 (size = 0x200000)
> > EAL: Requesting 3000 pages of size 2MB from socket 0
> > EAL: TSC frequency is ~2393997 KHz
> > EAL: Master core 0 is ready (tid=a4ca2840)
> > EAL: Core 1 is ready (tid=2bbff700)
> > hello from core 1
> > hello from core 0
> >
> >
> > I want to run the l3fwd example app, per Appendix A.2 (pg 35-36) in the
> > DPDK 1.2 Release Benchmark Test Report .pdf:
> > *./build/l3fwd -c 0x6 -n 4 --socket-mem 1024,0 -- -p 0x3
> > -config="(0,0,1),(1,0,2)"*
> > where the "-p option is the hexadecimal bit mask of the ports to
> configure"
> >
> > I am running this command:
> >
> > *./build/l3fwd -c 0x3 -n 4 --socket-mem 1024,0 -- -p 0x3
> > --config="(0,0,0),(1,0,1)" --no-numa*
> >
> > 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: Support maximum 128 logical core(s) by configuration.
> >
> > EAL: Detected 8 lcore(s)
> >
> > EAL: Searching for IVSHMEM devices...
> >
> > EAL: No IVSHMEM configuration found!
> >
> > EAL: Setting up memory...
> >
> > EAL: Ask a virtual area of 0x200000 bytes
> >
> > EAL: Virtual area found at 0x7f3212600000 (size = 0x200000)
> >
> > EAL: Ask a virtual area of 0x29400000 bytes
> >
> > EAL: Virtual area found at 0x7f31e9000000 (size = 0x29400000)
> >
> > EAL: Ask a virtual area of 0x400000 bytes
> >
> > EAL: Virtual area found at 0x7f3212e00000 (size = 0x400000)
> >
> > EAL: Ask a virtual area of 0x200000 bytes
> >
> > EAL: Virtual area found at 0x7f3212a00000 (size = 0x200000)
> >
> > EAL: Ask a virtual area of 0x200000 bytes
> >
> > EAL: Virtual area found at 0x7f31e8c00000 (size = 0x200000)
> >
> > EAL: Ask a virtual area of 0x14d000000 bytes
> >
> > EAL: Virtual area found at 0x7f309ba00000 (size = 0x14d000000)
> >
> > EAL: Ask a virtual area of 0x200000 bytes
> >
> > EAL: Virtual area found at 0x7f309b600000 (size = 0x200000)
> >
> > EAL: Requesting 512 pages of size 2MB from socket 0
> >
> > EAL: TSC frequency is ~2393998 KHz
> >
> > EAL: Master core 0 is ready (tid=14734840)
> >
> > EAL: Core 1 is ready (tid=e8bff700)
> >
> > numa is disabled
> >
> > port 0 is not present on the board
> >
> > EAL: Error - exiting with code: 1
> >
> >   Cause: check_port_config failed
> >
> > Perhaps the 0x3 (0011) hex portmask is incorrect?  What Linux command, or
> > combination of commands, would help show the appropriate hex portmask to
> > use in my case?
> >
> > Thanks for your time,
> > Lyn
> >
> I don't see the detection of any of your physical devices here.  I'm
> guessing
> your setup is just looking for ivshmem devices, which you won't have any
> of in
> FC20 unless you rebuild qemu.  As such, dpdk doesn't see any ports, which
> is why
> you're getting the error the results from portid 0 being greater than the
> number
> of detected ports on the system
>
> neil
>
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2014-12-30 18:54   ` Lyn M
@ 2014-12-30 21:24     ` Neil Horman
  2014-12-31 14:18       ` Lyn M
  0 siblings, 1 reply; 14+ messages in thread
From: Neil Horman @ 2014-12-30 21:24 UTC (permalink / raw)
  To: Lyn M; +Cc: dev

On Tue, Dec 30, 2014 at 12:54:17PM -0600, Lyn M wrote:
> Neil, thank you for your reply.
> 
> I used the DPDK 8.1.0 setup.sh script to clean the system (unbind NICs,
> rmmod igb_uio and uio, remove hugepage mappings), and then re-built for
> x86_64-native-linuxapp-gcc, setup hugepages, insmod the modules, bound the
> NICs, but have the same result when trying to run testpmd:
> EAL: Error - exiting with code: 1
>   Cause: No probed ethernet device
> 
> 
> I then cleaned up again, downloaded DPDK 1.7.1 and ran the setup.sh script
> to build for x86_64-native-linuxapp-gcc.  With 1.7.1, testpmd runs
> successfully, and I am able to run my l3fwd command as well. I also built
> for x86_64-ivshmem-linuxapp-gcc, and testpmd ran successfully (other than
> the warning about no IVSHMEM configuration).
> 
> Thoughts?
> 
Well, the root cause is still the same, DPDK isn't detecting any devices over
which to forward traffic, which means the nb_port count is zero.  That would
suggest that you didn't find any devices during rte_eal_init.  The question is
why. I'd turn on all the pmd init debug macros to see if all the init routines
are getting called.

Two questions: (1) are you doing a static or DSO build, and (2) did you make any
changes to the make flags?

Neil

> On Mon, Dec 29, 2014 at 3:02 PM, Neil Horman <nhorman@tuxdriver.com> wrote:
> 
> > On Mon, Dec 29, 2014 at 02:18:09PM -0600, Lyn M wrote:
> > > Hello all,
> > >
> > > Rangeley platform (1 CPU with 8 cores, 4x1 GbE, 2x10 GbE, Intel PCIe card
> > > with 2x10 GbE fiber)
> > > FC20 with hugepages enabled
> > > DPDK 1.8.0 built with T=x86_64-ivshmem-linuxapp-gcc
> > >
> > >  */usr/src/dpdk/tools/dpdk_nic_bind.py --status*
> > >
> > >
> > >
> > > Network devices using DPDK-compatible driver
> > >
> > > ============================================
> > >
> > > 0000:09:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
> > > unused=ixgbe
> > >
> > > 0000:09:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio
> > > unused=ixgbe
> > >
> > >
> > >
> > > Network devices using kernel driver
> > >
> > > ===================================
> > >
> > > 0000:00:14.0 'Ethernet Connection I354' if=enp0s20f0 drv=igb
> > unused=igb_uio
> > >
> > > 0000:00:14.1 'Ethernet Connection I354' if=enp0s20f1 drv=igb
> > unused=igb_uio
> > >
> > > 0000:00:14.2 'Ethernet Connection I354' if=enp0s20f2 drv=igb
> > unused=igb_uio
> > >
> > > 0000:00:14.3 'Ethernet Connection I354' if=enp0s20f3 drv=igb
> > unused=igb_uio
> > >
> > > 0000:07:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p1 drv=ixgbe
> > > unused=igb_uio *Active*
> > >
> > > 0000:07:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p2 drv=ixgbe
> > > unused=igb_uio
> > >
> > >
> > >
> > > Other network devices
> > >
> > > =====================
> > >
> > > <none>
> > >
> > > The DPDK helloworld example seems to run OK, other than the warning about
> > > IVSHMEM configuration not found:
> > > *./helloworld -c 0x3 -n 4*
> > > 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: Support maximum 128 logical core(s) by configuration.
> > > EAL: Detected 8 lcore(s)
> > > EAL: Searching for IVSHMEM devices...
> > > EAL: No IVSHMEM configuration found!
> > > EAL: Setting up memory...
> > > EAL: Ask a virtual area of 0x200000 bytes
> > > EAL: Virtual area found at 0x7fcca2c00000 (size = 0x200000)
> > > EAL: Ask a virtual area of 0x29400000 bytes
> > > EAL: Virtual area found at 0x7fcc79600000 (size = 0x29400000)
> > > EAL: Ask a virtual area of 0x400000 bytes
> > > EAL: Virtual area found at 0x7fcca3400000 (size = 0x400000)
> > > EAL: Ask a virtual area of 0x200000 bytes
> > > EAL: Virtual area found at 0x7fcca3000000 (size = 0x200000)
> > > EAL: Ask a virtual area of 0x200000 bytes
> > > EAL: Virtual area found at 0x7fcc79200000 (size = 0x200000)
> > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > EAL: Virtual area found at 0x7fcb2c000000 (size = 0x14d000000)
> > > EAL: Ask a virtual area of 0x200000 bytes
> > > EAL: Virtual area found at 0x7fcb2bc00000 (size = 0x200000)
> > > EAL: Requesting 3000 pages of size 2MB from socket 0
> > > EAL: TSC frequency is ~2393997 KHz
> > > EAL: Master core 0 is ready (tid=a4ca2840)
> > > EAL: Core 1 is ready (tid=2bbff700)
> > > hello from core 1
> > > hello from core 0
> > >
> > >
> > > I want to run the l3fwd example app, per Appendix A.2 (pg 35-36) in the
> > > DPDK 1.2 Release Benchmark Test Report .pdf:
> > > *./build/l3fwd -c 0x6 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > -config="(0,0,1),(1,0,2)"*
> > > where the "-p option is the hexadecimal bit mask of the ports to
> > configure"
> > >
> > > I am running this command:
> > >
> > > *./build/l3fwd -c 0x3 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > --config="(0,0,0),(1,0,1)" --no-numa*
> > >
> > > 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: Support maximum 128 logical core(s) by configuration.
> > >
> > > EAL: Detected 8 lcore(s)
> > >
> > > EAL: Searching for IVSHMEM devices...
> > >
> > > EAL: No IVSHMEM configuration found!
> > >
> > > EAL: Setting up memory...
> > >
> > > EAL: Ask a virtual area of 0x200000 bytes
> > >
> > > EAL: Virtual area found at 0x7f3212600000 (size = 0x200000)
> > >
> > > EAL: Ask a virtual area of 0x29400000 bytes
> > >
> > > EAL: Virtual area found at 0x7f31e9000000 (size = 0x29400000)
> > >
> > > EAL: Ask a virtual area of 0x400000 bytes
> > >
> > > EAL: Virtual area found at 0x7f3212e00000 (size = 0x400000)
> > >
> > > EAL: Ask a virtual area of 0x200000 bytes
> > >
> > > EAL: Virtual area found at 0x7f3212a00000 (size = 0x200000)
> > >
> > > EAL: Ask a virtual area of 0x200000 bytes
> > >
> > > EAL: Virtual area found at 0x7f31e8c00000 (size = 0x200000)
> > >
> > > EAL: Ask a virtual area of 0x14d000000 bytes
> > >
> > > EAL: Virtual area found at 0x7f309ba00000 (size = 0x14d000000)
> > >
> > > EAL: Ask a virtual area of 0x200000 bytes
> > >
> > > EAL: Virtual area found at 0x7f309b600000 (size = 0x200000)
> > >
> > > EAL: Requesting 512 pages of size 2MB from socket 0
> > >
> > > EAL: TSC frequency is ~2393998 KHz
> > >
> > > EAL: Master core 0 is ready (tid=14734840)
> > >
> > > EAL: Core 1 is ready (tid=e8bff700)
> > >
> > > numa is disabled
> > >
> > > port 0 is not present on the board
> > >
> > > EAL: Error - exiting with code: 1
> > >
> > >   Cause: check_port_config failed
> > >
> > > Perhaps the 0x3 (0011) hex portmask is incorrect?  What Linux command, or
> > > combination of commands, would help show the appropriate hex portmask to
> > > use in my case?
> > >
> > > Thanks for your time,
> > > Lyn
> > >
> > I don't see the detection of any of your physical devices here.  I'm
> > guessing
> > your setup is just looking for ivshmem devices, which you won't have any
> > of in
> > FC20 unless you rebuild qemu.  As such, dpdk doesn't see any ports, which
> > is why
> > you're getting the error the results from portid 0 being greater than the
> > number
> > of detected ports on the system
> >
> > neil
> >
> >

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2014-12-30 21:24     ` Neil Horman
@ 2014-12-31 14:18       ` Lyn M
  2014-12-31 14:48         ` Neil Horman
  0 siblings, 1 reply; 14+ messages in thread
From: Lyn M @ 2014-12-31 14:18 UTC (permalink / raw)
  To: Neil Horman; +Cc: dev

Neil, to build DPDK, I am doing the following steps:
1) download DPDK tarball (1.7.1 or 1.8.0) from
http://dpdk.org/browse/dpdk/refs/
2) untar
3) edit config/common_linuxapp and change CONFIG_RTE_BUILD_COMBINE_LIBS
from "n" to "y"
4) follow all of the steps in http://dpdk.org/doc/quick-start

When I do those steps for DPDK 1.7.1, the output of testpmd is OK, and I
see both of my NICs that are bound to igb_uio.
When I do those steps for DPDK 1.8.0, the output of testpmd is:
EAL: Error - exiting with code: 1
  Cause: No probed ethernet device

I see the same result when I use the setup.sh script instead of manually
doing the steps in http://dpdk.org/doc/quick-start

Can you please show me an example of enabling the pmd init debug macros?

Lyn

On Tue, Dec 30, 2014 at 3:24 PM, Neil Horman <nhorman@tuxdriver.com> wrote:

> On Tue, Dec 30, 2014 at 12:54:17PM -0600, Lyn M wrote:
> > Neil, thank you for your reply.
> >
> > I used the DPDK 8.1.0 setup.sh script to clean the system (unbind NICs,
> > rmmod igb_uio and uio, remove hugepage mappings), and then re-built for
> > x86_64-native-linuxapp-gcc, setup hugepages, insmod the modules, bound
> the
> > NICs, but have the same result when trying to run testpmd:
> > EAL: Error - exiting with code: 1
> >   Cause: No probed ethernet device
> >
> >
> > I then cleaned up again, downloaded DPDK 1.7.1 and ran the setup.sh
> script
> > to build for x86_64-native-linuxapp-gcc.  With 1.7.1, testpmd runs
> > successfully, and I am able to run my l3fwd command as well. I also built
> > for x86_64-ivshmem-linuxapp-gcc, and testpmd ran successfully (other than
> > the warning about no IVSHMEM configuration).
> >
> > Thoughts?
> >
> Well, the root cause is still the same, DPDK isn't detecting any devices
> over
> which to forward traffic, which means the nb_port count is zero.  That
> would
> suggest that you didn't find any devices during rte_eal_init.  The
> question is
> why. I'd turn on all the pmd init debug macros to see if all the init
> routines
> are getting called.
>
> Two questions: (1) are you doing a static or DSO build, and (2) did you
> make any
> changes to the make flags?
>
> Neil
>
> > On Mon, Dec 29, 2014 at 3:02 PM, Neil Horman <nhorman@tuxdriver.com>
> wrote:
> >
> > > On Mon, Dec 29, 2014 at 02:18:09PM -0600, Lyn M wrote:
> > > > Hello all,
> > > >
> > > > Rangeley platform (1 CPU with 8 cores, 4x1 GbE, 2x10 GbE, Intel PCIe
> card
> > > > with 2x10 GbE fiber)
> > > > FC20 with hugepages enabled
> > > > DPDK 1.8.0 built with T=x86_64-ivshmem-linuxapp-gcc
> > > >
> > > >  */usr/src/dpdk/tools/dpdk_nic_bind.py --status*
> > > >
> > > >
> > > >
> > > > Network devices using DPDK-compatible driver
> > > >
> > > > ============================================
> > > >
> > > > 0000:09:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
> drv=igb_uio
> > > > unused=ixgbe
> > > >
> > > > 0000:09:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
> drv=igb_uio
> > > > unused=ixgbe
> > > >
> > > >
> > > >
> > > > Network devices using kernel driver
> > > >
> > > > ===================================
> > > >
> > > > 0000:00:14.0 'Ethernet Connection I354' if=enp0s20f0 drv=igb
> > > unused=igb_uio
> > > >
> > > > 0000:00:14.1 'Ethernet Connection I354' if=enp0s20f1 drv=igb
> > > unused=igb_uio
> > > >
> > > > 0000:00:14.2 'Ethernet Connection I354' if=enp0s20f2 drv=igb
> > > unused=igb_uio
> > > >
> > > > 0000:00:14.3 'Ethernet Connection I354' if=enp0s20f3 drv=igb
> > > unused=igb_uio
> > > >
> > > > 0000:07:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p1
> drv=ixgbe
> > > > unused=igb_uio *Active*
> > > >
> > > > 0000:07:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p2
> drv=ixgbe
> > > > unused=igb_uio
> > > >
> > > >
> > > >
> > > > Other network devices
> > > >
> > > > =====================
> > > >
> > > > <none>
> > > >
> > > > The DPDK helloworld example seems to run OK, other than the warning
> about
> > > > IVSHMEM configuration not found:
> > > > *./helloworld -c 0x3 -n 4*
> > > > 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: Support maximum 128 logical core(s) by configuration.
> > > > EAL: Detected 8 lcore(s)
> > > > EAL: Searching for IVSHMEM devices...
> > > > EAL: No IVSHMEM configuration found!
> > > > EAL: Setting up memory...
> > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > EAL: Virtual area found at 0x7fcca2c00000 (size = 0x200000)
> > > > EAL: Ask a virtual area of 0x29400000 bytes
> > > > EAL: Virtual area found at 0x7fcc79600000 (size = 0x29400000)
> > > > EAL: Ask a virtual area of 0x400000 bytes
> > > > EAL: Virtual area found at 0x7fcca3400000 (size = 0x400000)
> > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > EAL: Virtual area found at 0x7fcca3000000 (size = 0x200000)
> > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > EAL: Virtual area found at 0x7fcc79200000 (size = 0x200000)
> > > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > > EAL: Virtual area found at 0x7fcb2c000000 (size = 0x14d000000)
> > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > EAL: Virtual area found at 0x7fcb2bc00000 (size = 0x200000)
> > > > EAL: Requesting 3000 pages of size 2MB from socket 0
> > > > EAL: TSC frequency is ~2393997 KHz
> > > > EAL: Master core 0 is ready (tid=a4ca2840)
> > > > EAL: Core 1 is ready (tid=2bbff700)
> > > > hello from core 1
> > > > hello from core 0
> > > >
> > > >
> > > > I want to run the l3fwd example app, per Appendix A.2 (pg 35-36) in
> the
> > > > DPDK 1.2 Release Benchmark Test Report .pdf:
> > > > *./build/l3fwd -c 0x6 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > > -config="(0,0,1),(1,0,2)"*
> > > > where the "-p option is the hexadecimal bit mask of the ports to
> > > configure"
> > > >
> > > > I am running this command:
> > > >
> > > > *./build/l3fwd -c 0x3 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > > --config="(0,0,0),(1,0,1)" --no-numa*
> > > >
> > > > 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: Support maximum 128 logical core(s) by configuration.
> > > >
> > > > EAL: Detected 8 lcore(s)
> > > >
> > > > EAL: Searching for IVSHMEM devices...
> > > >
> > > > EAL: No IVSHMEM configuration found!
> > > >
> > > > EAL: Setting up memory...
> > > >
> > > > EAL: Ask a virtual area of 0x200000 bytes
> > > >
> > > > EAL: Virtual area found at 0x7f3212600000 (size = 0x200000)
> > > >
> > > > EAL: Ask a virtual area of 0x29400000 bytes
> > > >
> > > > EAL: Virtual area found at 0x7f31e9000000 (size = 0x29400000)
> > > >
> > > > EAL: Ask a virtual area of 0x400000 bytes
> > > >
> > > > EAL: Virtual area found at 0x7f3212e00000 (size = 0x400000)
> > > >
> > > > EAL: Ask a virtual area of 0x200000 bytes
> > > >
> > > > EAL: Virtual area found at 0x7f3212a00000 (size = 0x200000)
> > > >
> > > > EAL: Ask a virtual area of 0x200000 bytes
> > > >
> > > > EAL: Virtual area found at 0x7f31e8c00000 (size = 0x200000)
> > > >
> > > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > >
> > > > EAL: Virtual area found at 0x7f309ba00000 (size = 0x14d000000)
> > > >
> > > > EAL: Ask a virtual area of 0x200000 bytes
> > > >
> > > > EAL: Virtual area found at 0x7f309b600000 (size = 0x200000)
> > > >
> > > > EAL: Requesting 512 pages of size 2MB from socket 0
> > > >
> > > > EAL: TSC frequency is ~2393998 KHz
> > > >
> > > > EAL: Master core 0 is ready (tid=14734840)
> > > >
> > > > EAL: Core 1 is ready (tid=e8bff700)
> > > >
> > > > numa is disabled
> > > >
> > > > port 0 is not present on the board
> > > >
> > > > EAL: Error - exiting with code: 1
> > > >
> > > >   Cause: check_port_config failed
> > > >
> > > > Perhaps the 0x3 (0011) hex portmask is incorrect?  What Linux
> command, or
> > > > combination of commands, would help show the appropriate hex
> portmask to
> > > > use in my case?
> > > >
> > > > Thanks for your time,
> > > > Lyn
> > > >
> > > I don't see the detection of any of your physical devices here.  I'm
> > > guessing
> > > your setup is just looking for ivshmem devices, which you won't have
> any
> > > of in
> > > FC20 unless you rebuild qemu.  As such, dpdk doesn't see any ports,
> which
> > > is why
> > > you're getting the error the results from portid 0 being greater than
> the
> > > number
> > > of detected ports on the system
> > >
> > > neil
> > >
> > >
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2014-12-31 14:18       ` Lyn M
@ 2014-12-31 14:48         ` Neil Horman
  2014-12-31 16:50           ` Lyn M
  0 siblings, 1 reply; 14+ messages in thread
From: Neil Horman @ 2014-12-31 14:48 UTC (permalink / raw)
  To: Lyn M; +Cc: dev

On Wed, Dec 31, 2014 at 08:18:34AM -0600, Lyn M wrote:
> Neil, to build DPDK, I am doing the following steps:
> 1) download DPDK tarball (1.7.1 or 1.8.0) from
> http://dpdk.org/browse/dpdk/refs/
> 2) untar
> 3) edit config/common_linuxapp and change CONFIG_RTE_BUILD_COMBINE_LIBS
> from "n" to "y"
> 4) follow all of the steps in http://dpdk.org/doc/quick-start
> 
Hmm, I wonder if you're seeing a problem in which the constructors don't get
linked in properly.  Does it work if you don't specify
CONFIG_RTE_BUILD_COMBINE_LIBS?  I.e. if you build several .a files?

Can you objdump -t the resultant binary with and without COMBINE_LIBS and post
it?

Neil

> When I do those steps for DPDK 1.7.1, the output of testpmd is OK, and I
> see both of my NICs that are bound to igb_uio.
> When I do those steps for DPDK 1.8.0, the output of testpmd is:
> EAL: Error - exiting with code: 1
>   Cause: No probed ethernet device
> 
> I see the same result when I use the setup.sh script instead of manually
> doing the steps in http://dpdk.org/doc/quick-start
> 
> Can you please show me an example of enabling the pmd init debug macros?
> 
> Lyn
> 
> On Tue, Dec 30, 2014 at 3:24 PM, Neil Horman <nhorman@tuxdriver.com> wrote:
> 
> > On Tue, Dec 30, 2014 at 12:54:17PM -0600, Lyn M wrote:
> > > Neil, thank you for your reply.
> > >
> > > I used the DPDK 8.1.0 setup.sh script to clean the system (unbind NICs,
> > > rmmod igb_uio and uio, remove hugepage mappings), and then re-built for
> > > x86_64-native-linuxapp-gcc, setup hugepages, insmod the modules, bound
> > the
> > > NICs, but have the same result when trying to run testpmd:
> > > EAL: Error - exiting with code: 1
> > >   Cause: No probed ethernet device
> > >
> > >
> > > I then cleaned up again, downloaded DPDK 1.7.1 and ran the setup.sh
> > script
> > > to build for x86_64-native-linuxapp-gcc.  With 1.7.1, testpmd runs
> > > successfully, and I am able to run my l3fwd command as well. I also built
> > > for x86_64-ivshmem-linuxapp-gcc, and testpmd ran successfully (other than
> > > the warning about no IVSHMEM configuration).
> > >
> > > Thoughts?
> > >
> > Well, the root cause is still the same, DPDK isn't detecting any devices
> > over
> > which to forward traffic, which means the nb_port count is zero.  That
> > would
> > suggest that you didn't find any devices during rte_eal_init.  The
> > question is
> > why. I'd turn on all the pmd init debug macros to see if all the init
> > routines
> > are getting called.
> >
> > Two questions: (1) are you doing a static or DSO build, and (2) did you
> > make any
> > changes to the make flags?
> >
> > Neil
> >
> > > On Mon, Dec 29, 2014 at 3:02 PM, Neil Horman <nhorman@tuxdriver.com>
> > wrote:
> > >
> > > > On Mon, Dec 29, 2014 at 02:18:09PM -0600, Lyn M wrote:
> > > > > Hello all,
> > > > >
> > > > > Rangeley platform (1 CPU with 8 cores, 4x1 GbE, 2x10 GbE, Intel PCIe
> > card
> > > > > with 2x10 GbE fiber)
> > > > > FC20 with hugepages enabled
> > > > > DPDK 1.8.0 built with T=x86_64-ivshmem-linuxapp-gcc
> > > > >
> > > > >  */usr/src/dpdk/tools/dpdk_nic_bind.py --status*
> > > > >
> > > > >
> > > > >
> > > > > Network devices using DPDK-compatible driver
> > > > >
> > > > > ============================================
> > > > >
> > > > > 0000:09:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
> > drv=igb_uio
> > > > > unused=ixgbe
> > > > >
> > > > > 0000:09:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
> > drv=igb_uio
> > > > > unused=ixgbe
> > > > >
> > > > >
> > > > >
> > > > > Network devices using kernel driver
> > > > >
> > > > > ===================================
> > > > >
> > > > > 0000:00:14.0 'Ethernet Connection I354' if=enp0s20f0 drv=igb
> > > > unused=igb_uio
> > > > >
> > > > > 0000:00:14.1 'Ethernet Connection I354' if=enp0s20f1 drv=igb
> > > > unused=igb_uio
> > > > >
> > > > > 0000:00:14.2 'Ethernet Connection I354' if=enp0s20f2 drv=igb
> > > > unused=igb_uio
> > > > >
> > > > > 0000:00:14.3 'Ethernet Connection I354' if=enp0s20f3 drv=igb
> > > > unused=igb_uio
> > > > >
> > > > > 0000:07:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p1
> > drv=ixgbe
> > > > > unused=igb_uio *Active*
> > > > >
> > > > > 0000:07:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p2
> > drv=ixgbe
> > > > > unused=igb_uio
> > > > >
> > > > >
> > > > >
> > > > > Other network devices
> > > > >
> > > > > =====================
> > > > >
> > > > > <none>
> > > > >
> > > > > The DPDK helloworld example seems to run OK, other than the warning
> > about
> > > > > IVSHMEM configuration not found:
> > > > > *./helloworld -c 0x3 -n 4*
> > > > > 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: Support maximum 128 logical core(s) by configuration.
> > > > > EAL: Detected 8 lcore(s)
> > > > > EAL: Searching for IVSHMEM devices...
> > > > > EAL: No IVSHMEM configuration found!
> > > > > EAL: Setting up memory...
> > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > EAL: Virtual area found at 0x7fcca2c00000 (size = 0x200000)
> > > > > EAL: Ask a virtual area of 0x29400000 bytes
> > > > > EAL: Virtual area found at 0x7fcc79600000 (size = 0x29400000)
> > > > > EAL: Ask a virtual area of 0x400000 bytes
> > > > > EAL: Virtual area found at 0x7fcca3400000 (size = 0x400000)
> > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > EAL: Virtual area found at 0x7fcca3000000 (size = 0x200000)
> > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > EAL: Virtual area found at 0x7fcc79200000 (size = 0x200000)
> > > > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > > > EAL: Virtual area found at 0x7fcb2c000000 (size = 0x14d000000)
> > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > EAL: Virtual area found at 0x7fcb2bc00000 (size = 0x200000)
> > > > > EAL: Requesting 3000 pages of size 2MB from socket 0
> > > > > EAL: TSC frequency is ~2393997 KHz
> > > > > EAL: Master core 0 is ready (tid=a4ca2840)
> > > > > EAL: Core 1 is ready (tid=2bbff700)
> > > > > hello from core 1
> > > > > hello from core 0
> > > > >
> > > > >
> > > > > I want to run the l3fwd example app, per Appendix A.2 (pg 35-36) in
> > the
> > > > > DPDK 1.2 Release Benchmark Test Report .pdf:
> > > > > *./build/l3fwd -c 0x6 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > > > -config="(0,0,1),(1,0,2)"*
> > > > > where the "-p option is the hexadecimal bit mask of the ports to
> > > > configure"
> > > > >
> > > > > I am running this command:
> > > > >
> > > > > *./build/l3fwd -c 0x3 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > > > --config="(0,0,0),(1,0,1)" --no-numa*
> > > > >
> > > > > 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: Support maximum 128 logical core(s) by configuration.
> > > > >
> > > > > EAL: Detected 8 lcore(s)
> > > > >
> > > > > EAL: Searching for IVSHMEM devices...
> > > > >
> > > > > EAL: No IVSHMEM configuration found!
> > > > >
> > > > > EAL: Setting up memory...
> > > > >
> > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > >
> > > > > EAL: Virtual area found at 0x7f3212600000 (size = 0x200000)
> > > > >
> > > > > EAL: Ask a virtual area of 0x29400000 bytes
> > > > >
> > > > > EAL: Virtual area found at 0x7f31e9000000 (size = 0x29400000)
> > > > >
> > > > > EAL: Ask a virtual area of 0x400000 bytes
> > > > >
> > > > > EAL: Virtual area found at 0x7f3212e00000 (size = 0x400000)
> > > > >
> > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > >
> > > > > EAL: Virtual area found at 0x7f3212a00000 (size = 0x200000)
> > > > >
> > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > >
> > > > > EAL: Virtual area found at 0x7f31e8c00000 (size = 0x200000)
> > > > >
> > > > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > > >
> > > > > EAL: Virtual area found at 0x7f309ba00000 (size = 0x14d000000)
> > > > >
> > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > >
> > > > > EAL: Virtual area found at 0x7f309b600000 (size = 0x200000)
> > > > >
> > > > > EAL: Requesting 512 pages of size 2MB from socket 0
> > > > >
> > > > > EAL: TSC frequency is ~2393998 KHz
> > > > >
> > > > > EAL: Master core 0 is ready (tid=14734840)
> > > > >
> > > > > EAL: Core 1 is ready (tid=e8bff700)
> > > > >
> > > > > numa is disabled
> > > > >
> > > > > port 0 is not present on the board
> > > > >
> > > > > EAL: Error - exiting with code: 1
> > > > >
> > > > >   Cause: check_port_config failed
> > > > >
> > > > > Perhaps the 0x3 (0011) hex portmask is incorrect?  What Linux
> > command, or
> > > > > combination of commands, would help show the appropriate hex
> > portmask to
> > > > > use in my case?
> > > > >
> > > > > Thanks for your time,
> > > > > Lyn
> > > > >
> > > > I don't see the detection of any of your physical devices here.  I'm
> > > > guessing
> > > > your setup is just looking for ivshmem devices, which you won't have
> > any
> > > > of in
> > > > FC20 unless you rebuild qemu.  As such, dpdk doesn't see any ports,
> > which
> > > > is why
> > > > you're getting the error the results from portid 0 being greater than
> > the
> > > > number
> > > > of detected ports on the system
> > > >
> > > > neil
> > > >
> > > >
> >

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2014-12-31 14:48         ` Neil Horman
@ 2014-12-31 16:50           ` Lyn M
  2015-01-01  3:37             ` Neil Horman
  0 siblings, 1 reply; 14+ messages in thread
From: Lyn M @ 2014-12-31 16:50 UTC (permalink / raw)
  To: Neil Horman; +Cc: dev

Neil,
When I build DPDK 1.8.0 with the default value CONFIG_RTE_BUILD_COMBINE_LIBS=n,
I am able to run the testpmd successfully.  So, that does appear to be the
culprit.
The objdump -t output for testpmd (with COMBINE_LIBS=n and COMBINE_LIBS=y)
files are here:
https://www.dropbox.com/sh/6os9yfn22jjcnmy/AAAjEV3u06XQ1t3UXdWcgru0a?dl=0

Thanks,
Lyn

On Wed, Dec 31, 2014 at 8:48 AM, Neil Horman <nhorman@tuxdriver.com> wrote:

> On Wed, Dec 31, 2014 at 08:18:34AM -0600, Lyn M wrote:
> > Neil, to build DPDK, I am doing the following steps:
> > 1) download DPDK tarball (1.7.1 or 1.8.0) from
> > http://dpdk.org/browse/dpdk/refs/
> > 2) untar
> > 3) edit config/common_linuxapp and change CONFIG_RTE_BUILD_COMBINE_LIBS
> > from "n" to "y"
> > 4) follow all of the steps in http://dpdk.org/doc/quick-start
> >
> Hmm, I wonder if you're seeing a problem in which the constructors don't
> get
> linked in properly.  Does it work if you don't specify
> CONFIG_RTE_BUILD_COMBINE_LIBS?  I.e. if you build several .a files?
>
> Can you objdump -t the resultant binary with and without COMBINE_LIBS and
> post
> it?
>
> Neil
>
> > When I do those steps for DPDK 1.7.1, the output of testpmd is OK, and I
> > see both of my NICs that are bound to igb_uio.
> > When I do those steps for DPDK 1.8.0, the output of testpmd is:
> > EAL: Error - exiting with code: 1
> >   Cause: No probed ethernet device
> >
> > I see the same result when I use the setup.sh script instead of manually
> > doing the steps in http://dpdk.org/doc/quick-start
> >
> > Can you please show me an example of enabling the pmd init debug macros?
> >
> > Lyn
> >
> > On Tue, Dec 30, 2014 at 3:24 PM, Neil Horman <nhorman@tuxdriver.com>
> wrote:
> >
> > > On Tue, Dec 30, 2014 at 12:54:17PM -0600, Lyn M wrote:
> > > > Neil, thank you for your reply.
> > > >
> > > > I used the DPDK 8.1.0 setup.sh script to clean the system (unbind
> NICs,
> > > > rmmod igb_uio and uio, remove hugepage mappings), and then re-built
> for
> > > > x86_64-native-linuxapp-gcc, setup hugepages, insmod the modules,
> bound
> > > the
> > > > NICs, but have the same result when trying to run testpmd:
> > > > EAL: Error - exiting with code: 1
> > > >   Cause: No probed ethernet device
> > > >
> > > >
> > > > I then cleaned up again, downloaded DPDK 1.7.1 and ran the setup.sh
> > > script
> > > > to build for x86_64-native-linuxapp-gcc.  With 1.7.1, testpmd runs
> > > > successfully, and I am able to run my l3fwd command as well. I also
> built
> > > > for x86_64-ivshmem-linuxapp-gcc, and testpmd ran successfully (other
> than
> > > > the warning about no IVSHMEM configuration).
> > > >
> > > > Thoughts?
> > > >
> > > Well, the root cause is still the same, DPDK isn't detecting any
> devices
> > > over
> > > which to forward traffic, which means the nb_port count is zero.  That
> > > would
> > > suggest that you didn't find any devices during rte_eal_init.  The
> > > question is
> > > why. I'd turn on all the pmd init debug macros to see if all the init
> > > routines
> > > are getting called.
> > >
> > > Two questions: (1) are you doing a static or DSO build, and (2) did you
> > > make any
> > > changes to the make flags?
> > >
> > > Neil
> > >
> > > > On Mon, Dec 29, 2014 at 3:02 PM, Neil Horman <nhorman@tuxdriver.com>
> > > wrote:
> > > >
> > > > > On Mon, Dec 29, 2014 at 02:18:09PM -0600, Lyn M wrote:
> > > > > > Hello all,
> > > > > >
> > > > > > Rangeley platform (1 CPU with 8 cores, 4x1 GbE, 2x10 GbE, Intel
> PCIe
> > > card
> > > > > > with 2x10 GbE fiber)
> > > > > > FC20 with hugepages enabled
> > > > > > DPDK 1.8.0 built with T=x86_64-ivshmem-linuxapp-gcc
> > > > > >
> > > > > >  */usr/src/dpdk/tools/dpdk_nic_bind.py --status*
> > > > > >
> > > > > >
> > > > > >
> > > > > > Network devices using DPDK-compatible driver
> > > > > >
> > > > > > ============================================
> > > > > >
> > > > > > 0000:09:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
> > > drv=igb_uio
> > > > > > unused=ixgbe
> > > > > >
> > > > > > 0000:09:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
> > > drv=igb_uio
> > > > > > unused=ixgbe
> > > > > >
> > > > > >
> > > > > >
> > > > > > Network devices using kernel driver
> > > > > >
> > > > > > ===================================
> > > > > >
> > > > > > 0000:00:14.0 'Ethernet Connection I354' if=enp0s20f0 drv=igb
> > > > > unused=igb_uio
> > > > > >
> > > > > > 0000:00:14.1 'Ethernet Connection I354' if=enp0s20f1 drv=igb
> > > > > unused=igb_uio
> > > > > >
> > > > > > 0000:00:14.2 'Ethernet Connection I354' if=enp0s20f2 drv=igb
> > > > > unused=igb_uio
> > > > > >
> > > > > > 0000:00:14.3 'Ethernet Connection I354' if=enp0s20f3 drv=igb
> > > > > unused=igb_uio
> > > > > >
> > > > > > 0000:07:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p1
> > > drv=ixgbe
> > > > > > unused=igb_uio *Active*
> > > > > >
> > > > > > 0000:07:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p2
> > > drv=ixgbe
> > > > > > unused=igb_uio
> > > > > >
> > > > > >
> > > > > >
> > > > > > Other network devices
> > > > > >
> > > > > > =====================
> > > > > >
> > > > > > <none>
> > > > > >
> > > > > > The DPDK helloworld example seems to run OK, other than the
> warning
> > > about
> > > > > > IVSHMEM configuration not found:
> > > > > > *./helloworld -c 0x3 -n 4*
> > > > > > 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: Support maximum 128 logical core(s) by configuration.
> > > > > > EAL: Detected 8 lcore(s)
> > > > > > EAL: Searching for IVSHMEM devices...
> > > > > > EAL: No IVSHMEM configuration found!
> > > > > > EAL: Setting up memory...
> > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > EAL: Virtual area found at 0x7fcca2c00000 (size = 0x200000)
> > > > > > EAL: Ask a virtual area of 0x29400000 bytes
> > > > > > EAL: Virtual area found at 0x7fcc79600000 (size = 0x29400000)
> > > > > > EAL: Ask a virtual area of 0x400000 bytes
> > > > > > EAL: Virtual area found at 0x7fcca3400000 (size = 0x400000)
> > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > EAL: Virtual area found at 0x7fcca3000000 (size = 0x200000)
> > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > EAL: Virtual area found at 0x7fcc79200000 (size = 0x200000)
> > > > > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > > > > EAL: Virtual area found at 0x7fcb2c000000 (size = 0x14d000000)
> > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > EAL: Virtual area found at 0x7fcb2bc00000 (size = 0x200000)
> > > > > > EAL: Requesting 3000 pages of size 2MB from socket 0
> > > > > > EAL: TSC frequency is ~2393997 KHz
> > > > > > EAL: Master core 0 is ready (tid=a4ca2840)
> > > > > > EAL: Core 1 is ready (tid=2bbff700)
> > > > > > hello from core 1
> > > > > > hello from core 0
> > > > > >
> > > > > >
> > > > > > I want to run the l3fwd example app, per Appendix A.2 (pg 35-36)
> in
> > > the
> > > > > > DPDK 1.2 Release Benchmark Test Report .pdf:
> > > > > > *./build/l3fwd -c 0x6 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > > > > -config="(0,0,1),(1,0,2)"*
> > > > > > where the "-p option is the hexadecimal bit mask of the ports to
> > > > > configure"
> > > > > >
> > > > > > I am running this command:
> > > > > >
> > > > > > *./build/l3fwd -c 0x3 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > > > > --config="(0,0,0),(1,0,1)" --no-numa*
> > > > > >
> > > > > > 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: Support maximum 128 logical core(s) by configuration.
> > > > > >
> > > > > > EAL: Detected 8 lcore(s)
> > > > > >
> > > > > > EAL: Searching for IVSHMEM devices...
> > > > > >
> > > > > > EAL: No IVSHMEM configuration found!
> > > > > >
> > > > > > EAL: Setting up memory...
> > > > > >
> > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > >
> > > > > > EAL: Virtual area found at 0x7f3212600000 (size = 0x200000)
> > > > > >
> > > > > > EAL: Ask a virtual area of 0x29400000 bytes
> > > > > >
> > > > > > EAL: Virtual area found at 0x7f31e9000000 (size = 0x29400000)
> > > > > >
> > > > > > EAL: Ask a virtual area of 0x400000 bytes
> > > > > >
> > > > > > EAL: Virtual area found at 0x7f3212e00000 (size = 0x400000)
> > > > > >
> > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > >
> > > > > > EAL: Virtual area found at 0x7f3212a00000 (size = 0x200000)
> > > > > >
> > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > >
> > > > > > EAL: Virtual area found at 0x7f31e8c00000 (size = 0x200000)
> > > > > >
> > > > > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > > > >
> > > > > > EAL: Virtual area found at 0x7f309ba00000 (size = 0x14d000000)
> > > > > >
> > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > >
> > > > > > EAL: Virtual area found at 0x7f309b600000 (size = 0x200000)
> > > > > >
> > > > > > EAL: Requesting 512 pages of size 2MB from socket 0
> > > > > >
> > > > > > EAL: TSC frequency is ~2393998 KHz
> > > > > >
> > > > > > EAL: Master core 0 is ready (tid=14734840)
> > > > > >
> > > > > > EAL: Core 1 is ready (tid=e8bff700)
> > > > > >
> > > > > > numa is disabled
> > > > > >
> > > > > > port 0 is not present on the board
> > > > > >
> > > > > > EAL: Error - exiting with code: 1
> > > > > >
> > > > > >   Cause: check_port_config failed
> > > > > >
> > > > > > Perhaps the 0x3 (0011) hex portmask is incorrect?  What Linux
> > > command, or
> > > > > > combination of commands, would help show the appropriate hex
> > > portmask to
> > > > > > use in my case?
> > > > > >
> > > > > > Thanks for your time,
> > > > > > Lyn
> > > > > >
> > > > > I don't see the detection of any of your physical devices here.
> I'm
> > > > > guessing
> > > > > your setup is just looking for ivshmem devices, which you won't
> have
> > > any
> > > > > of in
> > > > > FC20 unless you rebuild qemu.  As such, dpdk doesn't see any ports,
> > > which
> > > > > is why
> > > > > you're getting the error the results from portid 0 being greater
> than
> > > the
> > > > > number
> > > > > of detected ports on the system
> > > > >
> > > > > neil
> > > > >
> > > > >
> > >
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2014-12-31 16:50           ` Lyn M
@ 2015-01-01  3:37             ` Neil Horman
  2015-01-01  4:00               ` Neil Horman
  0 siblings, 1 reply; 14+ messages in thread
From: Neil Horman @ 2015-01-01  3:37 UTC (permalink / raw)
  To: Lyn M; +Cc: dev

On Wed, Dec 31, 2014 at 10:50:10AM -0600, Lyn M wrote:
> Neil,
> When I build DPDK 1.8.0 with the default value CONFIG_RTE_BUILD_COMBINE_LIBS=n,
> I am able to run the testpmd successfully.  So, that does appear to be the
> culprit.
> The objdump -t output for testpmd (with COMBINE_LIBS=n and COMBINE_LIBS=y)
> files are here:
> https://www.dropbox.com/sh/6os9yfn22jjcnmy/AAAjEV3u06XQ1t3UXdWcgru0a?dl=0
> 
> Thanks,
> Lyn
> 
I see the problem.  none of the constructors are included in the l3fwd app.  I
think you might need 174572477028b7f04700389e38f87d2ba01a0adc.  Its also
possible something else has gone wrong withthe COMBINE_LIBS option.  Try
building with the head of the tree, and if that doesn't fix it, we can start
debugging in earnest.
Neil

> On Wed, Dec 31, 2014 at 8:48 AM, Neil Horman <nhorman@tuxdriver.com> wrote:
> 
> > On Wed, Dec 31, 2014 at 08:18:34AM -0600, Lyn M wrote:
> > > Neil, to build DPDK, I am doing the following steps:
> > > 1) download DPDK tarball (1.7.1 or 1.8.0) from
> > > http://dpdk.org/browse/dpdk/refs/
> > > 2) untar
> > > 3) edit config/common_linuxapp and change CONFIG_RTE_BUILD_COMBINE_LIBS
> > > from "n" to "y"
> > > 4) follow all of the steps in http://dpdk.org/doc/quick-start
> > >
> > Hmm, I wonder if you're seeing a problem in which the constructors don't
> > get
> > linked in properly.  Does it work if you don't specify
> > CONFIG_RTE_BUILD_COMBINE_LIBS?  I.e. if you build several .a files?
> >
> > Can you objdump -t the resultant binary with and without COMBINE_LIBS and
> > post
> > it?
> >
> > Neil
> >
> > > When I do those steps for DPDK 1.7.1, the output of testpmd is OK, and I
> > > see both of my NICs that are bound to igb_uio.
> > > When I do those steps for DPDK 1.8.0, the output of testpmd is:
> > > EAL: Error - exiting with code: 1
> > >   Cause: No probed ethernet device
> > >
> > > I see the same result when I use the setup.sh script instead of manually
> > > doing the steps in http://dpdk.org/doc/quick-start
> > >
> > > Can you please show me an example of enabling the pmd init debug macros?
> > >
> > > Lyn
> > >
> > > On Tue, Dec 30, 2014 at 3:24 PM, Neil Horman <nhorman@tuxdriver.com>
> > wrote:
> > >
> > > > On Tue, Dec 30, 2014 at 12:54:17PM -0600, Lyn M wrote:
> > > > > Neil, thank you for your reply.
> > > > >
> > > > > I used the DPDK 8.1.0 setup.sh script to clean the system (unbind
> > NICs,
> > > > > rmmod igb_uio and uio, remove hugepage mappings), and then re-built
> > for
> > > > > x86_64-native-linuxapp-gcc, setup hugepages, insmod the modules,
> > bound
> > > > the
> > > > > NICs, but have the same result when trying to run testpmd:
> > > > > EAL: Error - exiting with code: 1
> > > > >   Cause: No probed ethernet device
> > > > >
> > > > >
> > > > > I then cleaned up again, downloaded DPDK 1.7.1 and ran the setup.sh
> > > > script
> > > > > to build for x86_64-native-linuxapp-gcc.  With 1.7.1, testpmd runs
> > > > > successfully, and I am able to run my l3fwd command as well. I also
> > built
> > > > > for x86_64-ivshmem-linuxapp-gcc, and testpmd ran successfully (other
> > than
> > > > > the warning about no IVSHMEM configuration).
> > > > >
> > > > > Thoughts?
> > > > >
> > > > Well, the root cause is still the same, DPDK isn't detecting any
> > devices
> > > > over
> > > > which to forward traffic, which means the nb_port count is zero.  That
> > > > would
> > > > suggest that you didn't find any devices during rte_eal_init.  The
> > > > question is
> > > > why. I'd turn on all the pmd init debug macros to see if all the init
> > > > routines
> > > > are getting called.
> > > >
> > > > Two questions: (1) are you doing a static or DSO build, and (2) did you
> > > > make any
> > > > changes to the make flags?
> > > >
> > > > Neil
> > > >
> > > > > On Mon, Dec 29, 2014 at 3:02 PM, Neil Horman <nhorman@tuxdriver.com>
> > > > wrote:
> > > > >
> > > > > > On Mon, Dec 29, 2014 at 02:18:09PM -0600, Lyn M wrote:
> > > > > > > Hello all,
> > > > > > >
> > > > > > > Rangeley platform (1 CPU with 8 cores, 4x1 GbE, 2x10 GbE, Intel
> > PCIe
> > > > card
> > > > > > > with 2x10 GbE fiber)
> > > > > > > FC20 with hugepages enabled
> > > > > > > DPDK 1.8.0 built with T=x86_64-ivshmem-linuxapp-gcc
> > > > > > >
> > > > > > >  */usr/src/dpdk/tools/dpdk_nic_bind.py --status*
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Network devices using DPDK-compatible driver
> > > > > > >
> > > > > > > ============================================
> > > > > > >
> > > > > > > 0000:09:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
> > > > drv=igb_uio
> > > > > > > unused=ixgbe
> > > > > > >
> > > > > > > 0000:09:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection'
> > > > drv=igb_uio
> > > > > > > unused=ixgbe
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Network devices using kernel driver
> > > > > > >
> > > > > > > ===================================
> > > > > > >
> > > > > > > 0000:00:14.0 'Ethernet Connection I354' if=enp0s20f0 drv=igb
> > > > > > unused=igb_uio
> > > > > > >
> > > > > > > 0000:00:14.1 'Ethernet Connection I354' if=enp0s20f1 drv=igb
> > > > > > unused=igb_uio
> > > > > > >
> > > > > > > 0000:00:14.2 'Ethernet Connection I354' if=enp0s20f2 drv=igb
> > > > > > unused=igb_uio
> > > > > > >
> > > > > > > 0000:00:14.3 'Ethernet Connection I354' if=enp0s20f3 drv=igb
> > > > > > unused=igb_uio
> > > > > > >
> > > > > > > 0000:07:00.0 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p1
> > > > drv=ixgbe
> > > > > > > unused=igb_uio *Active*
> > > > > > >
> > > > > > > 0000:07:00.1 'Ethernet Controller 10-Gigabit X540-AT2' if=p5p2
> > > > drv=ixgbe
> > > > > > > unused=igb_uio
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Other network devices
> > > > > > >
> > > > > > > =====================
> > > > > > >
> > > > > > > <none>
> > > > > > >
> > > > > > > The DPDK helloworld example seems to run OK, other than the
> > warning
> > > > about
> > > > > > > IVSHMEM configuration not found:
> > > > > > > *./helloworld -c 0x3 -n 4*
> > > > > > > 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: Support maximum 128 logical core(s) by configuration.
> > > > > > > EAL: Detected 8 lcore(s)
> > > > > > > EAL: Searching for IVSHMEM devices...
> > > > > > > EAL: No IVSHMEM configuration found!
> > > > > > > EAL: Setting up memory...
> > > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > > EAL: Virtual area found at 0x7fcca2c00000 (size = 0x200000)
> > > > > > > EAL: Ask a virtual area of 0x29400000 bytes
> > > > > > > EAL: Virtual area found at 0x7fcc79600000 (size = 0x29400000)
> > > > > > > EAL: Ask a virtual area of 0x400000 bytes
> > > > > > > EAL: Virtual area found at 0x7fcca3400000 (size = 0x400000)
> > > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > > EAL: Virtual area found at 0x7fcca3000000 (size = 0x200000)
> > > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > > EAL: Virtual area found at 0x7fcc79200000 (size = 0x200000)
> > > > > > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > > > > > EAL: Virtual area found at 0x7fcb2c000000 (size = 0x14d000000)
> > > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > > EAL: Virtual area found at 0x7fcb2bc00000 (size = 0x200000)
> > > > > > > EAL: Requesting 3000 pages of size 2MB from socket 0
> > > > > > > EAL: TSC frequency is ~2393997 KHz
> > > > > > > EAL: Master core 0 is ready (tid=a4ca2840)
> > > > > > > EAL: Core 1 is ready (tid=2bbff700)
> > > > > > > hello from core 1
> > > > > > > hello from core 0
> > > > > > >
> > > > > > >
> > > > > > > I want to run the l3fwd example app, per Appendix A.2 (pg 35-36)
> > in
> > > > the
> > > > > > > DPDK 1.2 Release Benchmark Test Report .pdf:
> > > > > > > *./build/l3fwd -c 0x6 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > > > > > -config="(0,0,1),(1,0,2)"*
> > > > > > > where the "-p option is the hexadecimal bit mask of the ports to
> > > > > > configure"
> > > > > > >
> > > > > > > I am running this command:
> > > > > > >
> > > > > > > *./build/l3fwd -c 0x3 -n 4 --socket-mem 1024,0 -- -p 0x3
> > > > > > > --config="(0,0,0),(1,0,1)" --no-numa*
> > > > > > >
> > > > > > > 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: Support maximum 128 logical core(s) by configuration.
> > > > > > >
> > > > > > > EAL: Detected 8 lcore(s)
> > > > > > >
> > > > > > > EAL: Searching for IVSHMEM devices...
> > > > > > >
> > > > > > > EAL: No IVSHMEM configuration found!
> > > > > > >
> > > > > > > EAL: Setting up memory...
> > > > > > >
> > > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > >
> > > > > > > EAL: Virtual area found at 0x7f3212600000 (size = 0x200000)
> > > > > > >
> > > > > > > EAL: Ask a virtual area of 0x29400000 bytes
> > > > > > >
> > > > > > > EAL: Virtual area found at 0x7f31e9000000 (size = 0x29400000)
> > > > > > >
> > > > > > > EAL: Ask a virtual area of 0x400000 bytes
> > > > > > >
> > > > > > > EAL: Virtual area found at 0x7f3212e00000 (size = 0x400000)
> > > > > > >
> > > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > >
> > > > > > > EAL: Virtual area found at 0x7f3212a00000 (size = 0x200000)
> > > > > > >
> > > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > >
> > > > > > > EAL: Virtual area found at 0x7f31e8c00000 (size = 0x200000)
> > > > > > >
> > > > > > > EAL: Ask a virtual area of 0x14d000000 bytes
> > > > > > >
> > > > > > > EAL: Virtual area found at 0x7f309ba00000 (size = 0x14d000000)
> > > > > > >
> > > > > > > EAL: Ask a virtual area of 0x200000 bytes
> > > > > > >
> > > > > > > EAL: Virtual area found at 0x7f309b600000 (size = 0x200000)
> > > > > > >
> > > > > > > EAL: Requesting 512 pages of size 2MB from socket 0
> > > > > > >
> > > > > > > EAL: TSC frequency is ~2393998 KHz
> > > > > > >
> > > > > > > EAL: Master core 0 is ready (tid=14734840)
> > > > > > >
> > > > > > > EAL: Core 1 is ready (tid=e8bff700)
> > > > > > >
> > > > > > > numa is disabled
> > > > > > >
> > > > > > > port 0 is not present on the board
> > > > > > >
> > > > > > > EAL: Error - exiting with code: 1
> > > > > > >
> > > > > > >   Cause: check_port_config failed
> > > > > > >
> > > > > > > Perhaps the 0x3 (0011) hex portmask is incorrect?  What Linux
> > > > command, or
> > > > > > > combination of commands, would help show the appropriate hex
> > > > portmask to
> > > > > > > use in my case?
> > > > > > >
> > > > > > > Thanks for your time,
> > > > > > > Lyn
> > > > > > >
> > > > > > I don't see the detection of any of your physical devices here.
> > I'm
> > > > > > guessing
> > > > > > your setup is just looking for ivshmem devices, which you won't
> > have
> > > > any
> > > > > > of in
> > > > > > FC20 unless you rebuild qemu.  As such, dpdk doesn't see any ports,
> > > > which
> > > > > > is why
> > > > > > you're getting the error the results from portid 0 being greater
> > than
> > > > the
> > > > > > number
> > > > > > of detected ports on the system
> > > > > >
> > > > > > neil
> > > > > >
> > > > > >
> > > >
> >

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2015-01-01  3:37             ` Neil Horman
@ 2015-01-01  4:00               ` Neil Horman
  2015-01-02 15:07                 ` Lyn M
  0 siblings, 1 reply; 14+ messages in thread
From: Neil Horman @ 2015-01-01  4:00 UTC (permalink / raw)
  To: Lyn M; +Cc: dev

On Wed, Dec 31, 2014 at 10:37:45PM -0500, Neil Horman wrote:
> On Wed, Dec 31, 2014 at 10:50:10AM -0600, Lyn M wrote:
> > Neil,
> > When I build DPDK 1.8.0 with the default value CONFIG_RTE_BUILD_COMBINE_LIBS=n,
> > I am able to run the testpmd successfully.  So, that does appear to be the
> > culprit.
> > The objdump -t output for testpmd (with COMBINE_LIBS=n and COMBINE_LIBS=y)
> > files are here:
> > https://www.dropbox.com/sh/6os9yfn22jjcnmy/AAAjEV3u06XQ1t3UXdWcgru0a?dl=0
> > 
> > Thanks,
> > Lyn
> > 
> I see the problem.  none of the constructors are included in the l3fwd app.  I
> think you might need 174572477028b7f04700389e38f87d2ba01a0adc.  Its also
> possible something else has gone wrong withthe COMBINE_LIBS option.  Try
> building with the head of the tree, and if that doesn't fix it, we can start
> debugging in earnest.
> Neil

Found the problem.  Please try this patch


diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index e1a0dbf..40afb2c 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -61,6 +61,10 @@ ifeq ($(NO_AUTOLIBS),)
 
 LDLIBS += --whole-archive
 
+ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
+LDLIBS += -l$(RTE_LIBNAME)
+endif
+
 ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n)
 
 ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y)
@@ -251,10 +255,6 @@ build: _postbuild
 
 exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
 
-ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
-LDLIBS += -l$(RTE_LIBNAME)
-endif
-
 ifeq ($(LINK_USING_CC),1)
 override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
 O_TO_EXE = $(CC) $(CFLAGS) $(LDFLAGS_$(@)) \

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2015-01-01  4:00               ` Neil Horman
@ 2015-01-02 15:07                 ` Lyn M
  2015-01-02 19:54                   ` Neil Horman
                                     ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Lyn M @ 2015-01-02 15:07 UTC (permalink / raw)
  To: Neil Horman; +Cc: dev

Neil, your patch works.  I am now able to run testpmd, as well as l3fwd
with DPDK 1.8.0 and CONFIG_RTE_BUILD_COMBINE_LIBS=y.  Thank you much!

In my original post, I thought my choice of hex portmask -p 0x3 was causing
this issue -- now I know that was not the case.  But, I am still curious
about how the hex portmask is determined.  Since I only have two ports
bound to igb_uio, my hex postmask will always be 0x3?  What if I choose to
bind other ports to igb_uio?  Is there a Linux command I can run to
determine what mask to use with the -p option?

Happy New Year --
Lyn

On Wed, Dec 31, 2014 at 10:00 PM, Neil Horman <nhorman@tuxdriver.com> wrote:

> On Wed, Dec 31, 2014 at 10:37:45PM -0500, Neil Horman wrote:
> > On Wed, Dec 31, 2014 at 10:50:10AM -0600, Lyn M wrote:
> > > Neil,
> > > When I build DPDK 1.8.0 with the default value
> CONFIG_RTE_BUILD_COMBINE_LIBS=n,
> > > I am able to run the testpmd successfully.  So, that does appear to be
> the
> > > culprit.
> > > The objdump -t output for testpmd (with COMBINE_LIBS=n and
> COMBINE_LIBS=y)
> > > files are here:
> > >
> https://www.dropbox.com/sh/6os9yfn22jjcnmy/AAAjEV3u06XQ1t3UXdWcgru0a?dl=0
> > >
> > > Thanks,
> > > Lyn
> > >
> > I see the problem.  none of the constructors are included in the l3fwd
> app.  I
> > think you might need 174572477028b7f04700389e38f87d2ba01a0adc.  Its also
> > possible something else has gone wrong withthe COMBINE_LIBS option.  Try
> > building with the head of the tree, and if that doesn't fix it, we can
> start
> > debugging in earnest.
> > Neil
>
> Found the problem.  Please try this patch
>
>
> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
> index e1a0dbf..40afb2c 100644
> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -61,6 +61,10 @@ ifeq ($(NO_AUTOLIBS),)
>
>  LDLIBS += --whole-archive
>
> +ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
> +LDLIBS += -l$(RTE_LIBNAME)
> +endif
> +
>  ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n)
>
>  ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y)
> @@ -251,10 +255,6 @@ build: _postbuild
>
>  exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
>
> -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
> -LDLIBS += -l$(RTE_LIBNAME)
> -endif
> -
>  ifeq ($(LINK_USING_CC),1)
>  override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
>  O_TO_EXE = $(CC) $(CFLAGS) $(LDFLAGS_$(@)) \
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2015-01-02 15:07                 ` Lyn M
@ 2015-01-02 19:54                   ` Neil Horman
  2015-01-04  3:50                   ` Qiu, Michael
  2015-01-06  9:02                   ` Thomas Monjalon
  2 siblings, 0 replies; 14+ messages in thread
From: Neil Horman @ 2015-01-02 19:54 UTC (permalink / raw)
  To: Lyn M; +Cc: dev

On Fri, Jan 02, 2015 at 09:07:40AM -0600, Lyn M wrote:
> Neil, your patch works.  I am now able to run testpmd, as well as l3fwd
> with DPDK 1.8.0 and CONFIG_RTE_BUILD_COMBINE_LIBS=y.  Thank you much!
> 
I'll post it for official review shortly.

> In my original post, I thought my choice of hex portmask -p 0x3 was causing
> this issue -- now I know that was not the case.  But, I am still curious
> about how the hex portmask is determined.  Since I only have two ports
> bound to igb_uio, my hex postmask will always be 0x3?  What if I choose to
> bind other ports to igb_uio?  Is there a Linux command I can run to
> determine what mask to use with the -p option?
> 
portmask IIRC is determined by the cpus you decide you want to service various
hardware queues.  you can select whatever cpus you want, so in a sense, the
portmask is entirely your decision.  If you want it to be optimal, you should
select a portmask where the cpus servicing your hardware are on the same numa
node as the NIC itself.  You should be able to determine the cpu numa node
locality via /sys/class/net/<iface>/device/local_cpus

Neil

> Happy New Year --
> Lyn
> 
> On Wed, Dec 31, 2014 at 10:00 PM, Neil Horman <nhorman@tuxdriver.com> wrote:
> 
> > On Wed, Dec 31, 2014 at 10:37:45PM -0500, Neil Horman wrote:
> > > On Wed, Dec 31, 2014 at 10:50:10AM -0600, Lyn M wrote:
> > > > Neil,
> > > > When I build DPDK 1.8.0 with the default value
> > CONFIG_RTE_BUILD_COMBINE_LIBS=n,
> > > > I am able to run the testpmd successfully.  So, that does appear to be
> > the
> > > > culprit.
> > > > The objdump -t output for testpmd (with COMBINE_LIBS=n and
> > COMBINE_LIBS=y)
> > > > files are here:
> > > >
> > https://www.dropbox.com/sh/6os9yfn22jjcnmy/AAAjEV3u06XQ1t3UXdWcgru0a?dl=0
> > > >
> > > > Thanks,
> > > > Lyn
> > > >
> > > I see the problem.  none of the constructors are included in the l3fwd
> > app.  I
> > > think you might need 174572477028b7f04700389e38f87d2ba01a0adc.  Its also
> > > possible something else has gone wrong withthe COMBINE_LIBS option.  Try
> > > building with the head of the tree, and if that doesn't fix it, we can
> > start
> > > debugging in earnest.
> > > Neil
> >
> > Found the problem.  Please try this patch
> >
> >
> > diff --git a/mk/rte.app.mk b/mk/rte.app.mk
> > index e1a0dbf..40afb2c 100644
> > --- a/mk/rte.app.mk
> > +++ b/mk/rte.app.mk
> > @@ -61,6 +61,10 @@ ifeq ($(NO_AUTOLIBS),)
> >
> >  LDLIBS += --whole-archive
> >
> > +ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
> > +LDLIBS += -l$(RTE_LIBNAME)
> > +endif
> > +
> >  ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n)
> >
> >  ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y)
> > @@ -251,10 +255,6 @@ build: _postbuild
> >
> >  exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
> >
> > -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
> > -LDLIBS += -l$(RTE_LIBNAME)
> > -endif
> > -
> >  ifeq ($(LINK_USING_CC),1)
> >  override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
> >  O_TO_EXE = $(CC) $(CFLAGS) $(LDFLAGS_$(@)) \
> >

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2015-01-02 15:07                 ` Lyn M
  2015-01-02 19:54                   ` Neil Horman
@ 2015-01-04  3:50                   ` Qiu, Michael
  2015-01-06  9:02                   ` Thomas Monjalon
  2 siblings, 0 replies; 14+ messages in thread
From: Qiu, Michael @ 2015-01-04  3:50 UTC (permalink / raw)
  To: Lyn M; +Cc: dev

On 1/2/2015 11:08 PM, Lyn M wrote:
> Neil, your patch works.  I am now able to run testpmd, as well as l3fwd
> with DPDK 1.8.0 and CONFIG_RTE_BUILD_COMBINE_LIBS=y.  Thank you much!
>
> In my original post, I thought my choice of hex portmask -p 0x3 was causing
> this issue -- now I know that was not the case.  But, I am still curious
> about how the hex portmask is determined.  Since I only have two ports
> bound to igb_uio, my hex postmask will always be 0x3?  What if I choose to
> bind other ports to igb_uio?  Is there a Linux command I can run to
> determine what mask to use with the -p option?

It is simply a mask used to enable or disable ports in DPDK.
For example:
If DPDK owns two ports, -p 0x03 means all two ports are enabled.
If DPDK owns four ports, -p 0x03 means only port 0 and 1 are enabled,
port 2 and 3 are unable to use. If you want to enable all ports, you
should use -p 0x0f

0x03 is 0b11, 0x0f is 0b1111

Thanks,
Michael
> Happy New Year --
> Lyn
>
> On Wed, Dec 31, 2014 at 10:00 PM, Neil Horman <nhorman@tuxdriver.com> wrote:
>
>> On Wed, Dec 31, 2014 at 10:37:45PM -0500, Neil Horman wrote:
>>> On Wed, Dec 31, 2014 at 10:50:10AM -0600, Lyn M wrote:
>>>> Neil,
>>>> When I build DPDK 1.8.0 with the default value
>> CONFIG_RTE_BUILD_COMBINE_LIBS=n,
>>>> I am able to run the testpmd successfully.  So, that does appear to be
>> the
>>>> culprit.
>>>> The objdump -t output for testpmd (with COMBINE_LIBS=n and
>> COMBINE_LIBS=y)
>>>> files are here:
>>>>
>> https://www.dropbox.com/sh/6os9yfn22jjcnmy/AAAjEV3u06XQ1t3UXdWcgru0a?dl=0
>>>> Thanks,
>>>> Lyn
>>>>
>>> I see the problem.  none of the constructors are included in the l3fwd
>> app.  I
>>> think you might need 174572477028b7f04700389e38f87d2ba01a0adc.  Its also
>>> possible something else has gone wrong withthe COMBINE_LIBS option.  Try
>>> building with the head of the tree, and if that doesn't fix it, we can
>> start
>>> debugging in earnest.
>>> Neil
>> Found the problem.  Please try this patch
>>
>>
>> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
>> index e1a0dbf..40afb2c 100644
>> --- a/mk/rte.app.mk
>> +++ b/mk/rte.app.mk
>> @@ -61,6 +61,10 @@ ifeq ($(NO_AUTOLIBS),)
>>
>>  LDLIBS += --whole-archive
>>
>> +ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
>> +LDLIBS += -l$(RTE_LIBNAME)
>> +endif
>> +
>>  ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n)
>>
>>  ifeq ($(CONFIG_RTE_LIBRTE_DISTRIBUTOR),y)
>> @@ -251,10 +255,6 @@ build: _postbuild
>>
>>  exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
>>
>> -ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),y)
>> -LDLIBS += -l$(RTE_LIBNAME)
>> -endif
>> -
>>  ifeq ($(LINK_USING_CC),1)
>>  override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
>>  O_TO_EXE = $(CC) $(CFLAGS) $(LDFLAGS_$(@)) \
>>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2015-01-02 15:07                 ` Lyn M
  2015-01-02 19:54                   ` Neil Horman
  2015-01-04  3:50                   ` Qiu, Michael
@ 2015-01-06  9:02                   ` Thomas Monjalon
  2015-01-06  9:41                     ` Bruce Richardson
  2 siblings, 1 reply; 14+ messages in thread
From: Thomas Monjalon @ 2015-01-06  9:02 UTC (permalink / raw)
  To: Lyn M; +Cc: dev

2015-01-02 09:07, Lyn M:
> In my original post, I thought my choice of hex portmask -p 0x3 was causing
> this issue -- now I know that was not the case.  But, I am still curious
> about how the hex portmask is determined.  Since I only have two ports
> bound to igb_uio, my hex postmask will always be 0x3?  What if I choose to
> bind other ports to igb_uio?  Is there a Linux command I can run to
> determine what mask to use with the -p option?

That's something which could be done.
Port numbering is defined by probing order. Does a tool showing the (dry-run)
probed devices, their number and mask, would help you?
By the way, you are welcome to try developing it.

-- 
Thomas

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [dpdk-dev] l3fwd error, port 0 is not present on the board
  2015-01-06  9:02                   ` Thomas Monjalon
@ 2015-01-06  9:41                     ` Bruce Richardson
  0 siblings, 0 replies; 14+ messages in thread
From: Bruce Richardson @ 2015-01-06  9:41 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

On Tue, Jan 06, 2015 at 10:02:25AM +0100, Thomas Monjalon wrote:
> 2015-01-02 09:07, Lyn M:
> > In my original post, I thought my choice of hex portmask -p 0x3 was causing
> > this issue -- now I know that was not the case.  But, I am still curious
> > about how the hex portmask is determined.  Since I only have two ports
> > bound to igb_uio, my hex postmask will always be 0x3?  What if I choose to
> > bind other ports to igb_uio?  Is there a Linux command I can run to
> > determine what mask to use with the -p option?
> 
> That's something which could be done.
> Port numbering is defined by probing order. Does a tool showing the (dry-run)
> probed devices, their number and mask, would help you?
> By the way, you are welcome to try developing it.
> 
> -- 
> Thomas

The port numbering should generally be in the same order as the ports are listed
in dpdk_nic_bind script, so perhaps we could just add a documentation note to 
that effect.

/Bruce

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-01-06  9:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-29 20:18 [dpdk-dev] l3fwd error, port 0 is not present on the board Lyn M
2014-12-29 21:02 ` Neil Horman
2014-12-30 18:54   ` Lyn M
2014-12-30 21:24     ` Neil Horman
2014-12-31 14:18       ` Lyn M
2014-12-31 14:48         ` Neil Horman
2014-12-31 16:50           ` Lyn M
2015-01-01  3:37             ` Neil Horman
2015-01-01  4:00               ` Neil Horman
2015-01-02 15:07                 ` Lyn M
2015-01-02 19:54                   ` Neil Horman
2015-01-04  3:50                   ` Qiu, Michael
2015-01-06  9:02                   ` Thomas Monjalon
2015-01-06  9:41                     ` Bruce Richardson

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git