[dpdk-users] RSS not working on Mellanox ConnectX-3 NIC

Javier Blazquez jblazquez at riotgames.com
Tue Jun 14 20:11:45 CEST 2016


Thanks Olga, you're right, I looked at the per-queue counters more closely
and RSS is indeed distributing packets to all queues.

I can also confirm that with ConnectX-4 RX performance scales with multiple
queues.

On Tue, Jun 14, 2016 at 9:15 AM, Olga Shern <olgas at mellanox.com> wrote:

> Hi Javier,
>
> RSS on ConnectX-3 cards is working, but doesn't improve the Maximum rate
> of the NIC, it helps for real application to spread the traffic among
> different cores.
> Therefore with benchmark application you will see  degradation with RSS,
> but with real application the performance should be better with RSS than
> without.
>
> ConnectX-4 doesn't have this limitation and we suggest using it instead of
> ConnectX-3
>
> Let me know if you have any more questions.
>
> Best Regards,
> Olga
>
> -----Original Message-----
> From: users [mailto:users-bounces at dpdk.org] On Behalf Of Javier Blazquez
> Sent: Thursday, June 09, 2016 7:10 AM
> To: users at dpdk.org
> Subject: [dpdk-users] RSS not working on Mellanox ConnectX-3 NIC
>
> Hi,
>
> I have a pair of Mellanox MCX354A-FCBT NICs and I'm having trouble scaling
> up RX performance. It appears that RSS is not working and RX speed is
> limited by a single queue.
>
> According to the documentation[1] RSS is supported on the mlx4 driver, and
> debugging the eth dev initialization code I can see the driver setting up
> RSS apparently with success. I can generate 34Mpps over the TX port using 8
> queues, but I can only ever receive at 20Mpps on the RX end, no matter how
> many queues I use.
>
> The generated packets have randomized source/destination IP addresses and
> source/destination UDP ports, so they should hash to different RX queues.
>
> The NICs are connected directly to each other with a DAC cable. They are
> on different NUMA nodes and I'm placing TX/RX lcores on the appropriate
> socket for each NIC. It doesn't matter which NIC I use as the sender, the
> results are exactly the same. I have tried both pktgen and my own code but
> didn't see any difference.
>
> The server is a 2x 12-core Intel E5-2680 v3 2.5GHz. The Mellanox NICs are
> flashed with the latest firmware and I'm using MLNX_OFED 3.3. I'm using the
> MLNX_DPDK 2.2 distribution, but I also tried the standard DPDK v16.04 and
> the result was the same (with lower TX and RX performance overall).
>
> Here's the output of ibstat:
>
> CA 'mlx4_0'
> CA type: MT4099
> Number of ports: 2
> Firmware version: 2.36.5000
> Hardware version: 1
> Node GUID: 0x0002c90300310c30
> System image GUID: 0x0002c90300310c33
> Port 1:
> State: Active
> Physical state: LinkUp
> Rate: 56
> Base lid: 0
> LMC: 0
> SM lid: 0
> Capability mask: 0x0c010000
> Port GUID: 0x0202c9fffe310c30
> Link layer: Ethernet
> Port 2:
> State: Active
> Physical state: LinkUp
> Rate: 56
> Base lid: 0
> LMC: 0
> SM lid: 0
> Capability mask: 0x0c010000
> Port GUID: 0x0202c9fffe310c31
> Link layer: Ethernet
> CA 'mlx4_1'
> CA type: MT4099
> Number of ports: 2
> Firmware version: 2.36.5000
> Hardware version: 1
> Node GUID: 0x0002c90300318200
> System image GUID: 0x0002c90300318203
> Port 1:
> State: Active
> Physical state: LinkUp
> Rate: 56
> Base lid: 0
> LMC: 0
> SM lid: 0
> Capability mask: 0x0c010000
> Port GUID: 0x0202c9fffe318200
> Link layer: Ethernet
> Port 2:
> State: Active
> Physical state: LinkUp
> Rate: 56
> Base lid: 0
> LMC: 0
> SM lid: 0
> Capability mask: 0x0c010000
> Port GUID: 0x0202c9fffe318201
> Link layer: Ethernet
>
> Below are the pktgen results. Note that the first NIC is 0000:03:00.0 and
> is assigned ports 0-1, and the second NIC is 0000:a1:00.0 and is assigned
> ports 2-3. I'm testing TX on port 0 and RX on port 2, which are connected
> directly. Random packets are generated by using the pktgen script found at
> [2].
>
> $ app/pktgen -c ffffff -n 4 -w 0000:03:00.0 -w 0000:a1:00.0
> --socket-mem=1024,1024 -- -N -T -P -m "[0-7].0,[12-19].2
>
> Copyright (c) <2010-2016>, Intel Corporation. All rights reserved. Powered
> by Intel® DPDK
> 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 8 on socket 0
> EAL: Detected lcore 7 as core 9 on socket 0
> EAL: Detected lcore 8 as core 10 on socket 0
> EAL: Detected lcore 9 as core 11 on socket 0
> EAL: Detected lcore 10 as core 12 on socket 0
> EAL: Detected lcore 11 as core 13 on socket 0
> EAL: Detected lcore 12 as core 0 on socket 1
> EAL: Detected lcore 13 as core 1 on socket 1
> EAL: Detected lcore 14 as core 2 on socket 1
> EAL: Detected lcore 15 as core 3 on socket 1
> EAL: Detected lcore 16 as core 4 on socket 1
> EAL: Detected lcore 17 as core 5 on socket 1
> EAL: Detected lcore 18 as core 8 on socket 1
> EAL: Detected lcore 19 as core 9 on socket 1
> EAL: Detected lcore 20 as core 10 on socket 1
> EAL: Detected lcore 21 as core 11 on socket 1
> EAL: Detected lcore 22 as core 12 on socket 1
> EAL: Detected lcore 23 as core 13 on socket 1
> EAL: Detected lcore 24 as core 0 on socket 0
> EAL: Detected lcore 25 as core 1 on socket 0
> EAL: Detected lcore 26 as core 2 on socket 0
> EAL: Detected lcore 27 as core 3 on socket 0
> EAL: Detected lcore 28 as core 4 on socket 0
> EAL: Detected lcore 29 as core 5 on socket 0
> EAL: Detected lcore 30 as core 8 on socket 0
> EAL: Detected lcore 31 as core 9 on socket 0
> EAL: Detected lcore 32 as core 10 on socket 0
> EAL: Detected lcore 33 as core 11 on socket 0
> EAL: Detected lcore 34 as core 12 on socket 0
> EAL: Detected lcore 35 as core 13 on socket 0
> EAL: Detected lcore 36 as core 0 on socket 1
> EAL: Detected lcore 37 as core 1 on socket 1
> EAL: Detected lcore 38 as core 2 on socket 1
> EAL: Detected lcore 39 as core 3 on socket 1
> EAL: Detected lcore 40 as core 4 on socket 1
> EAL: Detected lcore 41 as core 5 on socket 1
> EAL: Detected lcore 42 as core 8 on socket 1
> EAL: Detected lcore 43 as core 9 on socket 1
> EAL: Detected lcore 44 as core 10 on socket 1
> EAL: Detected lcore 45 as core 11 on socket 1
> EAL: Detected lcore 46 as core 12 on socket 1
> EAL: Detected lcore 47 as core 13 on socket 1
> EAL: Support maximum 128 logical core(s) by configuration.
> EAL: Detected 48 lcore(s)
> EAL: Setting up physically contiguous memory...
> EAL: Ask a virtual area of 0x80000000 bytes
> EAL: Virtual area found at 0x7f38c0000000 (size = 0x80000000)
> EAL: Ask a virtual area of 0x80000000 bytes
> EAL: Virtual area found at 0x7f3800000000 (size = 0x80000000)
> EAL: Requesting 1 pages of size 1024MB from socket 0
> EAL: Requesting 1 pages of size 1024MB from socket 1
> EAL: TSC frequency is ~2494222 KHz
> EAL: Master lcore 0 is ready (tid=eca398c0;cpuset=[0])
> EAL: lcore 6 is ready (tid=e7833700;cpuset=[6])
> EAL: lcore 7 is ready (tid=e7032700;cpuset=[7])
> EAL: lcore 8 is ready (tid=e6831700;cpuset=[8])
> EAL: lcore 4 is ready (tid=e8835700;cpuset=[4])
> EAL: lcore 1 is ready (tid=ea038700;cpuset=[1])
> EAL: lcore 9 is ready (tid=e6030700;cpuset=[9])
> EAL: lcore 3 is ready (tid=e9036700;cpuset=[3])
> EAL: lcore 2 is ready (tid=e9837700;cpuset=[2])
> EAL: lcore 13 is ready (tid=e402c700;cpuset=[13])
> EAL: lcore 10 is ready (tid=e582f700;cpuset=[10])
> EAL: lcore 12 is ready (tid=e482d700;cpuset=[12])
> EAL: lcore 11 is ready (tid=e502e700;cpuset=[11])
> EAL: lcore 5 is ready (tid=e8034700;cpuset=[5])
> EAL: lcore 20 is ready (tid=e0825700;cpuset=[20])
> EAL: lcore 19 is ready (tid=e1026700;cpuset=[19])
> EAL: lcore 18 is ready (tid=e1827700;cpuset=[18])
> EAL: lcore 21 is ready (tid=bbfff700;cpuset=[21])
> EAL: lcore 22 is ready (tid=bb7fe700;cpuset=[22])
> EAL: lcore 14 is ready (tid=e382b700;cpuset=[14])
> EAL: lcore 17 is ready (tid=e2028700;cpuset=[17])
> EAL: lcore 23 is ready (tid=baffd700;cpuset=[23])
> EAL: lcore 15 is ready (tid=e302a700;cpuset=[15])
> EAL: lcore 16 is ready (tid=e2829700;cpuset=[16])
> EAL: PCI device 0000:03:00.0 on NUMA socket 0
> EAL:   probe driver: 15b3:1003 librte_pmd_mlx4
> PMD: librte_pmd_mlx4: PCI information matches, using device "mlx4_0" (VF:
> false)
> PMD: librte_pmd_mlx4: 2 port(s) detected
> PMD: librte_pmd_mlx4: port 1 MAC address is 00:02:c9:31:0c:30
> PMD: librte_pmd_mlx4: port 2 MAC address is 00:02:c9:31:0c:31
> EAL: PCI device 0000:a1:00.0 on NUMA socket 1
> EAL:   probe driver: 15b3:1003 librte_pmd_mlx4
> PMD: librte_pmd_mlx4: PCI information matches, using device "mlx4_1" (VF:
> false)
> PMD: librte_pmd_mlx4: 2 port(s) detected
> PMD: librte_pmd_mlx4: port 1 MAC address is 00:02:c9:31:82:00
> PMD: librte_pmd_mlx4: port 2 MAC address is 00:02:c9:31:82:01
> [0-7].0          lcores: RX( 0 1 2 3 4 5 6 7 )TX( 0 1 2 3 4 5 6 7 ) ports:
> RX( 0 )TX( 0 )
> [12-19].2        lcores: RX( 12 13 14 15 16 17 18 19 )TX( 12 13 14 15 16 17
> 18 19 ) ports: RX( 2 )TX( 2 )
>
>    Copyright (c) <2010-2016>, Intel Corporation. All rights reserved.
>    Pktgen created by: Keith Wiles -- >>> Powered by Intel® DPDK <<<
>
> Lua 5.3.2  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> >>> Packet Burst 32, RX Desc 512, TX Desc 512, mbufs/port 4096, mbuf
> >>> cache
> 512
>
> === port to lcore mapping table (# lcores 24) ===
>    lcore:     0     1     2     3     4     5     6     7     8     9    10
>    11    12    13    14    15    16    17    18    19    20    21    22
>  23
> port   0:  D: T  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  0: 0  0: 0  0: 0
>  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0:
> 0 =  8: 8
> port   2:  D: T  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0  0: 0
>  0: 0  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  0: 0  0: 0  0: 0  0:
> 0 =  8: 8
> Total   :  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  0: 0  0: 0  0: 0
>  0: 0  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  1: 1  0: 0  0: 0  0: 0  0:
> 0
>     Display and Timer on lcore 0, rx:tx counts per port/lcore
>
> Configuring 4 ports, MBUF Size 1920, MBUF Cache Size 512
> Lcore:
>     0, RX-TX
>                 RX( 1): ( 0: 0)
>                 TX( 1): ( 0: 0)
>     1, RX-TX
>                 RX( 1): ( 0: 1)
>                 TX( 1): ( 0: 1)
>     2, RX-TX
>                 RX( 1): ( 0: 2)
>                 TX( 1): ( 0: 2)
>     3, RX-TX
>                 RX( 1): ( 0: 3)
>                 TX( 1): ( 0: 3)
>     4, RX-TX
>                 RX( 1): ( 0: 4)
>                 TX( 1): ( 0: 4)
>     5, RX-TX
>                 RX( 1): ( 0: 5)
>                 TX( 1): ( 0: 5)
>     6, RX-TX
>                 RX( 1): ( 0: 6)
>                 TX( 1): ( 0: 6)
>     7, RX-TX
>                 RX( 1): ( 0: 7)
>                 TX( 1): ( 0: 7)
>    12, RX-TX
>                 RX( 1): ( 2: 0)
>                 TX( 1): ( 2: 0)
>    13, RX-TX
>                 RX( 1): ( 2: 1)
>                 TX( 1): ( 2: 1)
>    14, RX-TX
>                 RX( 1): ( 2: 2)
>                 TX( 1): ( 2: 2)
>    15, RX-TX
>                 RX( 1): ( 2: 3)
>                 TX( 1): ( 2: 3)
>    16, RX-TX
>                 RX( 1): ( 2: 4)
>                 TX( 1): ( 2: 4)
>    17, RX-TX
>                 RX( 1): ( 2: 5)
>                 TX( 1): ( 2: 5)
>    18, RX-TX
>                 RX( 1): ( 2: 6)
>                 TX( 1): ( 2: 6)
>    19, RX-TX
>                 RX( 1): ( 2: 7)
>                 TX( 1): ( 2: 7)
>
> Port :
>     0, nb_lcores  8, private 0x8f09f0, lcores:  0  1  2  3  4  5  6  7
>     2, nb_lcores  8, private 0x8f5270, lcores: 12 13 14 15 16 17 18 19
>
>
>
> ** Dev Info (librte_pmd_mlx4:17) **
>    max_vfs        :   0 min_rx_bufsize    :  32 max_rx_pktlen : 65536
> max_rx_queues         :65408 max_tx_queues:65408
>    max_mac_addrs  : 127 max_hash_mac_addrs:   0 max_vmdq_pools:     0
>    rx_offload_capa:   0 tx_offload_capa   :   0 reta_size     :     0
> flow_type_rss_offloads:0000000000000000
>    vmdq_queue_base:   0 vmdq_queue_num    :   0 vmdq_pool_base:     0
> ** RX Conf **
>    pthreash       :   0 hthresh          :   0 wthresh        :     0
>    Free Thresh    :   0 Drop Enable      :   0 Deferred Start :     0
> ** TX Conf **
>    pthreash       :   0 hthresh          :   0 wthresh        :     0
>    Free Thresh    :   0 RS Thresh        :   0 Deferred Start :     0 TXQ
> Flags:00000000
>
> PMD: librte_pmd_mlx4: 0x94b7e0: TX queues number update: 0 -> 8
> PMD: librte_pmd_mlx4: 0x94b7e0: RX queues number update: 0 -> 8 Initialize
> Port 0 -- TxQ 8, RxQ 8,  Src MAC 00:02:c9:31:0c:30
>     Create: Default RX  0:0  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  0:1  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  0:2  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  0:3  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  0:4  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  0:5  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  0:6  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  0:7  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>
>     Create: Default TX  0:0  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    0:0  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 0:0  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  0:0  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  0:1  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    0:1  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 0:1  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  0:1  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  0:2  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    0:2  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 0:2  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  0:2  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  0:3  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    0:3  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 0:3  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  0:3  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  0:4  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    0:4  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 0:4  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  0:4  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  0:5  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    0:5  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 0:5  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  0:5  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  0:6  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    0:6  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 0:6  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  0:6  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  0:7  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    0:7  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 0:7  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  0:7  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>
>  Port memory used = 324936 KB
>
> ** Dev Info (librte_pmd_mlx4:19) **
>    max_vfs        :   0 min_rx_bufsize    :  32 max_rx_pktlen : 65536
> max_rx_queues         :65408 max_tx_queues:65408
>    max_mac_addrs  : 127 max_hash_mac_addrs:   0 max_vmdq_pools:     0
>    rx_offload_capa:   0 tx_offload_capa   :   0 reta_size     :     0
> flow_type_rss_offloads:0000000000000000
>    vmdq_queue_base:   0 vmdq_queue_num    :   0 vmdq_pool_base:     0
> ** RX Conf **
>    pthreash       :   0 hthresh          :   0 wthresh        :     0
>    Free Thresh    :   0 Drop Enable      :   0 Deferred Start :     0
> ** TX Conf **
>    pthreash       :   0 hthresh          :   0 wthresh        :     0
>    Free Thresh    :   0 RS Thresh        :   0 Deferred Start :     0 TXQ
> Flags:00000000
>
> PMD: librte_pmd_mlx4: 0x953870: TX queues number update: 0 -> 8
> PMD: librte_pmd_mlx4: 0x953870: RX queues number update: 0 -> 8 Initialize
> Port 2 -- TxQ 8, RxQ 8,  Src MAC 00:02:c9:31:82:00
>     Create: Default RX  2:0  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  2:1  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  2:2  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  2:3  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  2:4  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  2:5  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  2:6  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Default RX  2:7  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>
>     Create: Default TX  2:0  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    2:0  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 2:0  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  2:0  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  2:1  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    2:1  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 2:1  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  2:1  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  2:2  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    2:2  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 2:2  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  2:2  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  2:3  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    2:3  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 2:3  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  2:3  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  2:4  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    2:4  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 2:4  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  2:4  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  2:5  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    2:5  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 2:5  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  2:5  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  2:6  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    2:6  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 2:6  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  2:6  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>     Create: Default TX  2:7  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Range TX    2:7  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Sequence TX 2:7  - Memory used (MBUFs 4096 x (size 1920 + Hdr
> 128)) + 1581248 =   9737 KB headroom 128 2176
>     Create: Special TX  2:7  - Memory used (MBUFs   64 x (size 1920 + Hdr
> 128)) + 1581248 =   1673 KB headroom 128 2176
>
>
>  Port memory used = 324936 KB
>
> Total memory used = 649871 KB Port  0: Link Up - speed 56000 Mbps -
> full-duplex <Enable promiscuous mode> Port  2: Link Up - speed 56000 Mbps -
> full-duplex <Enable promiscuous mode>
>
>
> === Display processing on lcore 0
> WARNING: Nothing to do on lcore 8: exiting
> WARNING: Nothing to do on lcore 9: exiting
> WARNING: Nothing to do on lcore 10: exiting
> WARNING: Nothing to do on lcore 11: exiting
> WARNING: Nothing to do on lcore 20: exiting
> WARNING: Nothing to do on lcore 21: exiting
> WARNING: Nothing to do on lcore 22: exiting
> WARNING: Nothing to do on lcore 23: exiting === RX/TX processing lcore  1
> rxcnt 1 txcnt 1 port/qid, 0/1 === RX/TX processing lcore  2 rxcnt 1 txcnt 1
> port/qid, 0/2 === RX/TX processing lcore  3 rxcnt 1 txcnt 1 port/qid, 0/3
> === RX/TX processing lcore  4 rxcnt 1 txcnt 1 port/qid, 0/4 === RX/TX
> processing lcore  5 rxcnt 1 txcnt 1 port/qid, 0/5 === RX/TX processing
> lcore  6 rxcnt 1 txcnt 1 port/qid, 0/6 === RX/TX processing lcore  7 rxcnt
> 1 txcnt 1 port/qid, 0/7 === RX/TX processing lcore 12 rxcnt 1 txcnt 1
> port/qid, 2/0 === RX/TX processing lcore 13 rxcnt 1 txcnt 1 port/qid, 2/1
> === RX/TX processing lcore 14 rxcnt 1 txcnt 1 port/qid, 2/2 === RX/TX
> processing lcore 15 rxcnt 1 txcnt 1 port/qid, 2/3 === RX/TX processing
> lcore 16 rxcnt 1 txcnt 1 port/qid, 2/4 === RX/TX processing lcore 17 rxcnt
> 1 txcnt 1 port/qid, 2/5 === RX/TX processing lcore 18 rxcnt 1 txcnt 1
> port/qid, 2/6 === RX/TX processing lcore 19 rxcnt 1 txcnt 1 port/qid, 2/7
>
>
> Pktgen > load random.txt
>
> geometry 132x44
> mac_from_arp disable
> set 0 count 0
> set 0 size 64
> set 0 rate 100
> set 0 burst 32
> set 0 sport 1234
> set 0 dport 5678
> set 0 prime 1
> type ipv4 0
> range.proto 0 udp
> proto udp 0
> set ip dst 0 10.1.72.17
> set ip src 0 10.1.72.154/24
> set mac 0 00:23:e9:64:c0:03
> vlanid 0 1
> pattern 0 abc
> latency 0 disable
> mpls 0 disable
> mpls_entry 0 0
> qinq 0 disable
> qinqids 0 0 0
> gre 0 disable
> gre_eth 0 disable
> gre_key 0 0
> icmp.echo 0 disable
> pcap 0 disable
> range 0 enable
> process 0 disable
> capture 0 disable
> rxtap 0 disable
> txtap 0 disable
> vlan 0 disable
> src.mac start 0 00:50:56:86:10:76
> src.mac min 0 00:00:00:00:00:00
> src.mac max 0 00:00:00:00:00:00
> src.mac inc 0 00:00:00:00:00:00
> dst.mac start 0 00:23:e9:64:c0:03
> dst.mac min 0 00:00:00:00:00:00
> dst.mac max 0 00:00:00:00:00:00
> dst.mac inc 0 00:00:00:00:00:00
> src.ip start 0 10.1.72.154
> src.ip min 0 10.1.72.154
> src.ip max 0 10.1.72.254
> src.ip inc 0 0.0.0.1
> dst.ip start 0 10.1.72.17
> dst.ip min 0 10.1.72.17
> dst.ip max 0 10.1.72.17
> dst.ip inc 0 0
> src.port start 0 1025
> src.port min 0 1025
> src.port max 0 65512
> src.port inc 0 1
> dst.port start 0 0
> dst.port min 0 0
> dst.port max 0 254
> dst.port inc 0 1
> vlan.id start 0 1
> vlan.id min 0 1
> vlan.id max 0 4095
> vlan.id inc 0 0
> pkt.size start 0 64
> pkt.size min 0 64
> pkt.size max 0 1518
> pkt.size inc 0 0
> set 0 seqCnt 0
>
> Pktgen > start 0
>
>   Flags:Port    :   P-----R--------:0
> P--------------:2
> Link State      :       <UP-56000-FD>
> <UP-56000-FD>----
> Pkts/s Max/Rx   :                 0/0
> 19839945/19839945
>        Max/Tx   :   34199936/34135552
> 34199936/34135552
> MBits/s Rx/Tx   :             0/21846
> 12697/21846
> Broadcast       :                   0
> 0
> Multicast       :                   0
> 0
>   64 Bytes      :                   0
>  78156990
>   65-127        :                   0
> 0
>   128-255       :                   0
> 0
>   256-511       :                   0
> 0
>   512-1023      :                   0
> 0
>   1024-1518     :                   0
> 0
> Runts/Jumbos    :                 0/0
> 0/0
> Errors Rx/Tx    :                 0/0
> 0/0
> Total Rx Pkts   :                   0
> 368764259
>       Tx Pkts   :           669245499
> 0
>       Rx MBs    :                   0
>  236009
>       Tx MBs    :              428317
> 0
> ARP/ICMP Pkts   :                 0/0
> 0/0
>                 :
> Pattern Type    :             abcd...
> abcd...
> Tx Count/% Rate :      Forever / 100%                          Forever /
> 100%
> PktSize/Tx Burst:           64 /   32                               64 /
> 32
> Src/Dest Port   :         1234 / 5678                             1234 /
> 5678
> Pkt Type:VLAN ID:     IPv4 / UDP:0001                         IPv4 /
> TCP:0001
> Dst  IP Address :          10.1.72.17
> 192.168.3.1
> Src  IP Address :      10.1.72.154/24
> 192.168.2.1/24
> Dst MAC Address :   00:23:e9:64:c0:03
> 00:00:00:00:00:00
> Src MAC Address     00:02:c9:31:0c:30
> 00:02:c9:31:82:00
>
> [1] http://dpdk.org/doc/guides/nics/mlx4.html
> [2] http://dpdk.org/ml/archives/users/2016-April/000489.html
>


More information about the users mailing list