From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A9161A0032; Wed, 16 Mar 2022 10:18:44 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 864E0410EC; Wed, 16 Mar 2022 10:18:44 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2074.outbound.protection.outlook.com [40.107.94.74]) by mails.dpdk.org (Postfix) with ESMTP id F2F7540395 for ; Wed, 16 Mar 2022 10:18:41 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yi553Kw4nkvXe3wo3zAw+H94nW5uryhM0Fpro3jCladAIpwPvBc8lsAKeN/0ek45hkeP+O29t3uGxMUG5c8sVLXnjbh9rDAOjCM0jmCawmM8QyC6TYXthkFzOVhTPj22a1XsyRiEYyWV7iP/uGAxexw985ATy45e5M9gACoElXOaVam7cy3WhdpsbXjTYcSowTYl0r6O38tlWFCzBnC4tzmERPg4jWB/YW+evOUAQtIsSTGxD9pHf/2V+Pegd6X100qxaCihZ7MV25zd8zXziJ90M+QDWxLn7B7CTpV02k8iIkKizFqhwQGNOHR6XCpx2IVOeUfxFgzqsOwpV7Ra+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jYqPGuEWc2jfOnLi2Ewe0gW2Dl+pydvu65gnDA6lH2E=; b=h8Qdl+mAzKCHD/uq2or20D6udxt5Vox3iQzD34a5BXaJCxXTNLcbDIFXdxD/swICGGkBibGZOD7cG8q8NRdgtoXlZnlGB/NEavBWTWHmCWn4sH5vuRjt8B2b1Pni6WVOzGcfrCxZtCKBWLwILte+17SqZbMTtJp2yp6sV/93ByDs6RUGbCu2z1uHiAKhnlDr612j2UEphbxqdIi9Gs4HS3pCwq3N/0ck88CkFikPiQ10e3i15Ahdb2v2Ni/iIOdGFGM2VA0gTbOJf03NRFT0rFwA51QndepF34EQB1FW+sUMJ4Ynz3u1E/LUiJHegjI+KR7L0RegE1mp4RD87nRFrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jYqPGuEWc2jfOnLi2Ewe0gW2Dl+pydvu65gnDA6lH2E=; b=IjED1WXdDQ1IPjKq6hYtDUZkGL+193ao4N0DPwj5WdVCopTnp8Xo4oGDEaqGpaWTtsKoXBScEiVjIp6ivrgBHcr/XMuu7/CCCcB3y1mtJuaG2DBXZxOJI3tSYRE03QhCbCifP4YfuYM7PFn1wKFWskIXB+Uy4Coe5kYdNvMz9ZZ45XvNOKNaZJeZi3z1o2UXvUGRH32OvI1NjYaBAnrZq5joE/eXeKi3ARbT39NJzm/5WHWsxTsJkxtfJLUrz0tLWIfzQXn5816aASm5Cg8rKrFxw8oTsKvJUo1q/73eGlFLkV21oAoXoXKKjw6GnXI8/+ZS7fh63qbimhCy5OlzrA== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by BY5PR12MB4148.namprd12.prod.outlook.com (2603:10b6:a03:208::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.14; Wed, 16 Mar 2022 09:18:38 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::a19c:db22:1184:7bb]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::a19c:db22:1184:7bb%5]) with mapi id 15.20.5061.029; Wed, 16 Mar 2022 09:18:38 +0000 From: Ori Kam To: Yaron Illouz , "dev@dpdk.org" Subject: RE: rte flow over gre Thread-Topic: rte flow over gre Thread-Index: Adg4euvoM77oCfa7SeWeZaSH1mjrFQAmtvzQ Date: Wed, 16 Mar 2022 09:18:38 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 338a6d0c-a213-4f37-5328-08da072df4af x-ms-traffictypediagnostic: BY5PR12MB4148:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GdpfYDiOliYsthmJYq5XDTKFIYJ0D8LYG2BjryuXcIXy/20IWdQOzlMqt6jN5MWKmbgq/XZhAe2Xm4LL87kcdGEYv6Ec/RKXa6Ief6TUMXk5Oti9316sMfLgRNpajdMvWZtLGxWJXjBOgcyv/759hhWPhjLSl2L+RrO0ZBUpptDZQq8U2RtD4YzoBG0SuPOz/gcgS2JKo1ROHfT6m8V2DRXJmC5mX8Z8VzoGekhSU1wXOa9MWGvIm0v0gYv6k8POIx47VXGvt6gbGAFDyufV3SKHnH5Cxj6Nzci3ZJY5TslMCXkBLijo29rmH5lqlVoa9jZbzCvFkllcC9Bh9dITcDAPWc0o6QOdKa0PJH7XMyA/yyHj/PUanOwg7TL+L00kh2ZvQrm/IjBve9KwpfjIdRBVwg7a3tH9aBn+oArXrrkQ579bI8BW1j2EMHCprStlUxSQB89gISJ5ZbzIOLymN6vNGStUFtqeBIfZgVy/9EUQmlVTFwH8sBjsBUPP1p8xVUZv/ys8jT+nr/fMKQdAZ6EQMdsi+/n9nTeee9neun9qxGJ2mBiCtp3hzPnt/u4GaJVvhySweKi69am869mu63OeFE7sYuljcgrliTtc6PN6xAMPKYV6q4jE7VxZ5jFrBq2lbJaTmPLKsX0A0mQ/J28x8GvkOXN9psJIrXGzE5beXRGDRg7yewnOgXtUBdfYzJ8sa2fy2oNMk3RptpQzcFtqmu9LODahte08rXTCqiJNQ+PVBskuU5l1fA34zwNx0N1qpeHYrSQNufq/5paUjCQ2pQst6NlN0y5EH6hnsgM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(2906002)(71200400001)(76116006)(64756008)(66476007)(66446008)(66556008)(66946007)(30864003)(26005)(186003)(8676002)(3480700007)(38100700002)(9326002)(52536014)(8936002)(166002)(86362001)(53546011)(83380400001)(7696005)(110136005)(33656002)(6506007)(55016003)(966005)(122000001)(38070700005)(316002)(9686003)(508600001)(5660300002)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?1AFVgP0pDEERkNFjogZTQ6HjniNBAEH53NczoFmTvBKNUapkeFdlCRkd32ZF?= =?us-ascii?Q?bfVLOXkVQWizUvqNW6E1tV354fUvq+fWlftG0cc9npgXRyih2AZ7xh4ORYMC?= =?us-ascii?Q?gHWho4dCs20i5tRAxyG995hLQUH4H4kjYangU7Jwp0a6J9wy8ni5iTSHn/B4?= =?us-ascii?Q?WEvOv5fpSZURZbX7GpL08mzZE1N8eAquCTCSHc/0miU0fOZ9GaY5hROPYmya?= =?us-ascii?Q?kD25+n0I8gUTPqR3Pv983o/J1EhB8ZaKedIeK4oRXhOzXTiN+Acd6cx5Mr76?= =?us-ascii?Q?VFIVMAE2Ok/qUd2hCWgWYfFazilHMJMFJGhsJE5/EPZ2wcFyps4av9UDx98E?= =?us-ascii?Q?qpVWwd1aHafMm6bWEeza7dIx6+wzRzp8zK68BdeqPOl2wpWD5Iw0kl2loq+g?= =?us-ascii?Q?WngOwyPOVNxil1QhN+NC8cqMDAEr/5ZRUUKasU+al0G9bNMCepBzx3wbz9OD?= =?us-ascii?Q?NmXb6jUG5vYOkYQitp0ZG8CVAftE9Di0o1Zd5GvntarQMmxHvSInJVcnhbAH?= =?us-ascii?Q?U6zxg+K1isHKTe47/Wu8QoeEJPMAMg1YkkdfsUmzHdPy7JrRwOtpJzz4Uupn?= =?us-ascii?Q?4GO0PJP9u9zR7JFleL9+UPUuc/HJxToEAqt2SyN6EUQFQ3sfYmJ+YxCvppIL?= =?us-ascii?Q?YB+52KJ20VbxVALwXnVyw98OBrW5sE2qvZpCiE8K0RjiQ1xWxZcqBTdsNZ0I?= =?us-ascii?Q?SFz5v4Wdb5RqP01gM5qIyot2dEIh0xMBOBqSCjIyTusVOHVB6s6TyWVeRemy?= =?us-ascii?Q?IhnYvK5XALCL2iCAlLtTotj/DNQT2RxWDDDDh8wvO7YiGlYvG7y6eugOXkMK?= =?us-ascii?Q?Y3rQ3bVkWdgQ5GajyKKOF+YBFpt/7EKcp+mRmqwGfQrqxztdUdS/Lq2LRcFW?= =?us-ascii?Q?O1q4uiDHQlZokLj+se8l64QFYjn1eP7ImIAh4FAUsh2krdk5YdQMTHPauR0V?= =?us-ascii?Q?mqr6k8fc1EwOv2CCnqLFDfcwienS0/j7PZ5BdXtHktvo6G8M1KKxIdXqmgAS?= =?us-ascii?Q?uZRkdKjvBuJYLP0+xg5LHTgK2HvVxROeShhS56EhfA7JVDfnMMmCjH9ecz6s?= =?us-ascii?Q?zkW/ElRS2VMVN9WSAQcclhT3B3PcKv5Dc4qfGSdFyfZqXDz/itXdbeWQWerl?= =?us-ascii?Q?u0DmtnYWX77EEprKeysRnuXVJ+WN17akGVMCuyo7/R9AFi9zPwdDy2diKkeH?= =?us-ascii?Q?0ILKKvktiZ4bca+dZN/p4Z/Zw7PI5GVzcXPa2ckadB29fZh384HV5nP0rk5P?= =?us-ascii?Q?EDRPYZqm4U1AcXNSfc9DRyv0sIN38UaavVosxDWYpeOcjpJdV1E8sZ9W3PsE?= =?us-ascii?Q?sVkLqCjlcpzF04EfHzNMKSdYCcFjgRfs79Pxe87VQLVcOboXhbTyDYbZvHia?= =?us-ascii?Q?pof6U41AprlZBwYC/wmBR6XkjKuUyXLdwVo3ClUKBvEvVIpdgE8wY75k4MyI?= =?us-ascii?Q?odfDmFXwUDw=3D?= Content-Type: multipart/alternative; boundary="_000_MW2PR12MB4666A91C460476226B3D4A52D6119MW2PR12MB4666namp_" MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 338a6d0c-a213-4f37-5328-08da072df4af X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2022 09:18:38.5150 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ItEAdIdxGqDT/p6HwxHNXAbRbUiBU8+NU+waz6D3kyQqp+Gg1ZKXuj9tazTs4rNDhgWUAU7CdloYz6wM8rFHPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4148 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --_000_MW2PR12MB4666A91C460476226B3D4A52D6119MW2PR12MB4666namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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 =3D RTE_FLOW_ITEM_TYPE_ETH; pattern[0].spec =3D ð 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 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 wit= h 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 que= ues but all going to the same queue (and there are 5000 combination of ip+u= pd port in my trace), testpmd is complex and i don't know what i am doing w= rong testpmd --socket-mem=3D1024 --file-prefix=3D2 -l 7,8-23 -a0000:41:00.1,mprq= _en=3D1,rxqs_min_mprq=3D1,mprq_log_stride_num=3D9,txq_inline_mpw=3D128,rxq_= pkt_pad_en=3D1,rxq_cqe_comp_en=3D4 -- --port-numa-config=3D0,0 --socket-num= =3D0 --burst=3D128 --txd=3D8192 --rxd=3D8192 --mbcache=3D512 --rxq=3D16 --t= xq=3D16 --nb-cores=3D8 -a --forward-mode=3Dio --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-c= rooked.com/a/cdeefd58b08063be I run it with following command: ./testReceiver --log-level=3D'.*',8 -l 7,8= -23 -w 0000:03:00.0 Here is the rte flow create part const int MAX_PATTERN_IN_FL= OW =3D 10; const int MAX_ACTIONS_IN_FL= OW =3D 10; struct rte_flow_attr attr; struct rte_flow_item patter= n[MAX_PATTERN_IN_FLOW]; struct rte_flow_action acti= ons[MAX_ACTIONS_IN_FLOW]; struct rte_flow_item_eth et= h,eth2; struct rte_flow_item_ipv4 i= pv4,ipv4_2; struct rte_flow_item_gre gr= e; struct rte_flow_item_udp ud= p; struct rte_flow *flow; struct rte_flow_error error= ; memset(ð, 0, sizeof(eth)= ); memset(ð2, 0 ,sizeof(eth= 2)); memset(&ipv4, 0 ,sizeof(ipv= 4)); memset(&ipv4_2, 0, sizeof(ipv4_2)); memset(&gre, 0, sizeof(gre)= ); memset(&udp, 0, sizeof(udp)= ); memset(pattern, 0, sizeof(p= attern)); memset(actions, 0, sizeof(a= ctions)); memset(&attr, 0, sizeof(str= uct rte_flow_attr)); attr.ingress =3D 1; // setting the eth to pass = all packets pattern[0].type =3D RTE_FLO= W_ITEM_TYPE_ETH; pattern[0].spec =3D ð // set the vlan to pass all= packets pattern[1].type =3D RTE_FLO= W_ITEM_TYPE_IPV4; pattern[1].spec =3D &ipv4; pattern[2].type =3D RTE_FLO= W_ITEM_TYPE_GRE; pattern[2].spec =3D &gre; pattern[3].type =3D RTE_FLO= W_ITEM_TYPE_ETH; pattern[3].spec =3D ð2; // set the vlan to pass all= packets pattern[4].type =3D RTE_FLO= W_ITEM_TYPE_IPV4; pattern[4].spec =3D &ipv4_2= ; // set the vlan to pass all= packets pattern[5].type =3D RTE_FLO= W_ITEM_TYPE_UDP; pattern[5].spec =3D &udp; // end the pattern array pattern[6].type =3D RTE_FLO= W_ITEM_TYPE_END; struct rte_flow_action_rss = rss_conf; uint16_t queues[pi_nNumRxQu= eues]; rss_conf.func =3D RTE_ETH_H= ASH_FUNCTION_DEFAULT; rss_conf.types =3D ETH_RSS_= IP | ETH_RSS_UDP | ETH_RSS_TCP; rss_conf.queue_num =3D pi_n= NumRxQueues; for (int nqQueueIndex=3D 0;= nqQueueIndex < pi_nNumRxQueues; nqQueueIndex++) queues[nqQueueInde= x] =3D nqQueueIndex; rss_conf.queue =3D queues; rss_conf.key_len =3D 0; rss_conf.key =3D NULL; rss_conf.level =3D 2; // create the drop action actions[0].type =3D RTE_FLO= W_ACTION_TYPE_RSS; actions[0].conf =3D &rss_co= nf; actions[1].type =3D RTE_FLO= W_ACTION_TYPE_END; // validate and create the = flow rule if (rte_flow_validate(pi_nP= ort, &attr, pattern, actions, &error)=3D=3D0) { std::cout<<= "Succeded to validate flow"< 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= =3D0xa3c41800 net_mlx5: inserted B-tree(0x15aa0686c)[1], [0x140000000, 0x180000000) lkey= =3D0xa3c41800 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= =3D0xa3c41800 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= =3D0xa3c41800 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= =3D0xa3c41800 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 --_000_MW2PR12MB4666A91C460476226B3D4A52D6119MW2PR12MB4666namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

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 =3D RTE_FLOW_ITEM_TYPE_ETH;

  =             pat= tern[0].spec =3D &eth;

