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 0DD6DA0C43; Wed, 15 Sep 2021 05:28:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3477A410F6; Wed, 15 Sep 2021 05:28:25 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 6CB5B4003C for ; Wed, 15 Sep 2021 05:28:23 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10107"; a="244559090" X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="244559090" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2021 20:28:05 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="609940333" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga001.fm.intel.com with ESMTP; 14 Sep 2021 20:28:05 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 14 Sep 2021 20:28:05 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 14 Sep 2021 20:28:05 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.102) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 14 Sep 2021 20:28:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FVaGUMo7s0ZaNED9k6fyTyXTQZMinJs8sG31yxlC9WLDfot6czSiZWAtjbSjmDMJ+KXaBhQE/bnpMztsH8HmMcUt/Rl+zh7wI8EqAs615x8nPnHQKuvQa9aCWZH/E3driGTHyCFxLUAL5tTdryLYYc0SjMzSn8LZzX4yrZ1D9rpQOw+dagm0cEm0ka5rHI5T5dzrTfFvsCFesvAfI+GTNMRYqg5LXbKBolz0/kSKdnTnqSrXpRg/thzVGUNieHo9gXl2aew8askZkjhW0y8AIIZlodf8+LdSESeEROfeMa0JWnhZ0CSpJpAMo0KSAwUNmV4ixLK6hASsR8Z1+wLn9A== 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; bh=MHO/cGgHU3WaXEJXxWTsQXomY3t4MGUNOcGznt5Aczo=; b=PAkilkNsV4ZHnBXsf+/lszqaIH+bhRigHtdb2nipXuhQAS10La5uaH3zGF8a8x483eZUGXgTUjp5PR4+tDeEijIlBMTuMJMHuSbqM8Qh635D3m6oqsRT6hW9slQEuACOmYoOy4Adf8nP6RMrY9QgMeTizAT2d8/pPRj0YV99ZPjpPadCBE2NtcMGohuXoPjxzGCXw+22aXu6hkDlFDjhieHvYwAvTNX63gp1cvHFnTCd1s7az9Fgcj4On/a9zeAdQ9RjCGacFLczvcF6Bsn0OolcwqMpa0b7IjXor88pQDb2aPEDiGXjW5UbCj3bW8OJ0mCtlvBUJnjEVdHo+yDJCA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MHO/cGgHU3WaXEJXxWTsQXomY3t4MGUNOcGznt5Aczo=; b=WIhcixlS1UlX8y+SHRcVbz4tAF849dx98PfQxBpP3vrEkt5RUmT6O15uGgPlHk48R03keWgF1zCcmGXgSMcnDGvpg6Ba4gkSlqoMSDad/wzTXmM9bu3wYZzA3Bm8v0X+JjFsVhzu3wtvSDnLXf3esZ1W9697dl1P1kkFZpZXVdQ= Received: from BN7PR11MB2658.namprd11.prod.outlook.com (2603:10b6:406:ae::16) by BN6PR11MB4083.namprd11.prod.outlook.com (2603:10b6:405:7a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.16; Wed, 15 Sep 2021 03:28:04 +0000 Received: from BN7PR11MB2658.namprd11.prod.outlook.com ([fe80::dc53:d62d:2e6:2ee9]) by BN7PR11MB2658.namprd11.prod.outlook.com ([fe80::dc53:d62d:2e6:2ee9%6]) with mapi id 15.20.4500.019; Wed, 15 Sep 2021 03:28:03 +0000 From: "Lin, Xueqin" To: "Huang, ZhiminX" , "dts@dpdk.org" Thread-Topic: [dts] [PATCH V2 3/4] tests/cvl_fdir:add esp flow test case Thread-Index: AQHXqUy8kJMCgAD3pUmBxE4MBycgqKukcLyA Date: Wed, 15 Sep 2021 03:28:03 +0000 Message-ID: References: <20210914181204.20088-1-zhiminx.huang@intel.com> <20210914181204.20088-4-zhiminx.huang@intel.com> In-Reply-To: <20210914181204.20088-4-zhiminx.huang@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 537618c3-622d-4c31-a7eb-08d977f8d3d8 x-ms-traffictypediagnostic: BN6PR11MB4083: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:110; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2IzxLEAU/tu265Zk4CEsuZBG/SYA/xfkE+uqVo3jw6Tah+JKS0d4ZUtHAeFqWwp8qPs0OgB+yQYjrDuw5Y7b4E2Y/BcnL29NfHHXSLHvajcX7Y/l0RsVRGytpuL6E5XtGasCSR7QyIHerovuSAi+Ipi8eLRUJBJRk/ovV2ySFhnvwfKlMrdxNEtn3AZUt7J04lNOTmJAijLDJxNtZDS17M4kPbBsONjXAEHqXCN/+zDFMHjxc6S69Roz969B+7TCEMg5JFvMd2jLzVOuTQ6MSb+ImWl/JwpzD2LTkcGPWcEyQgb2d2WGQ4EkUSP0SfhL/1fXmJZ1sRTZU795BPLDfgX7pmhKovgB59KohmufC7F6/RhZfz7uLWwIo7fgUmHWWZBz/SfKN9C8IvjVNWbbzS9nR7hReLsRAx0cAyZvBmpUGUV23kxJQB7qWM4gIDj6zDZd3QYAj83mR2cxzFZxHETCWfChku2R+CoRSQW7fRq5gxgksXcNBezc3IOLUQD5m773YdzhGR1jG7FfsTfJesX2Xkn45kA4LZnRsp0AR0PDeFjVnkeno4zzMX5AMoZtiTpJ7rGesWrJdaG25J8RYsJQqXRyKMdVneANGPmPj2FwwP7pMUEN2jnjadXVTBzEmzAqhvicqNaCA9Cke1R2oVplYzUNQH4RY84quQRWNYTH0ECsiH9bIyWLwbxAwn7ntwk+C+vAOLwH3ySawv3kdw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR11MB2658.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(396003)(366004)(136003)(346002)(376002)(30864003)(52536014)(186003)(38070700005)(33656002)(110136005)(86362001)(53546011)(83380400001)(6506007)(316002)(5660300002)(8936002)(71200400001)(8676002)(122000001)(26005)(9686003)(38100700002)(7696005)(66946007)(66446008)(478600001)(66476007)(55016002)(64756008)(76116006)(66556008)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?j++WdCS4v/eOmUBwHUjeITMcEdD3KIT6J0F+ohJQpZ9KtP6hWZutbpRCwM3O?= =?us-ascii?Q?07iwFAPmGi3swBaoxz1x1kX91P24iw9gPwNB2vJEmRDT+VQI5j8ksyhHH5rW?= =?us-ascii?Q?wYxPKO/1Gnnzy4W+mio6aKLNK/nqQDNVMmGZ/fdJz3jiFjgxfXeBC7Rhj7qC?= =?us-ascii?Q?+nEu4u4IHczVoLv5DLGjutrvjd1F9EiH31P3cco2oj9SKNBO+VEtg1XZQANO?= =?us-ascii?Q?trMuP23FCw2RVngjFQWNTMRSRSvfEvBxKtYFlvRB5P5j9eW3I/ZCv4iZSgYW?= =?us-ascii?Q?UKJESQGd6aFqjZR77lHUrU67DvLtxYcwxX5h9Qqz074jvDAYHNxCJ0Kvcu4i?= =?us-ascii?Q?XT3iI5SYkPrhUJKKmgHHy+F1sLHSCVLGTS3fAAmqx1SEx8NDeg6NL4U86dOd?= =?us-ascii?Q?EnWkScNL6Hrv+6ojRqUdV60SHt4L4bPXRENwRVTKPxTf62TxNnNPayMLDxYl?= =?us-ascii?Q?kePLhwxjbGAInEjA+16It9Dz7/9M5YVUeAZiUpTv1qo54YAzcL9kXidJNFzK?= =?us-ascii?Q?/1pHwRrOOb7VInG7nKDnTPdKDCnveT3al8vdfj1lg/b9CpQ1nMf33B5daqz6?= =?us-ascii?Q?IXgnkIJ6FsnXhPCv5ahZQMSox860YV7znQChqCVlG0yZqRfRbsW0ZmXICmRk?= =?us-ascii?Q?ww3d6TKfmjz+L84TAJTM03DuqjVOyFWplllfJvXkhDy6YF2TspwxXccHDiwl?= =?us-ascii?Q?OMRJwT/y4OBFGeFBhVYLQfkKVUSCUZRitKO/oJGcnRGhZoFVPs4DYd0JNzdd?= =?us-ascii?Q?pPJee5bcrPt73orlSyQ66lOOjueFmgO7hbYxpkSiuIfGXXLArMGKT95Dc5HV?= =?us-ascii?Q?eCuXYax+F4Ef5MUAq4TU8o0lALhJKWczSj1TUgv5w+dMFjggSXygdT0E6QOG?= =?us-ascii?Q?gwk6MhgvNAUmSMgOceSUuE6RejmXvo5hr6mBGXdsD4GFQD7gfkC0VZbszpUO?= =?us-ascii?Q?8xRfIW96GhHmICxO0aWZEoPVg1yuFHW5L/qQ2uEGIthLOIuWZVqhReaiw2Fg?= =?us-ascii?Q?lt173tIeNUlazUdC9G/IR1niilgj7Xwy3S++BDaxZmCkzff6f4fW6JWiWweV?= =?us-ascii?Q?C5d4XQKVGjhHmoIsnBqUbkNwIHQLazY7kZTtqpMw/b+BwopzCz2QJ2voS8aY?= =?us-ascii?Q?PzkhODh1xeSpkxve4RxrBYXv8MuEjl85m7YjQnbn4UPpYgnkIWETPlufMgES?= =?us-ascii?Q?Jx7qY+fTxqUgDdBhBMVMccCok0E5l2uoOPvmtOnV9YkOrx7EDSsmSWjsRSFH?= =?us-ascii?Q?VOqxvGFnTrEqXBNtMs9QFHHw3AzCmyANoWlJH6yabIV0uxCatSOaz21MUISL?= =?us-ascii?Q?vnLrMpL+Mwv0FyJpDCYXu+/f?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN7PR11MB2658.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 537618c3-622d-4c31-a7eb-08d977f8d3d8 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 03:28:03.8482 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /TU0hWHHSrDW1ohjDnjoNOYsE6VgGkI15RbkIrewDsNLL9FNVz8lMZEqJGi0AaoeEvCGLaEBMI+4VT/zB2k3hw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB4083 X-OriginatorOrg: intel.com Subject: Re: [dts] [PATCH V2 3/4] tests/cvl_fdir:add esp flow test case X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" > -----Original Message----- > From: Huang, ZhiminX > Sent: Wednesday, September 15, 2021 2:12 AM > To: dts@dpdk.org > Cc: Lin, Xueqin ; Huang, ZhiminX > > Subject: [dts] [PATCH V2 3/4] tests/cvl_fdir:add esp flow test case >=20 > add 21.08 new feature testcase,this feature support esp flow to match out= er > ip header. > take ip src/dst and spi for inputset,add 4 new cases in cvl_fdir test sui= te. >=20 > Signed-off-by: Zhimin Huang Acked-by: Xueqin Lin > --- > tests/TestSuite_cvl_fdir.py | 336 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 336 insertions(+) >=20 > diff --git a/tests/TestSuite_cvl_fdir.py b/tests/TestSuite_cvl_fdir.py in= dex > 0c3a1917..9cf3c352 100644 > --- a/tests/TestSuite_cvl_fdir.py > +++ b/tests/TestSuite_cvl_fdir.py > @@ -334,6 +334,50 @@ L2_Ethertype =3D [ > 'Ether(dst=3D"00:11:22:33:44:55",type=3D0x88f7)/"\\x00\\x02"', > 'Ether(dst=3D"00:11:22:33:44:55",type=3D0x8847)'] >=20 > +MAC_IPV4_ESP =3D { > + "matched": [ > + > "Ether(dst=3D'00:11:22:33:44:55')/IP(src=3D'192.168.0.20',dst=3D'192.168.= 0.21',prot > o=3D50)/ESP(spi=3D7)/Raw('x'*480)", > + ], > + "unmatched": [ > + > "Ether(dst=3D'00:11:22:33:44:55')/IP(src=3D'192.168.0.22',dst=3D'192.168.= 0.21',prot > o=3D50)/ESP(spi=3D7)/Raw('x'*480)", > + > "Ether(dst=3D'00:11:22:33:44:55')/IP(src=3D'192.168.0.20',dst=3D'192.168.= 0.11',prot > o=3D50)/ESP(spi=3D7)/Raw('x'*480)", > + > "Ether(dst=3D'00:11:22:33:44:55')/IP(src=3D'192.168.0.20',dst=3D'192.168.= 0.21',prot > o=3D50)/ESP(spi=3D17)/Raw('x'*480)", > + ] > +} > + > +MAC_IPV6_ESP =3D { > + "matched": [ > + > "Ether(dst=3D'00:11:22:33:44:55')/IPv6(src=3D'2001::1',dst=3D'2001::2',nh= =3D50)/ESP(s > pi=3D7)/Raw('x'*480)", > + ], > + "unmatched": [ > + > "Ether(dst=3D'00:11:22:33:44:55')/IPv6(src=3D'1111:2222:3333:4444:5555:66= 66:77 > 77:8888',dst=3D'2001::2',nh=3D50)/ESP(spi=3D7)/Raw('x'*480)", > + > "Ether(dst=3D'00:11:22:33:44:55')/IPv6(src=3D'2001::1',dst=3D'1111:2222:3= 333:4444: > 5555:6666:7777:9999',nh=3D50)/ESP(spi=3D7)/Raw('x'*480)", > + > "Ether(dst=3D'00:11:22:33:44:55')/IPv6(src=3D'2001::1',dst=3D'2001::2',nh= =3D50)/ESP(s > pi=3D17)/Raw('x'*480)", > + ] > +} > + > +MAC_IPV4_NAT_T_ESP =3D { > + "matched": [ > + > "Ether(dst=3D'00:11:22:33:44:55')/IP(src=3D'192.168.0.20',dst=3D'192.168.= 0.21')/UD > P(dport=3D4500)/ESP(spi=3D7)/Raw('x'*480)", > + ], > + "unmatched": [ > + > "Ether(dst=3D'00:11:22:33:44:55')/IP(src=3D'192.168.0.22',dst=3D'192.168.= 0.21')/UD > P(dport=3D4500)/ESP(spi=3D7)/Raw('x'*480)", > + > "Ether(dst=3D'00:11:22:33:44:55')/IP(src=3D'192.168.0.20',dst=3D'192.168.= 0.11')/UD > P(dport=3D4500)/ESP(spi=3D7)/Raw('x'*480)", > + > "Ether(dst=3D'00:11:22:33:44:55')/IP(src=3D'192.168.0.20',dst=3D'192.168.= 0.21')/UD > P(dport=3D4500)/ESP(spi=3D77)/Raw('x'*480)", > + ] > +} > + > +MAC_IPV6_NAT_T_ESP =3D { > + "matched": [ > + > "Ether(dst=3D'00:11:22:33:44:55')/IPv6(src=3D'2001::1',dst=3D'2001::2')/U= DP(dport=3D > 4500)/ESP(spi=3D7)/Raw('x'*480)", > + ], > + "unmatched": [ > + > "Ether(dst=3D'00:11:22:33:44:55')/IPv6(src=3D'2001::8',dst=3D'2001::2')/U= DP(dport=3D > 4500)/ESP(spi=3D7)/Raw('x'*480)", > + > "Ether(dst=3D'00:11:22:33:44:55')/IPv6(src=3D'2001::1',dst=3D'2001::9')/U= DP(dport=3D > 4500)/ESP(spi=3D7)/Raw('x'*480)", > + > "Ether(dst=3D'00:11:22:33:44:55')/IPv6(src=3D'2001::1',dst=3D'2001::2')/U= DP(dport=3D > 4500)/ESP(spi=3D77)/Raw('x'*480)", > + ] > +} > + > tv_mac_ipv4_pay_queue_index =3D { > "name": "test_mac_ipv4_pay_queue_index", > "rule": "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 = / ipv4 src > is 192.168.0.20 dst is 192.168.0.21 proto is 255 ttl is 2 tos is 4 / end = actions > queue index 1 / end", @@ -2148,6 +2192,282 @@ vectors_l2_ethertype =3D > [tv_l2_ethertype_queue_index, > tv_l2_ethertype_mark_rss, > tv_l2_ethertype_mark] >=20 > +tv_mac_ipv4_esp_queue_index =3D { > + "name": "tv_mac_ipv4_esp_queue_index", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / esp spi is 7 / end actions queue index 13 / mark id 7 / en= d", > + "scapy_str": {"match": MAC_IPV4_ESP['matched'], > + "unmatched": MAC_IPV4_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 7, "queue": 13} } > + > +tv_mac_ipv4_esp_queue_group =3D { > + "name": "tv_mac_ipv4_esp_queue_group", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark i= d 6 / > end", > + "scapy_str": {"match": MAC_IPV4_ESP['matched'], > + "unmatched": MAC_IPV4_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 6, "queue": [1, 2, 3, 4]} > +} > + > +tv_mac_ipv4_esp_passthru =3D { > + "name": "tv_mac_ipv4_esp_passthru", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / esp spi is 7 / end actions passthru / mark id 1 / end", > + "scapy_str": {"match": MAC_IPV4_ESP['matched'], > + "unmatched": MAC_IPV4_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "rss": True, "mark_id": 1} } > + > +tv_mac_ipv4_esp_drop =3D { > + "name": "tv_mac_ipv4_esp_drop", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / esp spi is 7 / end actions drop / end", > + "scapy_str": {"match": MAC_IPV4_ESP['matched'], > + "unmatched": MAC_IPV4_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "drop": 1} } > + > +tv_mac_ipv4_esp_mark_rss =3D { > + "name": "tv_mac_ipv4_esp_mark_rss", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / esp spi is 7 / end actions mark id 2 / rss / end", > + "scapy_str": {"match": MAC_IPV4_ESP['matched'], > + "unmatched": MAC_IPV4_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 2, "rss": True} } > + > +tv_mac_ipv4_esp_mark =3D { > + "name": "tv_mac_ipv4_esp_mark", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / esp spi is 7 / end actions mark id 15 / end", > + "scapy_str": {"match": MAC_IPV4_ESP['matched'], > + "unmatched": MAC_IPV4_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 15} } > + > +vectors_mac_ipv4_esp =3D [ > + tv_mac_ipv4_esp_queue_index, > + tv_mac_ipv4_esp_queue_group, > + tv_mac_ipv4_esp_passthru, > + tv_mac_ipv4_esp_drop, > + tv_mac_ipv4_esp_mark_rss, > + tv_mac_ipv4_esp_mark, > +] > + > +tv_mac_ipv6_esp_queue_index =3D { > + "name": "tv_mac_ipv6_esp_queue_index", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / esp spi is 7 / end actions queue index 13 / mark id 7 / end", > + "scapy_str": {"match": MAC_IPV6_ESP['matched'], > + "unmatched": MAC_IPV6_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 7, "queue": 13} } > + > +tv_mac_ipv6_esp_queue_group =3D { > + "name": "tv_mac_ipv6_esp_queue_group", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / end", > + "scapy_str": {"match": MAC_IPV6_ESP['matched'], > + "unmatched": MAC_IPV6_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 6, "queue": [1, 2, 3, 4]} > +} > + > +tv_mac_ipv6_esp_passthru =3D { > + "name": "tv_mac_ipv6_esp_passthru", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / esp spi is 7 / end actions passthru / mark id 1 / end", > + "scapy_str": {"match": MAC_IPV6_ESP['matched'], > + "unmatched": MAC_IPV6_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "rss": True, "mark_id": 1} } > + > +tv_mac_ipv6_esp_drop =3D { > + "name": "tv_mac_ipv6_esp_drop", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / esp spi is 7 / end actions drop / end", > + "scapy_str": {"match": MAC_IPV6_ESP['matched'], > + "unmatched": MAC_IPV6_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "drop": 1} } > + > +tv_mac_ipv6_esp_mark_rss =3D { > + "name": "tv_mac_ipv6_esp_mark_rss", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / esp spi is 7 / end actions mark / rss / end", > + "scapy_str": {"match": MAC_IPV6_ESP['matched'], > + "unmatched": MAC_IPV6_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 0, "rss": True} } > + > +tv_mac_ipv6_esp_mark =3D { > + "name": "tv_mac_ipv6_esp_mark", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / esp spi is 7 / end actions mark id 15 / end", > + "scapy_str": {"match": MAC_IPV6_ESP['matched'], > + "unmatched": MAC_IPV6_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 15} } > + > +vectors_mac_ipv6_esp =3D [ > + tv_mac_ipv6_esp_queue_index, > + tv_mac_ipv6_esp_queue_group, > + tv_mac_ipv6_esp_passthru, > + tv_mac_ipv6_esp_drop, > + tv_mac_ipv6_esp_mark_rss, > + tv_mac_ipv6_esp_mark, > +] > + > +tv_mac_ipv4_nat_t_esp_queue_index =3D { > + "name": "tv_mac_ipv4_nat_t_esp_queue_index", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / udp / esp spi is 7 / end actions queue index 13 / mark id = 7 / > end", > + "scapy_str": {"match": MAC_IPV4_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV4_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 7, "queue": 13} } > + > +tv_mac_ipv4_nat_t_esp_queue_group =3D { > + "name": "tv_mac_ipv4_nat_t_esp_queue_group", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / udp / esp spi is 7 / end actions rss queues 1 2 3 4 end / = mark > id 6 / end", > + "scapy_str": {"match": MAC_IPV4_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV4_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 6, "queue": [1, 2, 3, 4]} > +} > + > +tv_mac_ipv4_nat_t_esp_passthru =3D { > + "name": "tv_mac_ipv4_nat_t_esp_passthru", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / udp / esp spi is 7 / end actions passthru / mark id 1 / en= d", > + "scapy_str": {"match": MAC_IPV4_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV4_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "rss": True, "mark_id": 1} } > + > +tv_mac_ipv4_nat_t_esp_drop =3D { > + "name": "tv_mac_ipv4_nat_t_esp_drop", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / udp / esp spi is 7 / end actions drop / end", > + "scapy_str": {"match": MAC_IPV4_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV4_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "drop": 1} } > + > +tv_mac_ipv4_nat_t_esp_mark_rss =3D { > + "name": "tv_mac_ipv4_nat_t_esp_mark_rss", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / udp / esp spi is 7 / end actions mark id 2 / rss / end", > + "scapy_str": {"match": MAC_IPV4_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV4_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 2, "rss": True} } > + > +tv_mac_ipv4_nat_t_esp_mark =3D { > + "name": "tv_mac_ipv4_nat_t_esp_mark", > + "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / udp / esp spi is 7 / end actions mark id 15 / end", > + "scapy_str": {"match": MAC_IPV4_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV4_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 15} } > + > +vectors_mac_ipv4_nat_t_esp =3D [ > + tv_mac_ipv4_nat_t_esp_queue_index, > + tv_mac_ipv4_nat_t_esp_queue_group, > + tv_mac_ipv4_nat_t_esp_passthru, > + tv_mac_ipv4_nat_t_esp_drop, > + tv_mac_ipv4_nat_t_esp_mark_rss, > + tv_mac_ipv4_nat_t_esp_mark, > +] > + > +tv_mac_ipv6_nat_t_esp_queue_index =3D { > + "name": "tv_mac_ipv6_nat_t_esp_queue_index", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / udp / esp spi is 7 / end actions queue index 13 / mark id 7 / end", > + "scapy_str": {"match": MAC_IPV6_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV6_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 7, "queue": 13} } > + > +tv_mac_ipv6_nat_t_esp_queue_group =3D { > + "name": "tv_mac_ipv6_nat_t_esp_queue_group", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / udp / esp spi is 7 / end actions rss queues 1 2 3 4 end / mark id 6 / e= nd", > + "scapy_str": {"match": MAC_IPV6_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV6_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 6, "queue": [1, 2, 3, 4]} > +} > + > +tv_mac_ipv6_nat_t_esp_passthru =3D { > + "name": "tv_mac_ipv6_nat_t_esp_passthru", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / udp / esp spi is 7 / end actions passthru / mark id 1 / end", > + "scapy_str": {"match": MAC_IPV6_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV6_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "rss": True, "mark_id": 1} } > + > +tv_mac_ipv6_nat_t_esp_drop =3D { > + "name": "tv_mac_ipv6_nat_t_esp_drop", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / udp / esp spi is 7 / end actions drop / end", > + "scapy_str": {"match": MAC_IPV6_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV6_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "drop": 1} } > + > +tv_mac_ipv6_nat_t_esp_mark_rss =3D { > + "name": "tv_mac_ipv6_nat_t_esp_mark_rss", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / udp / esp spi is 7 / end actions mark id 2 / rss / end", > + "scapy_str": {"match": MAC_IPV6_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV6_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 2, "rss": True} } > + > +tv_mac_ipv6_nat_t_esp_mark =3D { > + "name": "tv_mac_ipv6_nat_t_esp_mark", > + "rule": "flow create 0 ingress pattern eth / ipv6 src is 2001::1 dst= is 2001::2 > / udp / esp spi is 7 / end actions mark id 15 / end", > + "scapy_str": {"match": MAC_IPV6_NAT_T_ESP['matched'], > + "unmatched": MAC_IPV6_NAT_T_ESP['unmatched'], > + }, > + "check_func": rfc.check_mark, > + "check_param": {"port_id": 0, "mark_id": 15} } > + > +vectors_mac_ipv6_nat_t_esp =3D [ > + tv_mac_ipv6_nat_t_esp_queue_index, > + tv_mac_ipv6_nat_t_esp_queue_group, > + tv_mac_ipv6_nat_t_esp_passthru, > + tv_mac_ipv6_nat_t_esp_drop, > + tv_mac_ipv6_nat_t_esp_mark_rss, > + tv_mac_ipv6_nat_t_esp_mark, > +] > + > class TestCVLFdir(TestCase): >=20 > def query_count(self, hits_set, hits, port_id=3D0, rule_id=3D0): > @@ -3183,6 +3503,22 @@ class TestCVLFdir(TestCase): > def test_l2_ethertype(self): > self._multirules_process(vectors_l2_ethertype) >=20 > + @skip_unsupported_pkg('os default') > + def test_mac_ipv4_esp(self): > + self._rte_flow_validate(vectors_mac_ipv4_esp) > + > + @skip_unsupported_pkg('os default') > + def test_mac_ipv6_esp(self): > + self._rte_flow_validate(vectors_mac_ipv6_esp) > + > + @skip_unsupported_pkg('os default') > + def test_mac_ipv4_nat_t_esp(self): > + self._rte_flow_validate(vectors_mac_ipv4_nat_t_esp) > + > + @skip_unsupported_pkg('os default') > + def test_mac_ipv6_nat_t_esp(self): > + self._rte_flow_validate(vectors_mac_ipv6_nat_t_esp) > + > def test_unsupported_ethertype(self): > rule =3D ['flow create 0 ingress pattern eth type is 0x0800 / en= d actions > queue index 1 / end', > 'flow create 0 ingress pattern eth type is 0x86dd / end = actions > queue index 1 / end'] > -- > 2.17.1