2 Replies Latest reply on Dec 23, 2015 12:43 PM by derisavi

    pktgen-dpdk not working on ConnectX-3

    derisavi

      I have a ConnectX-3 VPI card. I compiled DPDK 2.2.0 (with CONFIG_RTE_LIBRTE_MLX4_PMD=y). testpmd application seems to be working.

      I also compiled pktgen-2.9.7 (DPDK-based packet generator). However, I get the "!PANIC!: *** id not find any ports to use ***" error message as follows.

      Also note that DPDK's dpdk_nic_bind.py doesn't see my Mellanox cards so I can't bind Mellanox card's ports to DPDK drivers using that script.

       

      Any help is appreciated.

       

       

      $ sudo app/app/x86_64-native-linuxapp-gcc/pktgen -w 0000:81:00.0 -c 0xff -- -p 0x1

      EAL: Detected lcore 6 as core 9 on socket 0

      EAL: Detected lcore 7 as core 10 on socket 0

      EAL: Detected lcore 8 as core 11 on socket 0

      EAL: Detected lcore 9 as core 12 on socket 0s, Inc. All rights reserved. Powered by Intel® DPDK

      EAL: Detected lcore 10 as core 0 on socket 1

      EAL: Detected lcore 11 as core 1 on socket 1

      EAL: Detected lcore 0 as core 0 on socket 01

      EAL: Detected lcore 1 as core 1 on socket 01

      EAL: Detected lcore 2 as core 2 on socket 01

      EAL: Detected lcore 3 as core 3 on socket 01

      EAL: Detected lcore 4 as core 4 on socket 01

      EAL: Detected lcore 5 as core 8 on socket 0 1

      EAL: Detected lcore 6 as core 9 on socket 0 1

      EAL: Detected lcore 7 as core 10 on socket 01

      EAL: Detected lcore 8 as core 11 on socket 0

      EAL: Detected lcore 9 as core 12 on socket 0

      EAL: Detected lcore 10 as core 0 on socket 1

      EAL: Detected lcore 11 as core 1 on socket 1

      EAL: Detected lcore 12 as core 2 on socket 1

      EAL: Detected lcore 13 as core 3 on socket 1

      EAL: Detected lcore 14 as core 4 on socket 1

      EAL: Detected lcore 15 as core 8 on socket 10

      EAL: Detected lcore 16 as core 9 on socket 10

      EAL: Detected lcore 17 as core 10 on socket 1

      EAL: Detected lcore 18 as core 11 on socket 1

      EAL: Detected lcore 19 as core 12 on socket 1

      EAL: Detected lcore 20 as core 0 on socket 0

      EAL: Detected lcore 21 as core 1 on socket 0

      EAL: Detected lcore 22 as core 2 on socket 0

      EAL: Detected lcore 23 as core 3 on socket 0

      EAL: Detected lcore 24 as core 4 on socket 0

      EAL: Detected lcore 25 as core 8 on socket 01

      EAL: Detected lcore 26 as core 9 on socket 01

      EAL: Detected lcore 27 as core 10 on socket 0

      EAL: Detected lcore 28 as core 11 on socket 0onfiguration.

      EAL: Detected lcore 29 as core 12 on socket 0

      EAL: Detected lcore 30 as core 0 on socket 1-2048kB

      EAL: Detected lcore 31 as core 1 on socket 1

      EAL: Detected lcore 32 as core 2 on socket 1

      EAL: Detected lcore 33 as core 3 on socket 1n() [0x439bb3]]

      EAL: Detected lcore 34 as core 4 on socket 1tart_main+0xf5) [0x7fe623137ec5]]

      EAL: Detected lcore 35 as core 8 on socket 1n(main+0x15a) [0x43803a]]

      EAL: Detected lcore 36 as core 9 on socket 1n(rte_eal_init+0xc43) [0x4f3bd3]]

      EAL: Detected lcore 37 as core 10 on socket 1(__rte_panic+0xc9) [0x43295c]]

      EAL: Detected lcore 38 as core 11 on socket 1(rte_dump_stack+0x1a) [0x4fa7fa]]

      EAL: Detected lcore 39 as core 12 on socket 1n-2.9.7$ sudo app/app/x86_64-native-linuxapp-gcc/pktgen -w 0000:81:00.0 -c 0xff -- -p 0x1

      EAL: Support maximum 128 logical core(s) by configuration.

      EAL: Detected 40 lcore(s)

      EAL: VFIO modules not all loaded, skip VFIO support...l rights reserved. Powered by Intel® DPDK

      EAL: Setting up physically contiguous memory...

      EAL: Ask a virtual area of 0x600000 bytes

      EAL: Virtual area found at 0x7f27dce00000 (size = 0x600000)

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x800000 bytes

      EAL: Virtual area found at 0x7f27dc000000 (size = 0x800000)

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x3d000000 bytes

      EAL: Virtual area found at 0x7f279e400000 (size = 0x3d000000)

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x1000000 bytes

      EAL: Virtual area found at 0x7f279c000000 (size = 0x1000000)

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x3da00000 bytes

      EAL: Virtual area found at 0x7f275da00000 (size = 0x3da00000)

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x3d400000 bytes

      EAL: Virtual area found at 0x7f271cc00000 (size = 0x3d400000)

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0xc00000 bytes

      EAL: Virtual area found at 0x7f271ba00000 (size = 0xc00000)

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x800000 bytes

      EAL: Virtual area found at 0x7f271aa00000 (size = 0x800000)

      EAL: Ask a virtual area of 0x800000 bytes

      EAL: Virtual area found at 0x7f271a000000 (size = 0x800000)

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x400000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x2d200000 bytes

      EAL: Virtual area found at 0x7f26eb800000 (size = 0x2d200000)

      EAL: Ask a virtual area of 0xe00000 bytes

      EAL: Virtual area found at 0x7f26ea800000 (size = 0xe00000)

      EAL: Ask a virtual area of 0x1000000 bytes

      EAL: Virtual area found at 0x7f26e9600000 (size = 0x1000000)

      EAL: Ask a virtual area of 0x4600000 bytes

      EAL: Virtual area found at 0x7f26e4e00000 (size = 0x4600000)

      EAL: Ask a virtual area of 0xa00000 bytes

      EAL: Virtual area found at 0x7f26e4200000 (size = 0xa00000)

      EAL: Ask a virtual area of 0x3200000 bytes

      EAL: Virtual area found at 0x7f26e0e00000 (size = 0x3200000)

      EAL: Ask a virtual area of 0x6200000 bytes

      EAL: Virtual area found at 0x7f26daa00000 (size = 0x6200000)

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x1200000 bytes

      EAL: Virtual area found at 0x7f26d8e00000 (size = 0x1200000)

      EAL: Ask a virtual area of 0x200000 bytes

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

      EAL: Ask a virtual area of 0x600000 bytes

      EAL: Virtual area found at 0x7f26d8200000 (size = 0x600000)

      EAL: Ask a virtual area of 0xc00000 bytes

      EAL: Virtual area found at 0x7f26d7400000 (size = 0xc00000)

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

      EAL: Requesting 1024 pages of size 2MB from socket 1

      EAL: TSC frequency is ~2200002 KHz

      EAL: Master lcore 0 is ready (tid=ded9a940;cpuset=[0])

      EAL: lcore 6 is ready (tid=d43e2700;cpuset=[6])

      EAL: lcore 1 is ready (tid=d6be7700;cpuset=[1])

      EAL: lcore 5 is ready (tid=d4be3700;cpuset=[5])

      EAL: lcore 3 is ready (tid=d5be5700;cpuset=[3])

      EAL: lcore 7 is ready (tid=d3be1700;cpuset=[7])

      EAL: lcore 2 is ready (tid=d63e6700;cpuset=[2])

      EAL: lcore 4 is ready (tid=d53e4700;cpuset=[4])

       

      ---------------

       

           BSD LICENSE

       

           Copyright(c) 2010-2015 Intel Corporation. All rights reserved.

           All rights reserved.

       

           Redistribution and use in source and binary forms, with or without

           modification, are permitted provided that the following conditions

           are met:

       

             * Redistributions of source code must retain the above copyright

               notice, this list of conditions and the following disclaimer.

             * Redistributions in binary form must reproduce the above copyright

               notice, this list of conditions and the following disclaimer in

               the documentation and/or other materials provided with the

               distribution.

             * Neither the name of Intel Corporation nor the names of its

               contributors may be used to endorse or promote products derived

               from this software without specific prior written permission.

       

           THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

           "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

           LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR

           A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT

           OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

           SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

           LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

           DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

           THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

           (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

           OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

       

      -----------------------

          Copyright (c) <2010-2015>, Wind River Systems, Inc. All rights reserved.

       

       

           Redistribution and use in source and binary forms, with or without modification, are

           permitted provided that the following conditions are met:

       

             1) Redistributions of source code must retain the above copyright notice,

                this list of conditions and the following disclaimer.

       

             2) Redistributions in binary form must reproduce the above copyright notice,

                this list of conditions and the following disclaimer in the documentation and/or

                other materials provided with the distribution.

       

             3) Neither the name of Wind River Systems nor the names of its contributors may be

                used to endorse or promote products derived from this software without specific

                prior written permission.

       

             4) The screens displayed by the application must contain the copyright notice as defined

                above and can not be removed without specific prior written permission.

       

           THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

           AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

           IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

           ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE

           LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

           DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR

           SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER

           CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

           OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE

           USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

       

        Pktgen created by: Keith Wiles -- >>> Powered by Intel® DPDK <<<

      -----------------------

      Lua 5.3.0  Copyright (C) 1994-2015 Lua.org, PUC-Rio

      >>> Packet Burst 32, RX Desc 512, TX Desc 512, mbufs/port 4096, mbuf cache 512

      !PANIC!: *** Did not find any ports to use ***

      PANIC in pktgen_config_ports():

      *** Did not find any ports to use ***6: [app/app/x86_64-native-linuxapp-gcc/pktgen() [0x439bb3]]

      5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f27ddd7eec5]]

      4: [app/app/x86_64-native-linuxapp-gcc/pktgen(main+0x4af) [0x43838f]]

      3: [app/app/x86_64-native-linuxapp-gcc/pktgen(pktgen_config_ports+0x12ff) [0x4555ef]]

      2: [app/app/x86_64-native-linuxapp-gcc/pktgen(__rte_panic+0xc9) [0x43295c]]

      1: [app/app/x86_64-native-linuxapp-gcc/pktgen(rte_dump_stack+0x1a) [0x4fa7fa]]

        • Re: pktgen-dpdk not working on ConnectX-3
          olgas

          Hi Salem,

          Did you succeed to run testpmd simple test?

          I did run pktgen with ConnectX3 cards, check the following steps:

          1.       Download latest pktgen version: http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-2.9.5.tar.gz

          http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-2.9.5.tar.gz2.       Regarding DPDK, I have worked with dpdk.org master git  with CONFIG_RTE_LIBRTE_MLX4_PMD=y

          3.       Compile DPDK: make -j install T=x86_64-native-linuxapp-gcc

          4.       Compile pktgen: RTE_SDK=<PATH to DPDK> RTE_TARGET=x86_64-native-linuxapp-gcc make

          5.       Run pktgen:

          app/app/x86_64-native-linuxapp-gcc/pktgen -n 4  -c 0xff --proc-type auto  -w 08:00.0 -w 08:00.1 -- -P -m "1.0,2.1" -f test/test1.lua

          Pktgen> str   // start all ports

          Pktgen> on  //to see the screen

           

          Best Regards,

          Olga

          1 of 1 people found this helpful
            • Re: pktgen-dpdk not working on ConnectX-3
              derisavi

              Hi Olga,

                 Thanks for your response.

                 I found out that the problem was with compiling DPDK. When I compiled DPDK, I had set CONFIG_RTE_LIBRTE_MLX4_PMD=y on the make command line but apparently that didn’t have any effect! I recompiled DPDK with that setting changed in the .config file and that enabled me to run pktgen.

               

              Now I have another problem: the packet generation rate is maxed out at around 9Gb/s with 64 byte packets. Do you observe a similar behavior? Here is my pktgen command line:

              sudo -E app/app/x86_64-native-linuxapp-gcc/pktgen  -c 0xff -n 4  -w 0000:82:00.0 -- -T -P -p 0x0 -m "[1-4].0"

               

              Cheers,

              --Salem