Since the ma= sk is NULL, it means that the PMD will use the default mask for that item.<= o:p>

As a result,= no traffic will hit this rule.

 <= /o:p>

The solution= is one of the following:

  1. Add empty mask f= or each item.
  2. Set the spec to = be null.

 <= /o:p>

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 usi= ng 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 r= x queues

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

 

testpmd --socket-mem=3D1024 --file-prefix=3D2 -l 7,8-23 -a0000:41:00.= 1,mprq_en=3D1,rxqs_min_mprq=3D1,mprq_log_stride_num=3D9,txq_inline_mpw=3D12= 8,rxq_pkt_pad_en=3D1,rxq_cqe_comp_en=3D4 -- --port-numa-config=3D0,0 --socket-num=3D0 --burst=3D128 --txd=3D8192 --= rxd=3D8192 --mbcache=3D512 --rxq=3D16 --txq=3D16 --nb-cores=3D8 -a --forwar= d-mode=3Dio --numa --rss-udp --enable-rx-cksum --no-mlockall --no-lsc-inter= rupt -i

 ethtool -i en=
s2
driver:=
 mlx5_core
version=
: 5.5-1.0.3
firmwar=
e-version: 16.31.1014 (HPE0000000014)
expansi=
on-rom-version:
bus-inf=
o: 0000:03:00.0
support=
s-statistics: yes
support=
s-test: yes
support=
s-eeprom-access: no
support=
s-register-dump: no
support=
s-priv-flags: yes

 

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

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

