DPDK patches and discussions
 help / color / mirror / Atom feed
* rte flow over gre
@ 2022-03-15 14:50 Yaron Illouz
  2022-03-16  9:18 ` Ori Kam
  0 siblings, 1 reply; 3+ messages in thread
From: Yaron Illouz @ 2022-03-15 14:50 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 34021 bytes --]

I am using Mellanox Technologies MT27800 Family [ConnectX-5], using dpdk19.11 multi rx queue with rss "ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP"

I receive packet with ETH:IP:GRE:ETH:IP:UDP

I want the load balancing to be according to inner ip+port and not with the outer gre ip

It is supported by dpdk 19.11 because i succeeded to do it with testpmd with the following command, and the traffic is spread across all the rx queues

When i try to test with my own code traffic is not spread across the rx queues but all going to the same queue (and there are 5000 combination of ip+upd port in my trace), testpmd is complex and i don't know what i am doing wrong



testpmd --socket-mem=1024 --file-prefix=2 -l 7,8-23 -a0000:41:00.1,mprq_en=1,rxqs_min_mprq=1,mprq_log_stride_num=9,txq_inline_mpw=128,rxq_pkt_pad_en=1,rxq_cqe_comp_en=4 -- --port-numa-config=0,0 --socket-num=0 --burst=128 --txd=8192 --rxd=8192 --mbcache=512 --rxq=16 --txq=16 --nb-cores=8 -a --forward-mode=io --numa --rss-udp --enable-rx-cksum --no-mlockall --no-lsc-interrupt -i

 ethtool -i ens2

driver: mlx5_core

version: 5.5-1.0.3

firmware-version: 16.31.1014 (HPE0000000014)

expansion-rom-version:

bus-info: 0000:03:00.0

supports-statistics: yes

supports-test: yes

supports-eeprom-access: no

supports-register-dump: no

supports-priv-flags: yes



Here is a link to a full example code that i wrote https://coliru.stacked-crooked.com/a/cdeefd58b08063be

I run it with following command: ./testReceiver --log-level='.*',8 -l 7,8-23 -w 0000:03:00.0

Here is the rte flow create part

                                                const int MAX_PATTERN_IN_FLOW = 10;

                                                const int MAX_ACTIONS_IN_FLOW = 10;



                                                struct rte_flow_attr attr;



                                                struct rte_flow_item pattern[MAX_PATTERN_IN_FLOW];

                                                struct rte_flow_action actions[MAX_ACTIONS_IN_FLOW];

                                                struct rte_flow_item_eth eth,eth2;

                                                struct rte_flow_item_ipv4 ipv4,ipv4_2;

                                                struct rte_flow_item_gre gre;

                                                struct rte_flow_item_udp udp;

                                                struct rte_flow *flow;

                                                struct rte_flow_error error;



                                                memset(&eth, 0, sizeof(eth));

                                                memset(&eth2, 0 ,sizeof(eth2));

                                                memset(&ipv4, 0 ,sizeof(ipv4));

              memset(&ipv4_2, 0, sizeof(ipv4_2));

                                                memset(&gre, 0, sizeof(gre));

                                                memset(&udp, 0, sizeof(udp));







                                                memset(pattern, 0, sizeof(pattern));

                                                memset(actions, 0, sizeof(actions));



                                                memset(&attr, 0, sizeof(struct rte_flow_attr));

                                                attr.ingress = 1;



                                                // setting the eth to pass all packets

                                                pattern[0].type = RTE_FLOW_ITEM_TYPE_ETH;

                                                pattern[0].spec = ð



                                                // set the vlan to pass all packets

                                                pattern[1].type = RTE_FLOW_ITEM_TYPE_IPV4;

                                                pattern[1].spec = &ipv4;



                                                pattern[2].type = RTE_FLOW_ITEM_TYPE_GRE;

                                                pattern[2].spec = &gre;



                                                pattern[3].type = RTE_FLOW_ITEM_TYPE_ETH;

                                                pattern[3].spec = &eth2;



                                                // set the vlan to pass all packets

                                                pattern[4].type = RTE_FLOW_ITEM_TYPE_IPV4;

                                                pattern[4].spec = &ipv4_2;



                                                // set the vlan to pass all packets

                                                pattern[5].type = RTE_FLOW_ITEM_TYPE_UDP;

                                                pattern[5].spec = &udp;





                                                // end the pattern array

                                                pattern[6].type = RTE_FLOW_ITEM_TYPE_END;



                                                struct rte_flow_action_rss rss_conf;

                                                uint16_t queues[pi_nNumRxQueues];

                                                rss_conf.func = RTE_ETH_HASH_FUNCTION_DEFAULT;

                                                rss_conf.types = ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP;

                                                rss_conf.queue_num = pi_nNumRxQueues;

                                                for (int nqQueueIndex= 0; nqQueueIndex < pi_nNumRxQueues; nqQueueIndex++)

                                                         queues[nqQueueIndex] = nqQueueIndex;



                                                rss_conf.queue = queues;



                                                rss_conf.key_len = 0;

                                                rss_conf.key = NULL;

                                                rss_conf.level = 2;



                                                // create the drop action

                                                actions[0].type = RTE_FLOW_ACTION_TYPE_RSS;

                                                actions[0].conf = &rss_conf;

                                                actions[1].type = RTE_FLOW_ACTION_TYPE_END;





                                                // validate and create the flow rule

                                                if (rte_flow_validate(pi_nPort, &attr, pattern, actions, &error)==0)

                                                {

                                                                std::cout<<"Succeded to validate flow"<<std::endl;

                                                                flow = rte_flow_create(pi_nPort, &attr, pattern, actions, &error);

                                                                if(flow)

                                                                                std::cout<<"Succeded to create flow"<<std::endl;

                                                                else

                                                                                std::cout<<"Failed to create flow "<< error.type << " "<<(error.message ? error.message : "(no stated reason)")<<std::endl;

                                                }

                                                else

                                                                std::cout<<"Failed to validate flow"<<error.type << " "<<(error.message ? error.message : "(no stated reason)")<<std::endl;

                                }


This is the output I got


[root@localhost testReceiver]# ./testReceiver   --log-level='.*',8 -l 7,8-23   -w 0000:03:00.0

EAL: Detected lcore 0 as core 0 on socket 0

...

EAL: Detected lcore 63 as core 63 on socket 3

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

EAL: Detected 64 lcore(s)

EAL: Detected 4 NUMA nodes

EAL: Ask a virtual area of 0x5000 bytes

EAL: Virtual area found at 0x100000000 (size = 0x5000)

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket

EAL: VFIO PCI modules not loaded

EAL: Bus pci wants IOVA as 'DC'

EAL: Buses did not request a specific IOVA mode.

EAL: IOMMU is available, selecting IOVA as VA mode.

EAL: Module /sys/module/rte_kni not found! error 2 (No such file or directory)

EAL: Selected IOVA mode 'VA'

EAL: Probing VFIO support...

EAL:   IOMMU type 1 (Type 1) is supported

EAL:   IOMMU type 7 (sPAPR) is not supported

EAL:   IOMMU type 8 (No-IOMMU) is not supported

EAL: VFIO support initialized

EAL: Ask a virtual area of 0x2e000 bytes

EAL: Virtual area found at 0x100005000 (size = 0x2e000)

EAL: Setting up physically contiguous memory...

EAL: Setting maximum number of open files to 4096

EAL: Detected memory type: socket_id:0 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:1 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:2 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:3 hugepage_sz:1073741824

EAL: Creating 4 segment lists: n_segs:32 socket_id:0 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x100033000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 0

...

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x1a00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:1 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x2200000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x2240000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x2a40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x2a80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x3280000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x32c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x3ac0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x3b00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:2 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x4300000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x4340000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x4b40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x4b80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x5380000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x53c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x5bc0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x5c00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:3 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x6400000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x6440000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x6c40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x6c80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x7480000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x74c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x7cc0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x7d00000000 (size = 0x800000000)

EAL: TSC frequency is ~2000000 KHz

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

EAL: Trying to obtain current memory policy.

EAL: Setting policy MPOL_PREFERRED for socket 0

EAL: Restoring previous memory policy: 0

EAL: request: mp_malloc_sync

EAL: Heap on socket 0 was expanded by 1024MB

EAL: PCI device 0000:03:00.0 on NUMA socket 3

EAL:   probe driver: 15b3:1017 net_mlx5

EAL: Mem event callback 'MLX5_MEM_EVENT_CB:(nil)' registered

net_mlx5: checking device "mlx5_0"

net_mlx5: PCI information matches for device "mlx5_0"

net_mlx5: no E-Switch support detected

net_mlx5: naming Ethernet device "0000:03:00.0"

net_mlx5: DevX is supported

EAL: Trying to obtain current memory policy.

EAL: Setting policy MPOL_PREFERRED for socket 3

EAL: Restoring previous memory policy: 0

EAL: Calling mem event callback 'MLX5_MEM_EVENT_CB:(nil)'

EAL: request: mp_malloc_sync

EAL: Heap on socket 3 was expanded by 1024MB

net_mlx5: enhanced MPW is supported

net_mlx5: SWP support: 7

net_mlx5:       min_single_stride_log_num_of_bytes: 6

net_mlx5:       max_single_stride_log_num_of_bytes: 13

net_mlx5:       min_single_wqe_log_num_of_strides: 3

net_mlx5:       max_single_wqe_log_num_of_strides: 16

net_mlx5:       supported_qpts: 256

net_mlx5: device supports Multi-Packet RQ

net_mlx5: tunnel offloading is supported

net_mlx5: MPLS over GRE/UDP tunnel offloading is not supported

net_mlx5: checksum offloading is supported

net_mlx5: maximum Rx indirection table size is 512

net_mlx5: VLAN stripping is supported

net_mlx5: FCS stripping configuration is supported

net_mlx5: enhanced MPS is enabled

net_mlx5: port 0 MAC address is b8:83:03:8f:4e:f0

net_mlx5: port 0 MTU is 2040

net_mlx5: port 0 forcing Ethernet interface up

net_mlx5: Tx VLAN insertion is supported

net_mlx5: min tx inline configured: 0

net_mlx5: Hash list with mlx5_0_flow_table size 0x1000 is created.

net_mlx5: Hash list with mlx5_0_tags size 0x2000 is created.

net_mlx5: port 0 flow maximum priority: 5

net_mlx5: metadata mode 0

net_mlx5: metadata MARK mask 00FFFFFF

net_mlx5: metadata META mask FFFFFFFF

net_mlx5: metadata reg_c0 mask FFFFFFFF

net_mlx5: port 0 extensive metadata register is not supported

net_mlx5: DR drop action is not supported in root table.

net_mlx5: port 0 Tx queues number update: 0 -> 1

net_mlx5: port 0 Rx queues number update: 0 -> 4

net_mlx5: port 0 adapter MTU set to 2040

net_mlx5: port 0 configuring Rx queue 0 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 0 to list

net_mlx5: port 0 configuring Rx queue 1 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 1 to list

net_mlx5: port 0 configuring Rx queue 2 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 2 to list

net_mlx5: port 0 configuring Rx queue 3 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 3 to list

testReceiver.cpp 94

net_mlx5: port 0 configuring queue 0 for 512 descriptors

net_mlx5: port 0 adding Tx queue 0 to list

net_mlx5: port 0 starting device

net_mlx5: port 0 Rx queues number update: 4 -> 4

net_mlx5: port 0 Tx queue 0 allocated and configured 512 WRs

net_mlx5: port 0 Tx queue 0 TIS number 9 transport domain 2

net_mlx5: port 0: uar_mmap_offset 0x306000

net_mlx5: port 0 Rx queue 0 registering mp pool having 1 chunks

net_mlx5: port 0 creating a MR using address (0x15aa07e80)

net_mlx5: device mlx5_0 inserting MR(0x15a9f7e00) to global cache

net_mlx5: inserted B-tree(0x17ffdcb60)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: inserted B-tree(0x15aa0686c)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 0 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 0 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 1 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15aa03fec)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 1 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 1 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 2 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15aa0176c)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 2 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 2 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 3 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15a9feeec)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 3 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 3 updated with 0x7fffffffd578

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9c1480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cae00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd380: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9c1940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 7++

net_mlx5: port 0 has selected Tx function supporting offloads 0100/0100

net_mlx5:       EMPW  (Enhanced MPW)

net_mlx5: port 0 selected Rx vectorized function

net_mlx5: port 0 setting primary MAC address

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 8--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 7--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 6--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 5--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 3--

net_mlx5: port 0 matcher 0x15a9c1940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6940: removed

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6e00: removed

net_mlx5: port 0 matcher 0x15a9cd380: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd380: removed

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 3--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cae00: removed

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1480: removed

net_mlx5: port 0 matcher 0x15a9c1940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1940: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9880: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d93c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9c1e00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9ca400: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9e2e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9e2e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9d9880: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 7++

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 8--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 7--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 4--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 6--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 5--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d9880: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2940: removed

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2e00: removed

net_mlx5: port 0 matcher 0x15a9ca400: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca400: removed

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 4--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 2--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1e00: removed

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d93c0: removed

net_mlx5: port 0 matcher 0x15a9d9880: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9880: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd880: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9cd3c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d9d40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1340: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9cd880: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 7++

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 8--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 7--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 6--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 5--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 3--

net_mlx5: port 0 matcher 0x15a9cd880: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6940: removed

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6e00: removed

net_mlx5: port 0 matcher 0x15a9c1340: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1340: removed

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 3--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9d40: removed

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd3c0: removed

net_mlx5: port 0 matcher 0x15a9cd880: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd880: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9ca940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9ca480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cdd40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9340: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9e2e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9e2e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9ca940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 7++

Succeeded to start port0

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 8--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 7--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 6--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 5--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 3--

net_mlx5: port 0 matcher 0x15a9ca940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2940: removed

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2e00: removed

net_mlx5: port 0 matcher 0x15a9d9340: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9340: removed

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 3--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cdd40: removed

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca480: removed

net_mlx5: port 0 matcher 0x15a9ca940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca940: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9c1480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cae00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd380: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9680: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d91c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2b40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d91c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9cd380: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 7++

Succeded to validate flow

net_mlx5: NIC group 0 priority 0 new rx matcher 0x15a9ee300: refcnt 1

Succeded to create flow


[-- Attachment #2: Type: text/html, Size: 154540 bytes --]

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

* RE: rte flow over gre
  2022-03-15 14:50 rte flow over gre Yaron Illouz
@ 2022-03-16  9:18 ` Ori Kam
  2022-03-16  9:25   ` Yaron Illouz
  0 siblings, 1 reply; 3+ messages in thread
From: Ori Kam @ 2022-03-16  9:18 UTC (permalink / raw)
  To: Yaron Illouz, dev

[-- Attachment #1: Type: text/plain, Size: 35142 bytes --]

Hi Yaron,

First a quick comment, please when sending mails to the dev list, send them as plain text.
It will help reply inline.

I think your issue is related to the way you created the items.
From your code:

pattern[0].type = RTE_FLOW_ITEM_TYPE_ETH;

              pattern[0].spec = &eth;

Since the mask is NULL, it means that the PMD will use the default mask for that item.

As a result, no traffic will hit this rule.



The solution is one of the following:

  1.  Add empty mask for each item.
  2.  Set the spec to be null.



Best,

Ori

From: Yaron Illouz <yaroni@radcom.com>
Sent: Tuesday, March 15, 2022 4:50 PM
To: dev@dpdk.org
Subject: rte flow over gre


I am using Mellanox Technologies MT27800 Family [ConnectX-5], using dpdk19.11 multi rx queue with rss "ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP"

I receive packet with ETH:IP:GRE:ETH:IP:UDP

I want the load balancing to be according to inner ip+port and not with the outer gre ip

It is supported by dpdk 19.11 because i succeeded to do it with testpmd with the following command, and the traffic is spread across all the rx queues

When i try to test with my own code traffic is not spread across the rx queues but all going to the same queue (and there are 5000 combination of ip+upd port in my trace), testpmd is complex and i don't know what i am doing wrong



testpmd --socket-mem=1024 --file-prefix=2 -l 7,8-23 -a0000:41:00.1,mprq_en=1,rxqs_min_mprq=1,mprq_log_stride_num=9,txq_inline_mpw=128,rxq_pkt_pad_en=1,rxq_cqe_comp_en=4 -- --port-numa-config=0,0 --socket-num=0 --burst=128 --txd=8192 --rxd=8192 --mbcache=512 --rxq=16 --txq=16 --nb-cores=8 -a --forward-mode=io --numa --rss-udp --enable-rx-cksum --no-mlockall --no-lsc-interrupt -i

 ethtool -i ens2

driver: mlx5_core

version: 5.5-1.0.3

firmware-version: 16.31.1014 (HPE0000000014)

expansion-rom-version:

bus-info: 0000:03:00.0

supports-statistics: yes

supports-test: yes

supports-eeprom-access: no

supports-register-dump: no

supports-priv-flags: yes



Here is a link to a full example code that i wrote https://coliru.stacked-crooked.com/a/cdeefd58b08063be<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcoliru.stacked-crooked.com%2Fa%2Fcdeefd58b08063be&data=04%7C01%7Corika%40nvidia.com%7C48035748c56044e9ee3c08da069320b4%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637829526258487089%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=tXdYJjL4sIAQMCEU3vdWdQ1huFtSkgDwdR1%2FiUtDX0Y%3D&reserved=0>

I run it with following command: ./testReceiver --log-level='.*',8 -l 7,8-23 -w 0000:03:00.0

Here is the rte flow create part

                                                const int MAX_PATTERN_IN_FLOW = 10;

                                                const int MAX_ACTIONS_IN_FLOW = 10;



                                                struct rte_flow_attr attr;



                                                struct rte_flow_item pattern[MAX_PATTERN_IN_FLOW];

                                                struct rte_flow_action actions[MAX_ACTIONS_IN_FLOW];

                                                struct rte_flow_item_eth eth,eth2;

                                                struct rte_flow_item_ipv4 ipv4,ipv4_2;

                                                struct rte_flow_item_gre gre;

                                                struct rte_flow_item_udp udp;

                                                struct rte_flow *flow;

                                                struct rte_flow_error error;



                                                memset(&eth, 0, sizeof(eth));

                                                memset(&eth2, 0 ,sizeof(eth2));

                                                memset(&ipv4, 0 ,sizeof(ipv4));

              memset(&ipv4_2, 0, sizeof(ipv4_2));

                                                memset(&gre, 0, sizeof(gre));

                                                memset(&udp, 0, sizeof(udp));







                                                memset(pattern, 0, sizeof(pattern));

                                                memset(actions, 0, sizeof(actions));



                                                memset(&attr, 0, sizeof(struct rte_flow_attr));

                                                attr.ingress = 1;



                                                // setting the eth to pass all packets

                                                pattern[0].type = RTE_FLOW_ITEM_TYPE_ETH;

                                                pattern[0].spec = &eth;



                                                // set the vlan to pass all packets

                                                pattern[1].type = RTE_FLOW_ITEM_TYPE_IPV4;

                                                pattern[1].spec = &ipv4;



                                                pattern[2].type = RTE_FLOW_ITEM_TYPE_GRE;

                                                pattern[2].spec = &gre;



                                                pattern[3].type = RTE_FLOW_ITEM_TYPE_ETH;

                                                pattern[3].spec = &eth2;



                                                // set the vlan to pass all packets

                                                pattern[4].type = RTE_FLOW_ITEM_TYPE_IPV4;

                                                pattern[4].spec = &ipv4_2;



                                                // set the vlan to pass all packets

                                                pattern[5].type = RTE_FLOW_ITEM_TYPE_UDP;

                                                pattern[5].spec = &udp;





                                                // end the pattern array

                                                pattern[6].type = RTE_FLOW_ITEM_TYPE_END;



                                                struct rte_flow_action_rss rss_conf;

                                                uint16_t queues[pi_nNumRxQueues];

                                                rss_conf.func = RTE_ETH_HASH_FUNCTION_DEFAULT;

                                                rss_conf.types = ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP;

                                                rss_conf.queue_num = pi_nNumRxQueues;

                                                for (int nqQueueIndex= 0; nqQueueIndex < pi_nNumRxQueues; nqQueueIndex++)

                                                         queues[nqQueueIndex] = nqQueueIndex;



                                                rss_conf.queue = queues;



                                                rss_conf.key_len = 0;

                                                rss_conf.key = NULL;

                                                rss_conf.level = 2;



                                                // create the drop action

                                                actions[0].type = RTE_FLOW_ACTION_TYPE_RSS;

                                                actions[0].conf = &rss_conf;

                                                actions[1].type = RTE_FLOW_ACTION_TYPE_END;





                                                // validate and create the flow rule

                                                if (rte_flow_validate(pi_nPort, &attr, pattern, actions, &error)==0)

                                                {

                                                                std::cout<<"Succeded to validate flow"<<std::endl;

                                                                flow = rte_flow_create(pi_nPort, &attr, pattern, actions, &error);

                                                                if(flow)

                                                                                std::cout<<"Succeded to create flow"<<std::endl;

                                                                else

                                                                                std::cout<<"Failed to create flow "<< error.type << " "<<(error.message ? error.message : "(no stated reason)")<<std::endl;

                                                }

                                                else

                                                                std::cout<<"Failed to validate flow"<<error.type << " "<<(error.message ? error.message : "(no stated reason)")<<std::endl;

                                }


This is the output I got


[root@localhost testReceiver]# ./testReceiver   --log-level='.*',8 -l 7,8-23   -w 0000:03:00.0

EAL: Detected lcore 0 as core 0 on socket 0

...

EAL: Detected lcore 63 as core 63 on socket 3

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

EAL: Detected 64 lcore(s)

EAL: Detected 4 NUMA nodes

EAL: Ask a virtual area of 0x5000 bytes

EAL: Virtual area found at 0x100000000 (size = 0x5000)

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket

EAL: VFIO PCI modules not loaded

EAL: Bus pci wants IOVA as 'DC'

EAL: Buses did not request a specific IOVA mode.

EAL: IOMMU is available, selecting IOVA as VA mode.

EAL: Module /sys/module/rte_kni not found! error 2 (No such file or directory)

EAL: Selected IOVA mode 'VA'

EAL: Probing VFIO support...

EAL:   IOMMU type 1 (Type 1) is supported

EAL:   IOMMU type 7 (sPAPR) is not supported

EAL:   IOMMU type 8 (No-IOMMU) is not supported

EAL: VFIO support initialized

EAL: Ask a virtual area of 0x2e000 bytes

EAL: Virtual area found at 0x100005000 (size = 0x2e000)

EAL: Setting up physically contiguous memory...

EAL: Setting maximum number of open files to 4096

EAL: Detected memory type: socket_id:0 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:1 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:2 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:3 hugepage_sz:1073741824

EAL: Creating 4 segment lists: n_segs:32 socket_id:0 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x100033000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 0

...

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x1a00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:1 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x2200000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x2240000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x2a40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x2a80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x3280000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x32c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x3ac0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x3b00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:2 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x4300000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x4340000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x4b40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x4b80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x5380000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x53c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x5bc0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x5c00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:3 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x6400000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x6440000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x6c40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x6c80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x7480000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x74c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x7cc0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x7d00000000 (size = 0x800000000)

EAL: TSC frequency is ~2000000 KHz

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

EAL: Trying to obtain current memory policy.

EAL: Setting policy MPOL_PREFERRED for socket 0

EAL: Restoring previous memory policy: 0

EAL: request: mp_malloc_sync

EAL: Heap on socket 0 was expanded by 1024MB

EAL: PCI device 0000:03:00.0 on NUMA socket 3

EAL:   probe driver: 15b3:1017 net_mlx5

EAL: Mem event callback 'MLX5_MEM_EVENT_CB:(nil)' registered

net_mlx5: checking device "mlx5_0"

net_mlx5: PCI information matches for device "mlx5_0"

net_mlx5: no E-Switch support detected

net_mlx5: naming Ethernet device "0000:03:00.0"

net_mlx5: DevX is supported

EAL: Trying to obtain current memory policy.

EAL: Setting policy MPOL_PREFERRED for socket 3

EAL: Restoring previous memory policy: 0

EAL: Calling mem event callback 'MLX5_MEM_EVENT_CB:(nil)'

EAL: request: mp_malloc_sync

EAL: Heap on socket 3 was expanded by 1024MB

net_mlx5: enhanced MPW is supported

net_mlx5: SWP support: 7

net_mlx5:       min_single_stride_log_num_of_bytes: 6

net_mlx5:       max_single_stride_log_num_of_bytes: 13

net_mlx5:       min_single_wqe_log_num_of_strides: 3

net_mlx5:       max_single_wqe_log_num_of_strides: 16

net_mlx5:       supported_qpts: 256

net_mlx5: device supports Multi-Packet RQ

net_mlx5: tunnel offloading is supported

net_mlx5: MPLS over GRE/UDP tunnel offloading is not supported

net_mlx5: checksum offloading is supported

net_mlx5: maximum Rx indirection table size is 512

net_mlx5: VLAN stripping is supported

net_mlx5: FCS stripping configuration is supported

net_mlx5: enhanced MPS is enabled

net_mlx5: port 0 MAC address is b8:83:03:8f:4e:f0

net_mlx5: port 0 MTU is 2040

net_mlx5: port 0 forcing Ethernet interface up

net_mlx5: Tx VLAN insertion is supported

net_mlx5: min tx inline configured: 0

net_mlx5: Hash list with mlx5_0_flow_table size 0x1000 is created.

net_mlx5: Hash list with mlx5_0_tags size 0x2000 is created.

net_mlx5: port 0 flow maximum priority: 5

net_mlx5: metadata mode 0

net_mlx5: metadata MARK mask 00FFFFFF

net_mlx5: metadata META mask FFFFFFFF

net_mlx5: metadata reg_c0 mask FFFFFFFF

net_mlx5: port 0 extensive metadata register is not supported

net_mlx5: DR drop action is not supported in root table.

net_mlx5: port 0 Tx queues number update: 0 -> 1

net_mlx5: port 0 Rx queues number update: 0 -> 4

net_mlx5: port 0 adapter MTU set to 2040

net_mlx5: port 0 configuring Rx queue 0 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 0 to list

net_mlx5: port 0 configuring Rx queue 1 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 1 to list

net_mlx5: port 0 configuring Rx queue 2 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 2 to list

net_mlx5: port 0 configuring Rx queue 3 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 3 to list

testReceiver.cpp 94

net_mlx5: port 0 configuring queue 0 for 512 descriptors

net_mlx5: port 0 adding Tx queue 0 to list

net_mlx5: port 0 starting device

net_mlx5: port 0 Rx queues number update: 4 -> 4

net_mlx5: port 0 Tx queue 0 allocated and configured 512 WRs

net_mlx5: port 0 Tx queue 0 TIS number 9 transport domain 2

net_mlx5: port 0: uar_mmap_offset 0x306000

net_mlx5: port 0 Rx queue 0 registering mp pool having 1 chunks

net_mlx5: port 0 creating a MR using address (0x15aa07e80)

net_mlx5: device mlx5_0 inserting MR(0x15a9f7e00) to global cache

net_mlx5: inserted B-tree(0x17ffdcb60)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: inserted B-tree(0x15aa0686c)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 0 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 0 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 1 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15aa03fec)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 1 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 1 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 2 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15aa0176c)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 2 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 2 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 3 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15a9feeec)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 3 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 3 updated with 0x7fffffffd578

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9c1480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cae00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd380: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9c1940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 7++

net_mlx5: port 0 has selected Tx function supporting offloads 0100/0100

net_mlx5:       EMPW  (Enhanced MPW)

net_mlx5: port 0 selected Rx vectorized function

net_mlx5: port 0 setting primary MAC address

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 8--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 7--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 6--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 5--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 3--

net_mlx5: port 0 matcher 0x15a9c1940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6940: removed

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6e00: removed

net_mlx5: port 0 matcher 0x15a9cd380: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd380: removed

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 3--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cae00: removed

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1480: removed

net_mlx5: port 0 matcher 0x15a9c1940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1940: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9880: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d93c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9c1e00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9ca400: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9e2e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9e2e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9d9880: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 7++

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 8--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 7--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 4--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 6--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 5--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d9880: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2940: removed

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2e00: removed

net_mlx5: port 0 matcher 0x15a9ca400: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca400: removed

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 4--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 2--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1e00: removed

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d93c0: removed

net_mlx5: port 0 matcher 0x15a9d9880: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9880: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd880: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9cd3c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d9d40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1340: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9cd880: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 7++

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 8--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 7--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 6--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 5--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 3--

net_mlx5: port 0 matcher 0x15a9cd880: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6940: removed

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6e00: removed

net_mlx5: port 0 matcher 0x15a9c1340: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1340: removed

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 3--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9d40: removed

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd3c0: removed

net_mlx5: port 0 matcher 0x15a9cd880: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd880: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9ca940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9ca480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cdd40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9340: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9e2e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9e2e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9ca940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 7++

Succeeded to start port0

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 8--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 7--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 6--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 5--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 3--

net_mlx5: port 0 matcher 0x15a9ca940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2940: removed

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2e00: removed

net_mlx5: port 0 matcher 0x15a9d9340: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9340: removed

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 3--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cdd40: removed

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca480: removed

net_mlx5: port 0 matcher 0x15a9ca940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca940: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9c1480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cae00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd380: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9680: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d91c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2b40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d91c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9cd380: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 7++

Succeded to validate flow

net_mlx5: NIC group 0 priority 0 new rx matcher 0x15a9ee300: refcnt 1

Succeded to create flow


[-- Attachment #2: Type: text/html, Size: 156349 bytes --]

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

* RE: rte flow over gre
  2022-03-16  9:18 ` Ori Kam
