[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