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 A9C62A0350; Wed, 19 Jan 2022 04:07:06 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 755C44068A; Wed, 19 Jan 2022 04:07:06 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 132B44013F for ; Wed, 19 Jan 2022 04:07:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642561624; x=1674097624; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=w/fEzPbuZVCDAdLREOm94ex9nkto6MNvPpdBh9rmFlU=; b=ZFonuQWv03CH/lPF9OUyTt/sO6o7mQKd6EKOCidMEFUE0IvX8ykp/qlR 9EEduKPqija7EYXBWN3+R1pHSOhh5GwKcwdsgYPQW9wF49MfRV8OqPVKj nw21dzgpIpTOfLXfL1ix7CvOslPKMT6VKI0GnEAhdQfor5ijSa+PB9/y6 kXeirqI9KL/5SxrmEouWZRlLsWUccxu2GkkB45ofLBFBhiThA5xTkkjid RMLnaBWcOtrbmlE2UXc6/BKL8WYKc3jfNrCJLodjFdY20RnyN2r0a5CZy ICDkhJIGMTAdbPrk1P00L/6RJPF919b08qw/WjDAZkPZfVAGqQAQrHBbI g==; X-IronPort-AV: E=McAfee;i="6200,9189,10231"; a="244765273" X-IronPort-AV: E=Sophos;i="5.88,298,1635231600"; d="scan'208";a="244765273" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jan 2022 19:07:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,298,1635231600"; d="scan'208";a="518009079" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP; 18 Jan 2022 19:07:02 -0800 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Tue, 18 Jan 2022 19:07:02 -0800 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Tue, 18 Jan 2022 19:07:02 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Tue, 18 Jan 2022 19:07:01 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.176) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Tue, 18 Jan 2022 19:07:01 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JhXrSiVGZTeqx1H5BStJzA3gYkPH8y7HlYp04vcfGu84MijMDRABpEp1WS2akV3ywQ38IHN6nqyG/QLiVvkZQxbOG3vcfVIS4iOdZrai4+PQCW2Oiz2osZbDhSjrdQRBw8d35035YdJHo1TL05LMun2mqtKv6O+mia+xr1GdaQa40ej2a79zQM2W9AtR1ev7mG8tLfjHyslwF6uTxLBZBRiRODiXgp5uPfmrkLf3MG6uGxIXFNP+2ESXuEWrDkpPdZhJrPELVLDyCa77R2omcpkhoSQTMoVFNtlvOi7RyGjXsDQKps0gaTPWQHZRvKu/XeBB8MG7K/kzAsjxIJdY/Q== 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=Z7V5YrqT99//pk6MGOeNfla58DPBwwydiCxRr2h1uEo=; b=WlTsV5IXDF1a8lavcUSaEY+rqXni2BY12xYlVhqp2bNXgipclIX5O/zDQULa8K+wh07CnqblHO6CHjWHfaz2rrcX4KAjtu007kL93YPu66YhNutvq9iOzhDhMVRB5iuHrq46JLDlo4pQfxI2904gyWM/nDpUoESAuMmrKriqtjiMOcYtX90Y6ZGK0bKFa30sbITgJpj9ISA0gOctav/8dQLvrl/SBxXOuuiLqBy40H4LbaezvGB8SNG6mD8bNA6UvyjfCdXd2jq0RpuTO95rLt/FXfk6/ZW68x/Hu/1s3pal3wsoe3StY+y15IEg3LujrnN3KLd74X/eIEX6aY+OYQ== 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 Received: from SJ0PR11MB5599.namprd11.prod.outlook.com (2603:10b6:a03:3af::21) by BYAPR11MB3095.namprd11.prod.outlook.com (2603:10b6:a03:91::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Wed, 19 Jan 2022 03:06:55 +0000 Received: from SJ0PR11MB5599.namprd11.prod.outlook.com ([fe80::d977:eec7:9638:3202]) by SJ0PR11MB5599.namprd11.prod.outlook.com ([fe80::d977:eec7:9638:3202%8]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022 03:06:55 +0000 From: "Lin, Xueqin" To: "Lin, Xueqin" , "Tang, Yaqi" , "dts@dpdk.org" CC: "Tang, Yaqi" Subject: RE: [dts][PATCH V3] test_plans/cvl_switch_filter_qinq_test_plan: cvl support l4 for qinq switch filter Thread-Topic: [dts][PATCH V3] test_plans/cvl_switch_filter_qinq_test_plan: cvl support l4 for qinq switch filter Thread-Index: AQHYDBWN07WpNbSX1kyENcPy4Ixh+axoQBjwgAFl9rA= Date: Wed, 19 Jan 2022 03:06:55 +0000 Message-ID: References: <20220118104408.180763-1-yaqi.tang@intel.com> In-Reply-To: Accept-Language: en-GB, 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=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 70aaafe7-2610-45df-5f18-08d9daf8c004 x-ms-traffictypediagnostic: BYAPR11MB3095:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TY7ZhAGUCNeaMawvImaN+kkK50knkZ/x9jIF/no4P+ndZNyL5wNPXa5U4LQOuHf8E3cM4tgMIW6JIIem4pBGfgDhKu2bhggZ3/yCaWW9R9nSANg036aNhjJ7gy94MERuEv9vYP6BMKU42dTdSLFKN8DoPGal8G5orkhc56jBXVE8jxW2Z/Yc9W7Ga4MWCQXlTZ1No0heWLKf6bUYzOd3zZb53U/WqswhR2lliyJ/+wLvJowmj6yS75mUWhCUC7VOEAbdw3vBOy5L0hmVWa2vpkWuB+f8zTah1tIFxao2KUcMmeylxDjgHpX7aUUvvRFtwgGu3xayHbVpRrqyWmBSfGjcqr3BWtlFFOIjruHIzmgCdFlmIR9CXXct8xu2cHEX37Ws9Xc07QO9VTpP5WetRUvNcCZPnQ5FKP/y7ZoMqYSn+YhV12SuUA/PpRX8FRlwtqpA0iCmse6lU/oS7SJXTt6Ms0c9oiuD/12ZDjvrHfZgyLhjHgfVBxxn42OkT90+M+40uDhyXiUJK2lN+LPcQCndaWmS5uX2pKPrt63Zq44pGWQ+8QTFjoFf91dHfmqAaYXDPfqGuwLMkqK4z5V6SkXEZQyZQzmKTYCW+FNYLtGJt0nqcEaXVPKpfolUVzvfC+peN892KwKBO++9xF0NF48GNlV2nl22EPZkDuksu8IGaTUI87Xy8cH1JhpjAdWiMFahi+cMWvlvYTM6mUYeRli0anekI4xAw6g4SRWAgc5J9UDc6OD8ittLzOra8lHFu0b3vcBEZxrTP1zIi22kxDThsyrNzv5L3z6KeqjZnvwlc06pm5sRObg6mJrmzpwiVgP16x3Hd0tdIoqf1MlFKMMd1h2iSoZacBKa2W6rpjQ= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB5599.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(966005)(53546011)(8676002)(19273905006)(186003)(26005)(508600001)(55016003)(66946007)(71200400001)(83380400001)(38070700005)(6506007)(110136005)(66446008)(66556008)(66476007)(76116006)(82960400001)(64756008)(316002)(5660300002)(107886003)(33656002)(38100700002)(52536014)(30864003)(2906002)(4326008)(86362001)(122000001)(9686003)(7696005)(8936002)(559001)(579004)(563064011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?geTCtO8v3Pe5PpMe6+rlNdM/LcETWitQ2QfWmryvdmAFmmGZSPB47KGKIuuj?= =?us-ascii?Q?nQQXvdh7f2/YI8dCZEOtjhkAnXpz3qvq025cfTqE/SpI0uVZdffLcFcamFB1?= =?us-ascii?Q?W1y4JPiV7Uo8LvulZbFTcYjLwkUAqlOrxGD9DLS0xmvHxbgDclGdVV3zWZxJ?= =?us-ascii?Q?sEfEvtnyIwgTu2iduHOzkbA4ChtCN0uRwxcG1NUB6eh76gU3+Xcb74AbDO1i?= =?us-ascii?Q?lH9RJRLzI6Ttr35MTc02n7RjE7EtsIgYs5cNAtYBw8U06WPwgh4WYxJX30wU?= =?us-ascii?Q?y/9jUXgnL9BKOLnT3MewI5YNjobnYjPKMDrlX4tPHybDXBlanPpCQIxhq82S?= =?us-ascii?Q?O6hcIkd3iJ64v16gfQhzAcG4mTzeBTxOkKfxFR64+CkitdoE4xtXy90ciWuQ?= =?us-ascii?Q?EpOXm4J8P0/Z18fv5a/gKyslFXncOShicknzdqIEGmAVZAu2wWZ0QPn+oTVZ?= =?us-ascii?Q?Fs8MDJ6nOdMIUS9peqlS7EKhAipIMDSco2HliyAgbITCrobWEBGSWcVZricP?= =?us-ascii?Q?IxuzPrjLfZAjYHigL36QPCSfa3HateeTV3Ws838axl7WVUsKZJCBbCr2L0e7?= =?us-ascii?Q?Gti7Olivfo/AZ//3gNXYHB+08+fJRfuznIQ1DoqSz1fL+8IgbXRkdaH6Gyww?= =?us-ascii?Q?UbcEnJ1Q+EVAqgvWWWWR3kGXHIJ7dzL3UxDzVaoyBXIWjZs37GaCMIoL1dL8?= =?us-ascii?Q?0VCXzHS2lWwh3qorF806/x+iLW+rU/JIFZv4T77IYjRTDnuRpYihq7XH0ops?= =?us-ascii?Q?AJ9MJF/JbD3aPCNEEz/kg6mZu01X1bSt2GOhb8OgdHazVb/mM2vCKeg0086d?= =?us-ascii?Q?yrn/iGoEEtBN2zmt5sjeEEA5h5IDgChQracm7jpHVATBcUeV8m61kzIWJDct?= =?us-ascii?Q?qGynRSWx28viSmvn7i8LgEArW2NlCY0Co/RdgDOwrv7WCYEuKNtDGZpec7b0?= =?us-ascii?Q?45psmB6xnysh8Bm8aPo1Hp+rXUEZdGZITKP4I6Hm0SmHGgifTK/hxG/W40nb?= =?us-ascii?Q?Ln46CuTphiOkfGQ/A88XXLpfwOA1TXYsbQf8nGcO3xO+AU7iSN/+kk9wDhdK?= =?us-ascii?Q?zQ5OlkShwTT3MNDZV6FaIPxZK6oaANWp1JJvq9+qG2kA2J3a+pwGyfzjT69s?= =?us-ascii?Q?J+Pjykg/kxLQlQytMG14GGEBVCRlerqAgDGBx6ZnuUUOAzG673PMr3PiJ0Dj?= =?us-ascii?Q?iLY6Bd7umiO/3CRobAZ0r/KMaSYzt6/KjO+QEokfAwC0OiRSK98H++t3Ca9d?= =?us-ascii?Q?e3cbu5TrmQMtq4mwpJMR2u+QlLTBgwtliCz/V11KrEHWpUGE9+pEDs9gFwcT?= =?us-ascii?Q?6Dj57Oh6AygpDrvRUK553FTGFhXx5F1yhVXN6/etuJschPAxlynFmNNJaxSK?= =?us-ascii?Q?hgPFRWtE0oMIvcJbDh41szHrx3vhypST1QhQyjey5wFlGgy6H4fgdAfVSBuU?= =?us-ascii?Q?JBT9C4vJjLVF8TMMq81Dp1O57D6SiefnabA/3OmYpslzyN4bHDFIg5CHcwNq?= =?us-ascii?Q?n25sLq98FLA9o1O9LWYRNZI5F8YgrCDbn3xe1SuEobx1uxiQAcmLqTl4+kGr?= =?us-ascii?Q?9YPJ9VetPiigv58UoL+4rZqO+xn6UBpX+mn48pCJn1ggz8Hs/9SGZ5n6j+Xa?= =?us-ascii?Q?/g=3D=3D?= 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: SJ0PR11MB5599.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70aaafe7-2610-45df-5f18-08d9daf8c004 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2022 03:06:55.6930 (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: 9uVMKebH0aNSbTlTZBshWDp9AQTnN4unIVdjWcFaTOdCoAywFuTOfCEzJKN/NObKbYtVvjh52Z79Boi1NHZHpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3095 X-OriginatorOrg: intel.com 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 > -----Original Message----- > From: Lin, Xueqin > Sent: Tuesday, January 18, 2022 1:31 PM > To: Tang, Yaqi ; dts@dpdk.org > Cc: Tang, Yaqi > Subject: RE: [dts][PATCH V3] test_plans/cvl_switch_filter_qinq_test_plan:= cvl > support l4 for qinq switch filter >=20 > Why created new test plan for this QINQ protocol? > Suggest not include below description, could descript this test plan inlc= udes > which features, not list test case. > If add new test case in future, need to change below too? Not make sense. >=20 > +The test plan includes six test cases, such as MAC_QINQ_IPV4, > > MAC_QINQ_IPV6, MAC_QINQ_IPV4_UDP, MAC_QINQ_IPV4_TCP, > > MAC_QINQ_IPV6_UDP, MAC_QINQ_IPV6_TCP. >=20 >=20 > > -----Original Message----- > > From: Yaqi Tang > > Sent: Tuesday, January 18, 2022 6:44 PM > > To: dts@dpdk.org > > Cc: Tang, Yaqi > > Subject: [dts][PATCH V3] test_plans/cvl_switch_filter_qinq_test_plan: > > cvl support l4 for qinq switch filter > > > > CVL support l4 for QinQ switch filter in PF driver is by dst MAC + > > outer VLAN id > > + inner VLAN id + dst IP + dst port, and port can support as eth / > > + vlan / vlan / IP > > / tcp|udp. > > > > Signed-off-by: Yaqi Tang > > Tested-by: Yaqi Tang < yaqi.tang@intel.com> > > --- > > .../cvl_switch_filter_qinq_test_plan.rst | 689 +++++++++++++++++= + > > 1 file changed, 689 insertions(+) > > create mode 100644 test_plans/cvl_switch_filter_qinq_test_plan.rst > > > > diff --git a/test_plans/cvl_switch_filter_qinq_test_plan.rst > > b/test_plans/cvl_switch_filter_qinq_test_plan.rst > > new file mode 100644 > > index 00000000..54404af0 > > --- /dev/null > > +++ b/test_plans/cvl_switch_filter_qinq_test_plan.rst > > @@ -0,0 +1,689 @@ > > +.. Copyright (c) <2021>, Intel Corporation > > + All rights reserved. > > + > > + Redistribution and use in source and binary forms, with or without > > + modification, are permitted provided that the following conditions > > + are met: > > + > > + - Redistributions of source code must retain the above copyright > > + notice, this list of conditions and the following disclaimer. > > + > > + - Redistributions in binary form must reproduce the above copyright > > + notice, this list of conditions and the following disclaimer in > > + the documentation and/or other materials provided with the > > + distribution. > > + > > + - Neither the name of Intel Corporation nor the names of its > > + contributors may be used to endorse or promote products derived > > + from this software without specific prior written permission. > > + > > + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND > > CONTRIBUTORS > > + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT > NOT > > + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND > FITNESS > > + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE > > + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, > > INDIRECT, > > + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES > > + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE > GOODS > > OR > > + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > > + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > > CONTRACT, > > + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > > + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF > > ADVISED > > + OF THE POSSIBILITY OF SUCH DAMAGE. > > + > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > > +CVL Switch Filter QINQ Test Plan > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > > + > > +Description > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > +The test plan includes six test cases, such as MAC_QINQ_IPV4, > > MAC_QINQ_IPV6, MAC_QINQ_IPV4_UDP, MAC_QINQ_IPV4_TCP, > > MAC_QINQ_IPV6_UDP, MAC_QINQ_IPV6_TCP. > > +* Enable QINQ switch filter for IPv4/IPv6, IPv4 + TCP/UDP in > > +non-pipeline > > mode. > > +* Enable QINQ switch filter for IPv6 + TCP/UDP in pipeline mode. > > +CVL support l4 for QinQ switch filter in PF driver is by dst MAC + > > +outer VLAN > > id + inner VLAN id + dst IP + dst port, and port can support as eth / > > vlan / vlan / IP / tcp|udp. > > + > > +Prerequisites > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > + > > +Hardware > > +-------- > > +Supportted NICs: columbiaville_25g/columbiaville_100g > > + > > +Software > > +-------- > > +dpdk: http://dpdk.org/git/dpdk > > +scapy: http://www.secdev.org/projects/scapy/ > > + > > +General Set Up > > +-------------- > > +1. Copy specific ice package to /lib/firmware/updates/intel/ice/ddp/ic= e.pkg, > > + then load driver:: > > + > > + # cp ice_comms-1.3.31.0.pkg /lib/firmware/updates/intel/ice/ddp/ic= e.pkg Not list this version comms package for the test, other newer version shoul= d also support.=20 > > + # rmmod ice > > + # insmod ice.ko > > + > > +2. Compile DPDK:: > > + > > + # CC=3Dgcc meson --werror -Denable_kmods=3DTrue -Dlibdir=3Dlib > > + --default- > > library=3Dstatic x86_64-native-linuxapp-gcc > > + # ninja -C x86_64-native-linuxapp-gcc -j 110 > > + > > +3. Get the pci device id and interface of DUT and tester:: > > + > > + # ./usertools/dpdk-devbind.py -s > > + > > + 0000:3b:00.0 'Ethernet Controller E810-C for SFP 1593' > > + if=3Dens785f0 drv=3Dice > > unused=3Dvfio-pci > > + 0000:af:00.0 'Ethernet Controller XXV710 for 25GbE SFP28 158b' > > if=3Dens260f0 drv=3Di40e unused=3Dvfio-pci > > + > > +4. Bind the DUT port to dpdk:: > > + > > + # ./usertools/dpdk-devbind.py -b vfio-pci 0000:3b:00.0 > > + > > +Test Case > > +=3D=3D=3D=3D=3D=3D=3D=3D=3D > > + > > +Common Steps > > +------------ > > +1. Launch the userland ``testpmd`` application on DUT as follows:: > > + > > + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a > > 0000:3b:00.0 -- -i --txq=3D16 --rxq=3D16 Use template format for the whole test plan.=20 Testpmd parameter setup are different when testing non-pipeline and pipelin= e mode, not same.=20 > > + > > +2. Set verbose:: > > + > > + testpmd> set verbose 1 > > + > > +3. Set fwd engine and start:: > > + > > + testpmd> set fwd rxonly > > + testpmd> start > > + > > +#Non-pipeline mode > > + > > +Test Case 1: MAC_QINQ_IPV4 > > +-------------------------- > > +The test case enable QINQ switch filter for IPv4 in non-pipeline > > +mode, and > > port can support as dst MAC + outer VLAN id + inner VLAN id + IPv4. > > + > > +Test Steps > > +~~~~~~~~~~ > > +1. Validate a rule:: > > + > > + testpmd> flow validate 0 ingress pattern eth dst is > > + 00:11:22:33:44:55 / > > vlan tci is 2 / vlan tci is 1 / ipv4 src is 192.168.1.1 dst is > > 192.168.1.2 / end actions queue index 2 / end > > + > > + Get the message:: > > + > > + Flow rule validated > > + > > +2. Create a rule and list rules:: > > + > > + testpmd> flow create 0 ingress pattern eth dst is > > + 00:11:22:33:44:55 / vlan > > tci is 2 / vlan tci is 1 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 > > / end actions queue index 2 / end > > + > > + Get the message:: > > + > > + Flow rule #0 created > > + > > +3. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + ID Group Prio Attr Rule > > + 0 0 0 i-- ETH VLAN VLAN IPV4 =3D> QUEUE > > + > > +4. Send matched packet in scapy on tester, check the DUT received > > +this packet > > and the action is right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP(src=3D"192.168.1.1", > > dst=3D"192.168.1.2")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 2: received 1 packets > > + src=3DA4:BF:01:4D:6F:32 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D122 - > > nb_segs=3D1 - RSS hash=3D0x26878aad - RSS queue=3D0x2 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D20 - Receive queue=3D0x2 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +5. Send mismatched packet in scapy on tester, check the DUT received > > +this > > packet and the action is not right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:33",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP(src=3D"192.168.1.1", > > dst=3D"192.168.1.2")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 13: received 1 packets > > + src=3DA4:BF:01:4D:6F:32 - dst=3D00:11:22:33:44:33 - type=3D0x8100 - > > + length=3D122 - > > nb_segs=3D1 - RSS hash=3D0x26878aad - RSS queue=3D0xd - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D20 - Receive queue=3D0xd > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D1,ty= pe=3D0x > > 81 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP(src=3D"192.168.1.1", > > dst=3D"192.168.1.2")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 13: received 1 packets > > + src=3DA4:BF:01:4D:6F:32 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D122 - > > nb_segs=3D1 - RSS hash=3D0x26878aad - RSS queue=3D0xd - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D20 - Receive queue=3D0xd > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 00)/Dot1Q(vlan=3D0x2,type=3D0x0800)/IP(src=3D"192.168.1.1", > > dst=3D"192.168.1.2")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 13: received 1 packets > > + src=3DA4:BF:01:4D:6F:32 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D122 - > > nb_segs=3D1 - RSS hash=3D0x26878aad - RSS queue=3D0xd - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D20 - Receive queue=3D0xd > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP(src=3D"192.168.1.3", > > dst=3D"192.168.1.2")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 10: received 1 packets > > + src=3DA4:BF:01:4D:6F:32 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D122 - > > nb_segs=3D1 - RSS hash=3D0xc99a75ba - RSS queue=3D0xa - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D20 - Receive queue=3D0xa > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +6. Destroy a rule and list rules:: > > + > > + testpmd> flow destroy 0 rule 0 > > + > > + Get the message:: > > + > > + Flow rule #0 destroyed > > + > > +7. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + Check the rule not exists in the list. > > + Send matched packets in step 4, check the action is not right. > > + > > +Test Case 2: MAC_QINQ_IPV6 > > +-------------------------- > > +The test case enable QINQ switch filter for IPv6 in non-pipeline > > +mode, and > > port can support as dst MAC + outer VLAN id + inner VLAN id + IPv6. > > + > > +Test Steps > > +~~~~~~~~~~ > > +1. Validate a rule:: > > + > > + testpmd> flow validate 0 ingress pattern eth dst is > > + 00:11:22:33:44:55 / > > vlan tci is 2 / vlan tci is 1 / ipv6 dst is > > CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions rss queues 2 3 > > end / end > > + > > + Get the message:: > > + > > + Flow rule validated > > + > > +2. Create a rule and list rules:: > > + > > + testpmd> flow create 0 ingress pattern eth dst is > > + 00:11:22:33:44:55 / vlan > > tci is 2 / vlan tci is 1 / ipv6 dst is > > CDCD:910A:2222:5498:8475:1111:3900:2020 > > / end actions rss queues 2 3 end / end > > + > > + Get the message:: > > + > > + Flow rule #0 created > > + > > +3. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + ID Group Prio Attr Rule > > + 0 0 0 i-- ETH VLAN VLAN IPV6 =3D> RSS > > + > > +4. Send matched packet in scapy on tester, check the DUT received > > +this packet > > and the action is right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 2: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xb0c13d2c - RSS queue=3D0x2 - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D40 - Receive queue=3D0x2 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +5. Send mismatched packet in scapy on tester, check the DUT received > > +this > > packet and the action is not right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:33",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 12: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:33 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xb0c13d2c - RSS queue=3D0xc - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D40 - Receive queue=3D0xc > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D1,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 12: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xb0c13d2c - RSS queue=3D0xc - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D40 - Receive queue=3D0xc > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x2,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 12: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xb0c13d2c - RSS queue=3D0xc - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D40 - Receive queue=3D0xc > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2023")/("X"*80)],iface=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 6: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0x63517896 - RSS queue=3D0x6 - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 - l2_len=3D18 - inner_l2_len=3D4 - > > inner_l3_len=3D40 - Receive queue=3D0x6 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +6. Destroy a rule and list rules:: > > + > > + testpmd> flow destroy 0 rule 0 > > + > > + Get the message:: > > + > > + Flow rule #0 destroyed > > + > > +7. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + Check the rule not exists in the list. > > + Send matched packets in step 4, check the action is not right. > > + > > +Test Case 3: MAC_QINQ_IPV4_UDP > > +------------------------------ > > +The test case enable QINQ switch filter for IPv4 + UDP in > > +non-pipeline mode, > > and port can support as dst MAC + outer VLAN id + inner VLAN id + IPv4 = + > UDP. > > + > > +Test Steps > > +~~~~~~~~~~ > > +1. Validate a rule:: > > + > > + testpmd> flow validate 0 ingress pattern eth dst is > > + 00:11:22:33:44:55 / > > vlan tci is 2 / vlan tci is 1 / ipv4 / udp src is 50 dst is 23 / end > > actions queue index 2 / end > > + > > + Get the message:: > > + > > + Flow rule validated > > + > > +2. Create a rule and list rules:: > > + > > + testpmd> flow create 0 ingress pattern eth dst is > > + 00:11:22:33:44:55 / vlan > > tci is 2 / vlan tci is 1 / ipv4 / udp src is 50 dst is 23 / end > > actions queue index 2 / end > > + > > + Get the message:: > > + > > + Flow rule #0 created > > + > > +3. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + ID Group Prio Attr Rule > > + 0 0 0 i-- ETH VLAN VLAN IPV4 UDP =3D> QUEUE > > + > > +4. Send matched packet in scapy on tester, check the DUT received > > +this packet > > and the action is right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP()/UDP(sport=3D50,dport=3D23)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 2: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D130 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x2 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D8 - Receive queue= =3D0x2 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +5. Send mismatched packet in scapy on tester, check the DUT received > > +this > > packet and the action is not right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:33",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP()/UDP(sport=3D50,dport=3D23)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 3: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:33 - type=3D0x8100 - > > + length=3D130 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x3 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D8 - Receive queue= =3D0x3 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D1,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP()/UDP(sport=3D50,dport=3D23)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 3: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D130 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x3 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D8 - Receive queue= =3D0x3 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x2,type=3D0x0800)/IP()/UDP(sport=3D50,dport=3D23)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 3: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D130 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x3 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D8 - Receive queue= =3D0x3 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP()/UDP(sport=3D50,dport=3D22)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 3: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D130 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x3 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D8 - Receive queue= =3D0x3 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +6. Destroy a rule and list rules:: > > + > > + testpmd> flow destroy 0 rule 0 > > + > > + Get the message:: > > + > > + Flow rule #0 destroyed > > + > > +7. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + Check the rule not exists in the list. > > + Send matched packets in step 4, check the action is not right. > > + > > +Test Case 4: MAC_QINQ_IPV4_TCP > > +------------------------------ > > +The test case enable QINQ switch filter for IPv4 + TCP in > > +non-pipeline mode, > > and port can support as dst MAC + outer VLAN id + inner VLAN id + IPv4 = + TCP. > > + > > +Test Steps > > +~~~~~~~~~~ > > +1. Validate a rule:: > > + > > + testpmd> flow validate 0 ingress pattern eth dst is > > + 00:11:22:33:44:55 / > > vlan tci is 2 / vlan tci is 1 / ipv4 / tcp src is 50 dst is 23 / end > > actions rss queues > > 4 5 end / end > > + > > + Get the message:: > > + > > + Flow rule validated > > + > > +2. Create a rule and list rules:: > > + > > + testpmd> flow create 0 ingress pattern eth dst is > > + 00:11:22:33:44:55 / vlan > > tci is 2 / vlan tci is 1 / ipv4 / tcp src is 50 dst is 23 / end > > actions rss queues 4 5 end / end > > + > > + Get the message:: > > + > > + Flow rule #0 created > > + > > +3. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + ID Group Prio Attr Rule > > + 0 0 0 i-- ETH VLAN VLAN IPV4 TCP =3D> RSS > > + > > +4. Send matched packet in scapy on tester, check the DUT received > > +this packet > > and the action is right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP()/TCP(sport=3D50,dport=3D23)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 5: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x5 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D20 - Receive queu= e=3D0x5 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +5. Send mismatched packet in scapy on tester, check the DUT received > > +this > > packet and the action is not right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:33",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP()/TCP(sport=3D50,dport=3D23)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 3: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:33 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x3 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D20 - Receive queu= e=3D0x3 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D1,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP()/TCP(sport=3D50,dport=3D23)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 3: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x3 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D20 - Receive queu= e=3D0x3 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x2,type=3D0x0800)/IP()/TCP(sport=3D50,dport=3D23)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 3: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x3 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D20 - Receive queu= e=3D0x3 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > 00)/Dot1Q(vlan=3D0x1,type=3D0x0800)/IP()/TCP(sport=3D50,dport=3D22)/("X= "*80)], > > ifac > > e=3D"ens260f0",count=3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 3: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D142 - > > nb_segs=3D1 - RSS hash=3D0xddc4fdb3 - RSS queue=3D0x3 - hw ptype: L2_ET= HER > > L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D20 - inner_l4_len=3D20 - Receive queu= e=3D0x3 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +6. Destroy a rule and list rules:: > > + > > + testpmd> flow destroy 0 rule 0 > > + > > + Get the message:: > > + > > + Flow rule #0 destroyed > > + > > +7. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + Check the rule not exists in the list. > > + Send matched packets in step 4, check the action is not right. > > + > > +#Pipeline mode > > + > > +Test Case 5: MAC_QINQ_IPV6_UDP > > +------------------------------ > > +The test case enable QINQ switch filter for IPv6 + UDP in pipeline > > +mode, and > > port can support as dst MAC + outer VLAN id + inner VLAN id + IPv6 + UD= P. > > + > > +Test Steps > > +~~~~~~~~~~ > > +1. Validate a rule:: > > + > > + testpmd> flow validate 0 priority 0 ingress pattern eth dst is > > 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is > > CDCD:910A:2222:5498:8475:1111:3900:2020 / udp src is 50 dst is 23 / > > end actions drop / end > > + > > + Get the message:: > > + > > + Flow rule validated > > + > > +2. Create a rule and list rules:: > > + > > + testpmd> flow create 0 priority 0 ingress pattern eth dst is > > 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is > > CDCD:910A:2222:5498:8475:1111:3900:2020 / udp src is 50 dst is 23 / > > end actions drop / end > > + > > + Get the message:: > > + > > + Flow rule #0 created > > + > > +3. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + ID Group Prio Attr Rule > > + 0 0 0 i-- ETH VLAN VLAN IPV6 UDP =3D> DROP > > + > > +4. Send matched packet in scapy on tester, check the DUT received > > +this packet > > and the action is right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/UDP(sport=3D50,dport=3D23)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> > > + > > +5. Send mismatched packet in scapy on tester, check the DUT received > > +this > > packet and the action is not right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:33",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/UDP(sport=3D50,dport=3D23)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 15: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:33 - type=3D0x8100 - > > + length=3D150 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0xf - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D8 - Receive queue= =3D0xf > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D1,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/UDP(sport=3D50,dport=3D23)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 15: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D150 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0xf - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D8 - Receive queue= =3D0xf > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x2,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/UDP(sport=3D50,dport=3D23)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 15: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D150 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0xf - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D8 - Receive queue= =3D0xf > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/UDP(sport=3D50,dport=3D22)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 15: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D150 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0xf - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_UDP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D8 - Receive queue= =3D0xf > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +6. Destroy a rule and list rules:: > > + > > + testpmd> flow destroy 0 rule 0 > > + > > + Get the message:: > > + > > + Flow rule #0 destroyed > > + > > +7. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + Check the rule not exists in the list. > > + Send matched packets in step 4, check the action is not right. > > + > > +Test Case 6: MAC_QINQ_IPV6_TCP > > +------------------------------ > > +The test case enable QINQ switch filter for IPv6 + TCP in pipeline > > +mode, and > > port can support as dst MAC + outer VLAN id + inner VLAN id + IPv6 + TC= P. > > + > > +Test Steps > > +~~~~~~~~~~ > > +1. Validate a rule:: > > + > > + testpmd> flow validate 0 priority 0 ingress pattern eth dst is > > 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is > > CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 50 dst is 23 / > > end actions queue index 7 / end > > + > > + Get the message:: > > + > > + Flow rule validated > > + > > +2. Create a rule and list rules:: > > + > > + testpmd> flow create 0 priority 0 ingress pattern eth dst is > > 00:11:22:33:44:55 / vlan tci is 2 / vlan tci is 1 / ipv6 dst is > > CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 50 dst is 23 / > > end actions queue index 7 / end > > + > > + Get the message:: > > + > > + Flow rule #0 created > > + > > +3. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + ID Group Prio Attr Rule > > + 0 0 0 i-- ETH VLAN VLAN IPV6 TCP =3D> QUEUE > > + > > +4. Send matched packet in scapy on tester, check the DUT received > > +this packet > > and the action is right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/TCP(sport=3D50,dport=3D23)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 7: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D162 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0x7 - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D20 - Receive queu= e=3D0x7 > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +5. Send mismatched packet in scapy on tester, check the DUT received > > +this > > packet and the action is not right. > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:33",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/TCP(sport=3D50,dport=3D23)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 15: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:33 - type=3D0x8100 - > > + length=3D162 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0xf - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D20 - Receive queu= e=3D0xf > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D1,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/TCP(sport=3D50,dport=3D23)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 15: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D162 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0xf - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D20 - Receive queu= e=3D0xf > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x2,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/TCP(sport=3D50,dport=3D23)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 15: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D162 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0xf - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D20 - Receive queu= e=3D0xf > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +Tester:: > > + > > + >>> > > sendp([Ether(dst=3D"00:11:22:33:44:55",type=3D0x8100)/Dot1Q(vlan=3D2,ty= pe=3D0x > > 81 > > > 00)/Dot1Q(vlan=3D0x1,type=3D0x86DD)/IPv6(dst=3D"CDCD:910A:2222:5498:8475:= 11 > > 11:3900:2020")/TCP(sport=3D50,dport=3D22)/("X"*80)],iface=3D"ens260f0",= count > > =3D1) > > + > > +DUT:: > > + > > + testpmd> port 0/queue 15: received 1 packets > > + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:55 - type=3D0x8100 - > > + length=3D162 - > > nb_segs=3D1 - RSS hash=3D0xc5dfbe3f - RSS queue=3D0xf - hw ptype: L2_ET= HER > > L3_IPV6_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN > > INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_TCP - l2_len=3D18 - > > inner_l2_len=3D4 - inner_l3_len=3D40 - inner_l4_len=3D20 - Receive queu= e=3D0xf > > + ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD > > RTE_MBUF_F_RX_IP_CKSUM_GOOD > > RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD > > + > > +6. Destroy a rule and list rules:: > > + > > + testpmd> flow destroy 0 rule 0 > > + > > + Get the message:: > > + > > + Flow rule #0 destroyed > > + > > +7. Check the flow list:: > > + > > + testpmd> flow list 0 > > + > > + Check the rule not exists in the list. > > + Send matched packets in step 4, check the action is not right. > > + > > + > > -- > > 2.25.1