@ 2022-03-16  9:25   ` Yaron Illouz
  0 siblings, 0 replies; 3+ messages in thread
From: Yaron Illouz @ 2022-03-16  9:25 UTC (permalink / raw)
  To: Ori Kam, dev

[-- Attachment #1: Type: text/plain, Size: 35525 bytes --]

I put null in the spec as you suggested and it worked, thank you very much

From: Ori Kam <orika@nvidia.com>
Sent: Wednesday, March 16, 2022 11:19 AM
To: Yaron Illouz <yaroni@radcom.com>; dev@dpdk.org
Subject: RE: rte flow over gre

EXTERNAL EMAIL: Do not click links or attachments unless you recognize the sender and know the content is safe

Hi Yaron,

First a quick comment, please when sending mails to the dev list, send them as plain text.
It will help reply inline.

I think your issue is related to the way you created the items.
From your code:

pattern[0].type = RTE_FLOW_ITEM_TYPE_ETH;

              pattern[0].spec = &eth;

Since the mask is NULL, it means that the PMD will use the default mask for that item.

As a result, no traffic will hit this rule.



The solution is one of the following:

  1.  Add empty mask for each item.
  2.  Set the spec to be null.



Best,

Ori

From: Yaron Illouz <yaroni@radcom.com<mailto:yaroni@radcom.com>>
Sent: Tuesday, March 15, 2022 4:50 PM
To: dev@dpdk.org<mailto:dev@dpdk.org>
Subject: rte flow over gre


I am using Mellanox Technologies MT27800 Family [ConnectX-5], using dpdk19.11 multi rx queue with rss "ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP"

I receive packet with ETH:IP:GRE:ETH:IP:UDP

I want the load balancing to be according to inner ip+port and not with the outer gre ip

It is supported by dpdk 19.11 because i succeeded to do it with testpmd with the following command, and the traffic is spread across all the rx queues

When i try to test with my own code traffic is not spread across the rx queues but all going to the same queue (and there are 5000 combination of ip+upd port in my trace), testpmd is complex and i don't know what i am doing wrong



testpmd --socket-mem=1024 --file-prefix=2 -l 7,8-23 -a0000:41:00.1,mprq_en=1,rxqs_min_mprq=1,mprq_log_stride_num=9,txq_inline_mpw=128,rxq_pkt_pad_en=1,rxq_cqe_comp_en=4 -- --port-numa-config=0,0 --socket-num=0 --burst=128 --txd=8192 --rxd=8192 --mbcache=512 --rxq=16 --txq=16 --nb-cores=8 -a --forward-mode=io --numa --rss-udp --enable-rx-cksum --no-mlockall --no-lsc-interrupt -i

 ethtool -i ens2

driver: mlx5_core

version: 5.5-1.0.3

firmware-version: 16.31.1014 (HPE0000000014)

expansion-rom-version:

bus-info: 0000:03:00.0

supports-statistics: yes

supports-test: yes

supports-eeprom-access: no

supports-register-dump: no

supports-priv-flags: yes



Here is a link to a full example code that i wrote https://coliru.stacked-crooked.com/a/cdeefd58b08063be<https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcoliru.stacked-crooked.com%2Fa%2Fcdeefd58b08063be&data=04%7C01%7C%7Ca874a70dba7749ff758408da072df7c8%7C0eb9e2d98763412e97093f539e9e25bc%7C0%7C0%7C637830191301583626%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=aeBK22PKPpeP9hA%2FMDyRuHVErN3YaGjDwNJuE6j8FqQ%3D&reserved=0>

I run it with following command: ./testReceiver --log-level='.*',8 -l 7,8-23 -w 0000:03:00.0

Here is the rte flow create part

                                                const int MAX_PATTERN_IN_FLOW = 10;

                                                const int MAX_ACTIONS_IN_FLOW = 10;



                                                struct rte_flow_attr attr;



                                                struct rte_flow_item pattern[MAX_PATTERN_IN_FLOW];

                                                struct rte_flow_action actions[MAX_ACTIONS_IN_FLOW];

                                                struct rte_flow_item_eth eth,eth2;

                                                struct rte_flow_item_ipv4 ipv4,ipv4_2;

                                                struct rte_flow_item_gre gre;

                                                struct rte_flow_item_udp udp;

                                                struct rte_flow *flow;

                                                struct rte_flow_error error;



                                                memset(&eth, 0, sizeof(eth));

                                                memset(&eth2, 0 ,sizeof(eth2));

                                                memset(&ipv4, 0 ,sizeof(ipv4));

              memset(&ipv4_2, 0, sizeof(ipv4_2));

                                                memset(&gre, 0, sizeof(gre));

                                                memset(&udp, 0, sizeof(udp));







                                                memset(pattern, 0, sizeof(pattern));

                                                memset(actions, 0, sizeof(actions));



                                                memset(&attr, 0, sizeof(struct rte_flow_attr));

                                                attr.ingress = 1;



                                                // setting the eth to pass all packets

                                                pattern[0].type = RTE_FLOW_ITEM_TYPE_ETH;

                                                pattern[0].spec = &eth;



                                                // set the vlan to pass all packets

                                                pattern[1].type = RTE_FLOW_ITEM_TYPE_IPV4;

                                                pattern[1].spec = &ipv4;



                                                pattern[2].type = RTE_FLOW_ITEM_TYPE_GRE;

                                                pattern[2].spec = &gre;



                                                pattern[3].type = RTE_FLOW_ITEM_TYPE_ETH;

                                                pattern[3].spec = &eth2;



                                                // set the vlan to pass all packets

                                                pattern[4].type = RTE_FLOW_ITEM_TYPE_IPV4;

                                                pattern[4].spec = &ipv4_2;



                                                // set the vlan to pass all packets

                                                pattern[5].type = RTE_FLOW_ITEM_TYPE_UDP;

                                                pattern[5].spec = &udp;





                                                // end the pattern array

                                                pattern[6].type = RTE_FLOW_ITEM_TYPE_END;



                                                struct rte_flow_action_rss rss_conf;

                                                uint16_t queues[pi_nNumRxQueues];

                                                rss_conf.func = RTE_ETH_HASH_FUNCTION_DEFAULT;

                                                rss_conf.types = ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP;

                                                rss_conf.queue_num = pi_nNumRxQueues;

                                                for (int nqQueueIndex= 0; nqQueueIndex < pi_nNumRxQueues; nqQueueIndex++)

                                                         queues[nqQueueIndex] = nqQueueIndex;



                                                rss_conf.queue = queues;



                                                rss_conf.key_len = 0;

                                                rss_conf.key = NULL;

                                                rss_conf.level = 2;



                                                // create the drop action

                                                actions[0].type = RTE_FLOW_ACTION_TYPE_RSS;

                                                actions[0].conf = &rss_conf;

                                                actions[1].type = RTE_FLOW_ACTION_TYPE_END;





                                                // validate and create the flow rule

                                                if (rte_flow_validate(pi_nPort, &attr, pattern, actions, &error)==0)

                                                {

                                                                std::cout<<"Succeded to validate flow"<<std::endl;

                                                                flow = rte_flow_create(pi_nPort, &attr, pattern, actions, &error);

                                                                if(flow)

                                                                                std::cout<<"Succeded to create flow"<<std::endl;

                                                                else

                                                                                std::cout<<"Failed to create flow "<< error.type << " "<<(error.message ? error.message : "(no stated reason)")<<std::endl;

                                                }

                                                else

                                                                std::cout<<"Failed to validate flow"<<error.type << " "<<(error.message ? error.message : "(no stated reason)")<<std::endl;

                                }


This is the output I got


[root@localhost testReceiver]# ./testReceiver   --log-level='.*',8 -l 7,8-23   -w 0000:03:00.0

EAL: Detected lcore 0 as core 0 on socket 0

...

EAL: Detected lcore 63 as core 63 on socket 3

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

EAL: Detected 64 lcore(s)

EAL: Detected 4 NUMA nodes

EAL: Ask a virtual area of 0x5000 bytes

EAL: Virtual area found at 0x100000000 (size = 0x5000)

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket

EAL: VFIO PCI modules not loaded

EAL: Bus pci wants IOVA as 'DC'

EAL: Buses did not request a specific IOVA mode.

EAL: IOMMU is available, selecting IOVA as VA mode.

EAL: Module /sys/module/rte_kni not found! error 2 (No such file or directory)

EAL: Selected IOVA mode 'VA'

EAL: Probing VFIO support...

EAL:   IOMMU type 1 (Type 1) is supported

EAL:   IOMMU type 7 (sPAPR) is not supported

EAL:   IOMMU type 8 (No-IOMMU) is not supported

EAL: VFIO support initialized

EAL: Ask a virtual area of 0x2e000 bytes

EAL: Virtual area found at 0x100005000 (size = 0x2e000)

EAL: Setting up physically contiguous memory...

EAL: Setting maximum number of open files to 4096

EAL: Detected memory type: socket_id:0 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:1 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:2 hugepage_sz:1073741824

EAL: Detected memory type: socket_id:3 hugepage_sz:1073741824

EAL: Creating 4 segment lists: n_segs:32 socket_id:0 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x100033000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 0

...

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x1a00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:1 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x2200000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x2240000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x2a40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x2a80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x3280000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x32c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x3ac0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 1

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x3b00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:2 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x4300000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x4340000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x4b40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x4b80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x5380000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x53c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x5bc0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 2

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x5c00000000 (size = 0x800000000)

EAL: Creating 4 segment lists: n_segs:32 socket_id:3 hugepage_sz:1073741824

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x6400000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x6440000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x6c40000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x6c80000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x7480000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x74c0000000 (size = 0x800000000)

EAL: Ask a virtual area of 0x1000 bytes

EAL: Virtual area found at 0x7cc0000000 (size = 0x1000)

EAL: Memseg list allocated: 0x100000kB at socket 3

EAL: Ask a virtual area of 0x800000000 bytes

EAL: Virtual area found at 0x7d00000000 (size = 0x800000000)

EAL: TSC frequency is ~2000000 KHz

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

EAL: Trying to obtain current memory policy.

EAL: Setting policy MPOL_PREFERRED for socket 0

EAL: Restoring previous memory policy: 0

EAL: request: mp_malloc_sync

EAL: Heap on socket 0 was expanded by 1024MB

EAL: PCI device 0000:03:00.0 on NUMA socket 3

EAL:   probe driver: 15b3:1017 net_mlx5

EAL: Mem event callback 'MLX5_MEM_EVENT_CB:(nil)' registered

net_mlx5: checking device "mlx5_0"

net_mlx5: PCI information matches for device "mlx5_0"

net_mlx5: no E-Switch support detected

net_mlx5: naming Ethernet device "0000:03:00.0"

net_mlx5: DevX is supported

EAL: Trying to obtain current memory policy.

EAL: Setting policy MPOL_PREFERRED for socket 3

EAL: Restoring previous memory policy: 0

EAL: Calling mem event callback 'MLX5_MEM_EVENT_CB:(nil)'

EAL: request: mp_malloc_sync

EAL: Heap on socket 3 was expanded by 1024MB

net_mlx5: enhanced MPW is supported

net_mlx5: SWP support: 7

net_mlx5:       min_single_stride_log_num_of_bytes: 6

net_mlx5:       max_single_stride_log_num_of_bytes: 13

net_mlx5:       min_single_wqe_log_num_of_strides: 3

net_mlx5:       max_single_wqe_log_num_of_strides: 16

net_mlx5:       supported_qpts: 256

net_mlx5: device supports Multi-Packet RQ

net_mlx5: tunnel offloading is supported

net_mlx5: MPLS over GRE/UDP tunnel offloading is not supported

net_mlx5: checksum offloading is supported

net_mlx5: maximum Rx indirection table size is 512

net_mlx5: VLAN stripping is supported

net_mlx5: FCS stripping configuration is supported

net_mlx5: enhanced MPS is enabled

net_mlx5: port 0 MAC address is b8:83:03:8f:4e:f0

net_mlx5: port 0 MTU is 2040

net_mlx5: port 0 forcing Ethernet interface up

net_mlx5: Tx VLAN insertion is supported

net_mlx5: min tx inline configured: 0

net_mlx5: Hash list with mlx5_0_flow_table size 0x1000 is created.

net_mlx5: Hash list with mlx5_0_tags size 0x2000 is created.

net_mlx5: port 0 flow maximum priority: 5

net_mlx5: metadata mode 0

net_mlx5: metadata MARK mask 00FFFFFF

net_mlx5: metadata META mask FFFFFFFF

net_mlx5: metadata reg_c0 mask FFFFFFFF

net_mlx5: port 0 extensive metadata register is not supported

net_mlx5: DR drop action is not supported in root table.

net_mlx5: port 0 Tx queues number update: 0 -> 1

net_mlx5: port 0 Rx queues number update: 0 -> 4

net_mlx5: port 0 adapter MTU set to 2040

net_mlx5: port 0 configuring Rx queue 0 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 0 to list

net_mlx5: port 0 configuring Rx queue 1 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 1 to list

net_mlx5: port 0 configuring Rx queue 2 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 2 to list

net_mlx5: port 0 configuring Rx queue 3 for 512 descriptors

net_mlx5: port 0 maximum number of segments per packet: 1

net_mlx5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incoming frames to hide it

net_mlx5: port 0 adding Rx queue 3 to list

testReceiver.cpp 94

net_mlx5: port 0 configuring queue 0 for 512 descriptors

net_mlx5: port 0 adding Tx queue 0 to list

net_mlx5: port 0 starting device

net_mlx5: port 0 Rx queues number update: 4 -> 4

net_mlx5: port 0 Tx queue 0 allocated and configured 512 WRs

net_mlx5: port 0 Tx queue 0 TIS number 9 transport domain 2

net_mlx5: port 0: uar_mmap_offset 0x306000

net_mlx5: port 0 Rx queue 0 registering mp pool having 1 chunks

net_mlx5: port 0 creating a MR using address (0x15aa07e80)

net_mlx5: device mlx5_0 inserting MR(0x15a9f7e00) to global cache

net_mlx5: inserted B-tree(0x17ffdcb60)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: inserted B-tree(0x15aa0686c)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 0 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 0 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 1 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15aa03fec)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 1 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 1 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 2 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15aa0176c)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 2 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 2 updated with 0x7fffffffd578

net_mlx5: port 0 Rx queue 3 registering mp pool having 1 chunks

net_mlx5: inserted B-tree(0x15a9feeec)[1], [0x140000000, 0x180000000) lkey=0xa3c41800

net_mlx5: port 0 Rx queue 3 allocated and configured 512 segments (max 512 packets)

net_mlx5: port 0 device_attr.max_qp_wr is 32768

net_mlx5: port 0 device_attr.max_sge is 30

net_mlx5: port 0 rxq 3 updated with 0x7fffffffd578

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9c1480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cae00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd380: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9c1940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 7++

net_mlx5: port 0 has selected Tx function supporting offloads 0100/0100

net_mlx5:       EMPW  (Enhanced MPW)

net_mlx5: port 0 selected Rx vectorized function

net_mlx5: port 0 setting primary MAC address

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 8--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 7--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 6--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 5--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 3--

net_mlx5: port 0 matcher 0x15a9c1940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6940: removed

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6e00: removed

net_mlx5: port 0 matcher 0x15a9cd380: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd380: removed

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 3--

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cae00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cae00: removed

net_mlx5: port 0 matcher 0x15a9c1480: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1480: removed

net_mlx5: port 0 matcher 0x15a9c1940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1940: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9880: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d93c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9c1e00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9ca400: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9e2e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9e2e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9d9880: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 7++

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 8--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 7--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 4--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 6--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 5--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d9880: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2940: removed

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2e00: removed

net_mlx5: port 0 matcher 0x15a9ca400: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca400: removed

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 4--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 2--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9c1e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1e00: removed

net_mlx5: port 0 matcher 0x15a9d93c0: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d93c0: removed

net_mlx5: port 0 matcher 0x15a9d9880: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9880: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd880: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9cd3c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d9d40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1340: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9cd880: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 7++

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 8--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 7--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 6--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 5--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 3--

net_mlx5: port 0 matcher 0x15a9cd880: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d6940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6940: removed

net_mlx5: port 0 matcher 0x15a9d6e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d6e00: removed

net_mlx5: port 0 matcher 0x15a9c1340: refcnt 1--

net_mlx5: port 0 matcher 0x15a9c1340: removed

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 4--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 3--

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 2--

net_mlx5: port 0 matcher 0x15a9d9d40: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9d40: removed

net_mlx5: port 0 matcher 0x15a9cd3c0: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd3c0: removed

net_mlx5: port 0 matcher 0x15a9cd880: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cd880: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9ca940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9ca480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cdd40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9340: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9e2e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9e2e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9ca940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 7++

Succeeded to start port0

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 8--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 7--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 6--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 5--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 3--

net_mlx5: port 0 matcher 0x15a9ca940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 4--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 3--

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 2--

net_mlx5: port 0 matcher 0x15a9e2940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2940: removed

net_mlx5: port 0 matcher 0x15a9e2e00: refcnt 1--

net_mlx5: port 0 matcher 0x15a9e2e00: removed

net_mlx5: port 0 matcher 0x15a9d9340: refcnt 1--

net_mlx5: port 0 matcher 0x15a9d9340: removed

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 4--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 3--

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 2--

net_mlx5: port 0 matcher 0x15a9cdd40: refcnt 1--

net_mlx5: port 0 matcher 0x15a9cdd40: removed

net_mlx5: port 0 matcher 0x15a9ca480: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca480: removed

net_mlx5: port 0 matcher 0x15a9ca940: refcnt 1--

net_mlx5: port 0 matcher 0x15a9ca940: removed

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9c1940: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9c1480: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9cae00: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9cd380: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++

net_mlx5: NIC group 0 priority 14 new rx matcher 0x15a9d9680: refcnt 1

net_mlx5: NIC group 0 priority 13 new rx matcher 0x15a9d91c0: refcnt 1

net_mlx5: NIC group 0 priority 12 new rx matcher 0x15a9e2b40: refcnt 1

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d91c0: refcnt 1++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 3++

net_mlx5: NIC group 0 priority 14 use rx matcher 0x15a9cd380: refcnt 1++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 2++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 4++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 5++

net_mlx5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 3++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 6++

net_mlx5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 7++

Succeded to validate flow

net_mlx5: NIC group 0 priority 0 new rx matcher 0x15a9ee300: refcnt 1

Succeded to create flow


[-- Attachment #2: Type: text/html, Size: 167313 bytes --]

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

end of thread, other threads:[~2022-03-16  9:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-15 14:50 rte flow over gre Yaron Illouz
2022-03-16  9:18 ` Ori Kam
2022-03-16  9:25   ` Yaron Illouz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).