Here is = the rte flow create part

  =             &nb= sp;            =             &nb= sp;        const int MAX_PATTERN_IN_FLOW= =3D 10;

  =             &nb= sp;            =             &nb= sp;        const int MAX_ACTIONS_IN_FLOW= =3D 10;

  =             &nb= sp;            =             &nb= sp;       

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_attr attr;

  =             &nb= sp;            =             &nb= sp;       

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_item pattern[= MAX_PATTERN_IN_FLOW];

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_action action= s[MAX_ACTIONS_IN_FLOW];

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_item_eth eth,= eth2;

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_item_ipv4 ipv= 4,ipv4_2;

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_item_gre gre;=

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_item_udp udp;=

  =             &nb= sp;            =             &nb= sp;        struct rte_flow *flow;

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_error error;<= o:p>

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        memset(&eth, 0, sizeof(et= h));

  =             &nb= sp;            =             &nb= sp;        memset(&eth2, 0 ,sizeof(e= th2));

  =             &nb= sp;            =             &nb= sp;        memset(&ipv4, 0 ,sizeof(i= pv4));

&n= bsp;            &nbs= p;memset(&ipv4_2, 0, sizeof(ipv4_2));

   = ;             &= nbsp;           &nbs= p;            &= nbsp;      memset(&gre, 0, sizeof(gre));<= /o:p>

   = ;            &n= bsp;            = ;            &n= bsp;       memset(&udp, 0, sizeof(udp));<= o:p>

 <= /o:p>

 <= /o:p>

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        memset(pattern, 0, sizeof(pat= tern));

  =             &nb= sp;            =             &nb= sp;        memset(actions, 0, sizeof(act= ions));

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        memset(&attr, 0, sizeof(s= truct rte_flow_attr));

  =             &nb= sp;            =             &nb= sp;        attr.ingress =3D 1;

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        // setting the eth to pass al= l packets

  =             &nb= sp;            =             &nb= sp;        pattern[0].type =3D RTE_FLOW_= ITEM_TYPE_ETH;

  =             &nb= sp;            =             &nb= sp;        pattern[0].spec =3D &eth;=

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        // set the vlan to pass all p= ackets

  =             &nb= sp;            =             &nb= sp;        pattern[1].type =3D RTE_FLOW_= ITEM_TYPE_IPV4;

  =             &nb= sp;            =             &nb= sp;        pattern[1].spec =3D &ipv4= ;

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        pattern[2].type =3D RTE_FLOW_= ITEM_TYPE_GRE;

  =             &nb= sp;            =             &nb= sp;        pattern[2].spec =3D &gre;=

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        pattern[3].type =3D RTE_FLOW_= ITEM_TYPE_ETH;

  =             &nb= sp;            =             &nb= sp;        pattern[3].spec =3D &eth2= ;

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        // set the vlan to pass all p= ackets

  =             &nb= sp;            =             &nb= sp;        pattern[4].type =3D RTE_FLOW_= ITEM_TYPE_IPV4;

  =             &nb= sp;            =             &nb= sp;        pattern[4].spec =3D &ipv4= _2;

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        // set the vlan to pass all p= ackets

  =             &nb= sp;            =             &nb= sp;        pattern[5].type =3D RTE_FLOW_= ITEM_TYPE_UDP;

  =             &nb= sp;            =             &nb= sp;        pattern[5].spec =3D &udp;=

 <= /o:p>

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        // end the pattern array

  =             &nb= sp;            =             &nb= sp;        pattern[6].type =3D RTE_FLOW_= ITEM_TYPE_END;

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        struct rte_flow_action_rss rs= s_conf;

  =             &nb= sp;            =             &nb= sp;        uint16_t queues[pi_nNumRxQueues];

=             &nb= sp;            =             &nb= sp;          rss_conf.func =3D RTE_ETH_HASH_FUNCTION_DEFAULT;

  =             &nb= sp;            =             &nb= sp;        rss_conf.types =3D ETH_RSS_IP= | ETH_RSS_UDP | ETH_RSS_TCP;

  =             &nb= sp;            =             &nb= sp;        rss_conf.queue_num =3D pi_nNumRxQueues;<= /p>

=             &nb= sp;            =             &nb= sp;          for (int nqQueueI= ndex=3D 0; nqQueueIndex < pi_nNumRxQueues; nqQueueIndex++)

=             &nb= sp;             = ;            &n= bsp;            &nbs= p;     queues[nqQueueIndex] =3D nqQueueIndex;

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        rss_conf.queue =3D queues;

  =             &nb= sp;            =             &nb= sp;       

  =             &nb= sp;            =             &nb= sp;        rss_conf.key_len =3D 0;<= /o:p>

  =             &nb= sp;            =             &nb= sp;        rss_conf.key =3D NULL;

  =             &nb= sp;            =             &nb= sp;        rss_conf.level =3D 2;

 <= /o:p>

  =             &nb= sp;            =             &nb= sp;        // create the drop action

  =             &nb= sp;            =             &nb= sp;        actions[0].type =3D RTE_FLOW_= ACTION_TYPE_RSS;

  =             &nb= sp;            =             &nb= sp;        actions[0].conf =3D &rss_= conf;

  =             &nb= sp;            =             &nb= sp;        actions[1].type =3D RTE_FLOW_= ACTION_TYPE_END;

 <= /o:p>

  =             &nb= sp;             = ;   

  =             &nb= sp;            =             &nb= sp;        // validate and create the fl= ow rule

  =             &nb= sp;            =             &nb= sp;        if (rte_flow_validate(pi_nPor= t, &attr, pattern, actions, &error)=3D=3D0)

  =             &nb= sp;            =             &nb= sp;        {

  =             &nb= sp;            =             &nb= sp;            =             std::cou= t<<"Succeded to validate flow"<<std::endl;=

  =             &nb= sp;            =             &nb= sp;            =             flow =3D= rte_flow_create(pi_nPort, &attr, pattern, actions, &error);

  =             &nb= sp;            =             &nb= sp;            =             if(flow)=

  =             &nb= sp;            =             &nb= sp;            =             &nb= sp;            =    std::cout<<"Succeded to create flow"<<st= d::endl;

  =             &nb= sp;            =             &nb= sp;            =             else

  =             &nb= sp;            =             &nb= sp;            =             &nb= sp;            =    std::cout<<"Failed to create flow "<< er= ror.type << " "<<(error.message ? error.message : "(no s= tated reason)")<<std::endl;

  =             &nb= sp;            =             &nb= sp;        }

  =             &nb= sp;            =             &nb= sp;        else

  =             &nb= sp;            =             &nb= sp;            =             std::cou= t<<"Failed to validate flow"<<error.type << &qu= ot; "<<(error.message ? error.message : "(no stated reason)")<<std::endl;

  =             &nb= sp;            =      }

&nb= sp;

This is the output I got

 

[root@l=
ocalhost testReceiver]# ./testReceiver   --log-level=3D'.*',8 -l =
7,8-23   -w 0000:03:00.0
EAL: De=
tected lcore 0 as core 0 on socket 0
...
EAL: De=
tected lcore 63 as core 63 on socket 3
EAL: Su=
pport maximum 128 logical core(s) by configuration.
EAL: De=
tected 64 lcore(s)
EAL: De=
tected 4 NUMA nodes
EAL: As=
k a virtual area of 0x5000 bytes
EAL: Vi=
rtual area found at 0x100000000 (size =3D 0x5000)<=
/pre>
EAL: Mu=
lti-process socket /var/run/dpdk/rte/mp_socket
EAL: VF=
IO PCI modules not loaded
EAL: Bu=
s pci wants IOVA as 'DC'
EAL: Bu=
ses did not request a specific IOVA mode.
EAL: IO=
MMU is available, selecting IOVA as VA mode.
EAL: Mo=
dule /sys/module/rte_kni not found! error 2 (No such file or directory)
EAL: Se=
lected IOVA mode 'VA'
EAL: Pr=
obing VFIO support...
EAL:&nb=
sp;  IOMMU type 1 (Type 1) is supported
EAL:&nb=
sp;  IOMMU type 7 (sPAPR) is not supported
EAL:&nb=
sp;  IOMMU type 8 (No-IOMMU) is not supported=
EAL: VF=
IO support initialized
EAL: As=
k a virtual area of 0x2e000 bytes
EAL: Vi=
rtual area found at 0x100005000 (size =3D 0x2e000)=
EAL: Se=
tting up physically contiguous memory...
EAL: Se=
tting maximum number of open files to 4096
EAL: De=
tected memory type: socket_id:0 hugepage_sz:1073741824
EAL: De=
tected memory type: socket_id:1 hugepage_sz:1073741824
EAL: De=
tected memory type: socket_id:2 hugepage_sz:1073741824
EAL: De=
tected memory type: socket_id:3 hugepage_sz:1073741824
EAL: Cr=
eating 4 segment lists: n_segs:32 socket_id:0 hugepage_sz:1073741824
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x100033000 (size =3D 0x1000)<=
/pre>
EAL: Me=
mseg list allocated: 0x100000kB at socket 0
...
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x1a00000000 (size =3D 0x800000000)
EAL: Cr=
eating 4 segment lists: n_segs:32 socket_id:1 hugepage_sz:1073741824
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x2200000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 1
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x2240000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x2a40000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 1
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x2a80000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x3280000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 1
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x32c0000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x3ac0000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 1
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x3b00000000 (size =3D 0x800000000)
EAL: Cr=
eating 4 segment lists: n_segs:32 socket_id:2 hugepage_sz:1073741824
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x4300000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 2
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x4340000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x4b40000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 2
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x4b80000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x5380000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 2
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x53c0000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x5bc0000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 2
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x5c00000000 (size =3D 0x800000000)
EAL: Cr=
eating 4 segment lists: n_segs:32 socket_id:3 hugepage_sz:1073741824
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x6400000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 3
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x6440000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x6c40000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 3
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x6c80000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x7480000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 3
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x74c0000000 (size =3D 0x800000000)
EAL: As=
k a virtual area of 0x1000 bytes
EAL: Vi=
rtual area found at 0x7cc0000000 (size =3D 0x1000)=
EAL: Me=
mseg list allocated: 0x100000kB at socket 3
EAL: As=
k a virtual area of 0x800000000 bytes
EAL: Vi=
rtual area found at 0x7d00000000 (size =3D 0x800000000)
EAL: TS=
C frequency is ~2000000 KHz
EAL: Ma=
ster lcore 7 is ready (tid=3D7ffff7fe7900;cpuset=3D[7])
EAL: lc=
ore 13 is ready (tid=3D7ffff247a700;cpuset=3D[13])=
EAL: lc=
ore 18 is ready (tid=3D7fffefc75700;cpuset=3D[18])=
EAL: lc=
ore 21 is ready (tid=3D7fffee472700;cpuset=3D[21])=
EAL: lc=
ore 10 is ready (tid=3D7ffff3c7d700;cpuset=3D[10])=
EAL: lc=
ore 11 is ready (tid=3D7ffff347c700;cpuset=3D[11])=
EAL: lc=
ore 8 is ready (tid=3D7ffff4c7f700;cpuset=3D[8])
EAL: lc=
ore 22 is ready (tid=3D7fffedc71700;cpuset=3D[22])=
EAL: lc=
ore 23 is ready (tid=3D7fffed470700;cpuset=3D[23])=
EAL: lc=
ore 19 is ready (tid=3D7fffef474700;cpuset=3D[19])=
EAL: lc=
ore 14 is ready (tid=3D7ffff1c79700;cpuset=3D[14])=
EAL: lc=
ore 12 is ready (tid=3D7ffff2c7b700;cpuset=3D[12])=
EAL: lc=
ore 15 is ready (tid=3D7ffff1478700;cpuset=3D[15])=
EAL: lc=
ore 17 is ready (tid=3D7ffff0476700;cpuset=3D[17])=
EAL: lc=
ore 16 is ready (tid=3D7ffff0c77700;cpuset=3D[16])=
EAL: lc=
ore 9 is ready (tid=3D7ffff447e700;cpuset=3D[9])
EAL: lc=
ore 20 is ready (tid=3D7fffeec73700;cpuset=3D[20])=
EAL: Tr=
ying to obtain current memory policy.
EAL: Se=
tting policy MPOL_PREFERRED for socket 0
EAL: Re=
storing previous memory policy: 0
EAL: re=
quest: mp_malloc_sync
EAL: He=
ap on socket 0 was expanded by 1024MB
EAL: PC=
I device 0000:03:00.0 on NUMA socket 3
EAL:&nb=
sp;  probe driver: 15b3:1017 net_mlx5
EAL: Me=
m event callback 'MLX5_MEM_EVENT_CB:(nil)' registered
net_mlx=
5: checking device "mlx5_0"
net_mlx=
5: PCI information matches for device "mlx5_0"<=
/code>
net_mlx=
5: no E-Switch support detected
net_mlx=
5: naming Ethernet device "0000:03:00.0"=
net_mlx=
5: DevX is supported
EAL: Tr=
ying to obtain current memory policy.
EAL: Se=
tting policy MPOL_PREFERRED for socket 3
EAL: Re=
storing previous memory policy: 0
EAL: Ca=
lling mem event callback 'MLX5_MEM_EVENT_CB:(nil)'=
EAL: re=
quest: mp_malloc_sync
EAL: He=
ap on socket 3 was expanded by 1024MB
net_mlx=
5: enhanced MPW is supported
net_mlx=
5: SWP support: 7
net_mlx=
5:       min_single_stride_log_num_of_bytes: =
6
net_mlx=
5:       max_single_stride_log_num_of_bytes: =
13
net_mlx=
5:       min_single_wqe_log_num_of_strides: 3=
net_mlx=
5:       max_single_wqe_log_num_of_strides: 1=
6
net_mlx=
5:       supported_qpts: 256
net_mlx=
5: device supports Multi-Packet RQ
net_mlx=
5: tunnel offloading is supported
net_mlx=
5: MPLS over GRE/UDP tunnel offloading is not supported
net_mlx=
5: checksum offloading is supported
net_mlx=
5: maximum Rx indirection table size is 512
net_mlx=
5: VLAN stripping is supported
net_mlx=
5: FCS stripping configuration is supported
net_mlx=
5: enhanced MPS is enabled
net_mlx=
5: port 0 MAC address is b8:83:03:8f:4e:f0
net_mlx=
5: port 0 MTU is 2040
net_mlx=
5: port 0 forcing Ethernet interface up
net_mlx=
5: Tx VLAN insertion is supported
net_mlx=
5: min tx inline configured: 0
net_mlx=
5: Hash list with mlx5_0_flow_table size 0x1000 is created.
net_mlx=
5: Hash list with mlx5_0_tags size 0x2000 is created.
net_mlx=
5: port 0 flow maximum priority: 5
net_mlx=
5: metadata mode 0
net_mlx=
5: metadata MARK mask 00FFFFFF
net_mlx=
5: metadata META mask FFFFFFFF
net_mlx=
5: metadata reg_c0 mask FFFFFFFF
net_mlx=
5: port 0 extensive metadata register is not supported
net_mlx=
5: DR drop action is not supported in root table.<=
/pre>
net_mlx=
5: port 0 Tx queues number update: 0 -> 1
net_mlx=
5: port 0 Rx queues number update: 0 -> 4
net_mlx=
5: port 0 adapter MTU set to 2040
net_mlx=
5: port 0 configuring Rx queue 0 for 512 descriptors
net_mlx=
5: port 0 maximum number of segments per packet: 1=
net_mlx=
5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incomi=
ng frames to hide it
net_mlx=
5: port 0 adding Rx queue 0 to list
net_mlx=
5: port 0 configuring Rx queue 1 for 512 descriptors
net_mlx=
5: port 0 maximum number of segments per packet: 1=
net_mlx=
5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incomi=
ng frames to hide it
net_mlx=
5: port 0 adding Rx queue 1 to list
net_mlx=
5: port 0 configuring Rx queue 2 for 512 descriptors
net_mlx=
5: port 0 maximum number of segments per packet: 1=
net_mlx=
5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incomi=
ng frames to hide it
net_mlx=
5: port 0 adding Rx queue 2 to list
net_mlx=
5: port 0 configuring Rx queue 3 for 512 descriptors
net_mlx=
5: port 0 maximum number of segments per packet: 1=
net_mlx=
5: port 0 CRC stripping is disabled, 4 bytes will be subtracted from incomi=
ng frames to hide it
net_mlx=
5: port 0 adding Rx queue 3 to list
testRec=
eiver.cpp 94
net_mlx=
5: port 0 configuring queue 0 for 512 descriptors<=
/pre>
net_mlx=
5: port 0 adding Tx queue 0 to list
net_mlx=
5: port 0 starting device
net_mlx=
5: port 0 Rx queues number update: 4 -> 4
net_mlx=
5: port 0 Tx queue 0 allocated and configured 512 WRs
net_mlx=
5: port 0 Tx queue 0 TIS number 9 transport domain 2
net_mlx=
5: port 0: uar_mmap_offset 0x306000
net_mlx=
5: port 0 Rx queue 0 registering mp pool having 1 chunks<=
/code>
net_mlx=
5: port 0 creating a MR using address (0x15aa07e80)
net_mlx=
5: device mlx5_0 inserting MR(0x15a9f7e00) to global cache
net_mlx=
5: inserted B-tree(0x17ffdcb60)[1], [0x140000000, 0x180000000) lkey=3D0xa3c=
41800
net_mlx=
5: inserted B-tree(0x15aa0686c)[1], [0x140000000, 0x180000000) lkey=3D0xa3c=
41800
net_mlx=
5: port 0 Rx queue 0 allocated and configured 512 segments (max 512 packets=
)
net_mlx=
5: port 0 device_attr.max_qp_wr is 32768
net_mlx=
5: port 0 device_attr.max_sge is 30
net_mlx=
5: port 0 rxq 0 updated with 0x7fffffffd578
net_mlx=
5: port 0 Rx queue 1 registering mp pool having 1 chunks<=
/code>
net_mlx=
5: inserted B-tree(0x15aa03fec)[1], [0x140000000, 0x180000000) lkey=3D0xa3c=
41800
net_mlx=
5: port 0 Rx queue 1 allocated and configured 512 segments (max 512 packets=
)
net_mlx=
5: port 0 device_attr.max_qp_wr is 32768
net_mlx=
5: port 0 device_attr.max_sge is 30
net_mlx=
5: port 0 rxq 1 updated with 0x7fffffffd578
net_mlx=
5: port 0 Rx queue 2 registering mp pool having 1 chunks<=
/code>
net_mlx=
5: inserted B-tree(0x15aa0176c)[1], [0x140000000, 0x180000000) lkey=3D0xa3c=
41800
net_mlx=
5: port 0 Rx queue 2 allocated and configured 512 segments (max 512 packets=
)
net_mlx=
5: port 0 device_attr.max_qp_wr is 32768
net_mlx=
5: port 0 device_attr.max_sge is 30
net_mlx=
5: port 0 rxq 2 updated with 0x7fffffffd578
net_mlx=
5: port 0 Rx queue 3 registering mp pool having 1 chunks<=
/code>
net_mlx=
5: inserted B-tree(0x15a9feeec)[1], [0x140000000, 0x180000000) lkey=3D0xa3c=
41800
net_mlx=
5: port 0 Rx queue 3 allocated and configured 512 segments (max 512 packets=
)
net_mlx=
5: port 0 device_attr.max_qp_wr is 32768
net_mlx=
5: port 0 device_attr.max_sge is 30
net_mlx=
5: port 0 rxq 3 updated with 0x7fffffffd578
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9c1940: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9c1480: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9cae00: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9cd380: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 use rx matcher 0x15a9c1940: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 4++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 5++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 3++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 6++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 7++
net_mlx=
5: port 0 has selected Tx function supporting offloads 0100/0100=
net_mlx=
5:       EMPW  (Enhanced MPW)=
net_mlx=
5: port 0 selected Rx vectorized function
net_mlx=
5: port 0 setting primary MAC address
net_mlx=
5: port 0 matcher 0x15a9cae00: refcnt 8--
net_mlx=
5: port 0 matcher 0x15a9cae00: refcnt 7--
net_mlx=
5: port 0 matcher 0x15a9c1480: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9cae00: refcnt 6--
net_mlx=
5: port 0 matcher 0x15a9cae00: refcnt 5--
net_mlx=
5: port 0 matcher 0x15a9c1480: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9c1940: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9d6940: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9d6940: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9d6e00: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9d6940: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9d6940: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9d6940: removed
net_mlx=
5: port 0 matcher 0x15a9d6e00: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9d6e00: removed
net_mlx=
5: port 0 matcher 0x15a9cd380: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9cd380: removed
net_mlx=
5: port 0 matcher 0x15a9cae00: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9cae00: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9c1480: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9cae00: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9cae00: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9cae00: removed
net_mlx=
5: port 0 matcher 0x15a9c1480: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9c1480: removed
net_mlx=
5: port 0 matcher 0x15a9c1940: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9c1940: removed
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9d9880: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9d93c0: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9c1e00: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9ca400: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9e2e00: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9e2940: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9e2e00: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 use rx matcher 0x15a9d9880: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 4++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 5++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d93c0: refcnt 3++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 6++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9c1e00: refcnt 7++
net_mlx=
5: port 0 matcher 0x15a9c1e00: refcnt 8--
net_mlx=
5: port 0 matcher 0x15a9c1e00: refcnt 7--
net_mlx=
5: port 0 matcher 0x15a9d93c0: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9c1e00: refcnt 6--
net_mlx=
5: port 0 matcher 0x15a9c1e00: refcnt 5--
net_mlx=
5: port 0 matcher 0x15a9d93c0: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9d9880: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9e2940: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9e2940: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9e2e00: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9e2940: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9e2940: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9e2940: removed
net_mlx=
5: port 0 matcher 0x15a9e2e00: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9e2e00: removed
net_mlx=
5: port 0 matcher 0x15a9ca400: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9ca400: removed
net_mlx=
5: port 0 matcher 0x15a9c1e00: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9c1e00: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9d93c0: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9c1e00: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9c1e00: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9c1e00: removed
net_mlx=
5: port 0 matcher 0x15a9d93c0: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9d93c0: removed
net_mlx=
5: port 0 matcher 0x15a9d9880: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9d9880: removed
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9cd880: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9cd3c0: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9d9d40: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9c1340: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 use rx matcher 0x15a9cd880: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 4++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 5++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9cd3c0: refcnt 3++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 6++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d9d40: refcnt 7++
net_mlx=
5: port 0 matcher 0x15a9d9d40: refcnt 8--
net_mlx=
5: port 0 matcher 0x15a9d9d40: refcnt 7--
net_mlx=
5: port 0 matcher 0x15a9cd3c0: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9d9d40: refcnt 6--
net_mlx=
5: port 0 matcher 0x15a9d9d40: refcnt 5--
net_mlx=
5: port 0 matcher 0x15a9cd3c0: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9cd880: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9d6940: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9d6940: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9d6e00: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9d6940: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9d6940: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9d6940: removed
net_mlx=
5: port 0 matcher 0x15a9d6e00: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9d6e00: removed
net_mlx=
5: port 0 matcher 0x15a9c1340: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9c1340: removed
net_mlx=
5: port 0 matcher 0x15a9d9d40: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9d9d40: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9cd3c0: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9d9d40: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9d9d40: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9d9d40: removed
net_mlx=
5: port 0 matcher 0x15a9cd3c0: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9cd3c0: removed
net_mlx=
5: port 0 matcher 0x15a9cd880: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9cd880: removed
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9ca940: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9ca480: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9cdd40: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9d9340: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9e2e00: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9e2940: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9e2e00: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2940: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 use rx matcher 0x15a9ca940: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 4++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 5++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9ca480: refcnt 3++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 6++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cdd40: refcnt 7++
Succeed=
ed to start port0
net_mlx=
5: port 0 matcher 0x15a9cdd40: refcnt 8--
net_mlx=
5: port 0 matcher 0x15a9cdd40: refcnt 7--
net_mlx=
5: port 0 matcher 0x15a9ca480: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9cdd40: refcnt 6--
net_mlx=
5: port 0 matcher 0x15a9cdd40: refcnt 5--
net_mlx=
5: port 0 matcher 0x15a9ca480: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9ca940: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9e2940: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9e2940: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9e2e00: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9e2940: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9e2940: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9e2940: removed
net_mlx=
5: port 0 matcher 0x15a9e2e00: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9e2e00: removed
net_mlx=
5: port 0 matcher 0x15a9d9340: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9d9340: removed
net_mlx=
5: port 0 matcher 0x15a9cdd40: refcnt 4--
net_mlx=
5: port 0 matcher 0x15a9cdd40: refcnt 3--
net_mlx=
5: port 0 matcher 0x15a9ca480: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9cdd40: refcnt 2--
net_mlx=
5: port 0 matcher 0x15a9cdd40: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9cdd40: removed
net_mlx=
5: port 0 matcher 0x15a9ca480: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9ca480: removed
net_mlx=
5: port 0 matcher 0x15a9ca940: refcnt 1--
net_mlx=
5: port 0 matcher 0x15a9ca940: removed
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9c1940: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9c1480: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9cae00: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9c1480: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9cae00: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9cd380: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9d6e00: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9d6940: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 new rx matcher 0x15a9d9680: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 13 new rx matcher 0x15a9d91c0: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 new rx matcher 0x15a9e2b40: refcnt 1<=
/span>
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d91c0: refcnt 1++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9e2b40: refcnt 3++
net_mlx=
5: NIC group 0 priority 14 use rx matcher 0x15a9cd380: refcnt 1++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 2++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 4++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 5++
net_mlx=
5: NIC group 0 priority 13 use rx matcher 0x15a9d6e00: refcnt 3++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 6++
net_mlx=
5: NIC group 0 priority 12 use rx matcher 0x15a9d6940: refcnt 7++
Succede=
d to validate flow
net_mlx=
5: NIC group 0 priority 0 new rx matcher 0x15a9ee300: refcnt 1
Succede=
d to create flow

 

--_000_MW2PR12MB4666A91C460476226B3D4A52D6119MW2PR12MB4666namp_--