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 6C211A0547; Mon, 30 Aug 2021 07:50:11 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 64177410F8; Mon, 30 Aug 2021 07:50:11 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id EED1A410F6 for ; Mon, 30 Aug 2021 07:50:08 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10091"; a="281928437" X-IronPort-AV: E=Sophos;i="5.84,362,1620716400"; d="scan'208";a="281928437" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2021 22:50:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,362,1620716400"; d="scan'208";a="689131290" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga005.fm.intel.com with ESMTP; 29 Aug 2021 22:50:07 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Sun, 29 Aug 2021 22:50:07 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Sun, 29 Aug 2021 22:50:07 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) 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.2242.10; Sun, 29 Aug 2021 22:50:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WTjwWkddl4zJruFzC8KVnwhRMH9VZxlv0Hrv/t8eOWJ9BgtHjOM6K1M0KeM0PPIyfKjZ5DVet/KFns2Bp0v4KHn8nj5jHh7DcmH54e+FmLXmT3y+kR3NZIN65r0213Z5UbhgWu8e9p2NP3Y/Hm6aBCWyHmo3G3qm8Gqv+5plc1F04jYr0EINRcOf08SAcSmftxBau/k4cR3EzLPaL1Ro5HTQMymbVeYWCOCOO/TPsqf9fAkYU2e98cpoaqdih58uzMuJLeUNYX+lMgJ3WfTDuNmPC6MOrqJoFRv0sdv8k/RLIQxjYvtikNaUmTTEKCW3RY3ybwQ5b0MWsUCBHUq4mw== 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-SenderADCheck; bh=70FYrp3uiIABi2SqsunFtzKxn+vTPZGwObOtW/+jhlA=; b=KMfPS6CAfdsGFeHikiHKxV7CNyrCCbQ8TkQBljAgyPkqwj1A/q/rRN2+nSfuiLq4sKto6SpXRePrx5RMd5EaRYYW44aYIlN9lQhN7Z6h+yHnBVuGtkE9TcOwMztkDWAhLh9XxMlN9RcFRtcoNoKUKWFGB6YBNJNUVUK0DFGh0Un95g7peC2MmADWE0Xr4uU9zXb13F8xSjsFxm5hZyoUEDXxuvMlC4ZNL1XHOw4rPlK3dJGh6LtIUYUGgglmVVz4Jkuq3cRq3r1pAmlL158aqqD1O+eqOnIPY5xKT0MgCoX742NWBb9Il5H00Jzqmt8eN9lZZsZ8Htq8AzQa1PRO4g== 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=70FYrp3uiIABi2SqsunFtzKxn+vTPZGwObOtW/+jhlA=; b=Oq07lGcD3QwcG2/nN2buX6U6uonPupLuUST+GDuXTjGZhh2lCjJwyNTw2bpYoFgpMLfG/OijyyJIzUdVMRNAezqGi9ej75ycMBI0sr3Bc4vl/X3RvOMUhmDb8LDTflfsLQQLKYVnHwoOHGecc6mB4SZ9riP0utgqWDMXwvxormQ= Received: from BN7PR11MB2658.namprd11.prod.outlook.com (2603:10b6:406:ae::16) by BN7PR11MB2771.namprd11.prod.outlook.com (2603:10b6:406:a9::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Mon, 30 Aug 2021 05:50:00 +0000 Received: from BN7PR11MB2658.namprd11.prod.outlook.com ([fe80::d190:7c15:f9c7:591d]) by BN7PR11MB2658.namprd11.prod.outlook.com ([fe80::d190:7c15:f9c7:591d%6]) with mapi id 15.20.4457.024; Mon, 30 Aug 2021 05:50:00 +0000 From: "Lin, Xueqin" To: "Sun, QinX" , "dts@dpdk.org" Thread-Topic: [dts] [PATCH V1 2/2] tests/iavf_fdir: add gre inner fdir cases for iavf Thread-Index: AQHXkm4hNE3J/rHXqkW08S7MgK472quLoKQA Date: Mon, 30 Aug 2021 05:50:00 +0000 Message-ID: References: <20210816154520.9805-1-qinx.sun@intel.com> <20210816154520.9805-3-qinx.sun@intel.com> In-Reply-To: <20210816154520.9805-3-qinx.sun@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 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: 483673b6-8109-42a8-6f82-08d96b7a019c x-ms-traffictypediagnostic: BN7PR11MB2771: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:37; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tSmyeSwgwZorhzhJDK0jqvrfVrkRmpm9WH3f610PApfr/cCnZfjMmeQG8KKJGqKwagZaCtSgbBJ7dqTjLmnP/R+7CPgyNFKtraUd79Wnvtv6vYyuDAmZZAsjzo06ae3QaVBqjRRW6Qysq986xfKUR27e7A+bpXyZBRAVtgWuOLqe5/0sSZeHLaAR7y16PINhiRfjtmzvaFaClJmgIEO+QWYc934Nltgi6oNLJugmP5OUxfo6SoEUHlkOmbUwW+q3YQF3I3jgSDoXgOoPIIyyTF3H645i8eaFlGI3FpaWxGj6UVlLLnOHOu8vxGFDTDrYrcsv7DF3EZvY9nf859s+tI6L3tNJYOKOaiEK47z0uBoFxhoCNUHGhY84Smib3MnhRYhyWECVDYJsbuJB2D0ufxSawx5PsJWqIW5aeU1UK0bcpu7aHIkQCf29iqV4RAe5FqDTazhazmocldGagSHwstvSMI6MQ49XhFx7LWCEIFbBjLdpNPvpjgL6GZ+xX3AhZRuKjuoGYY9ZCyfWPNhCw/TLFBQI8H1Mhuik4xMPQdwMisD2NrhQgwI0UByYXrfkXu8mna8KQGqT+h24056wH02bVt7EqVHl0ac24c+YtT7bmKtUi8vfe4of6duT3ZxjBDd1atSf4/MKuRRuDxT9UHVUzXIblfXNcTn8JJdaIaZF7t2hMmi7Aec2881+DcEZlHafsdSC/aH5kuOxhyOFJg== 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)(396003)(346002)(376002)(366004)(39860400002)(136003)(122000001)(38100700002)(33656002)(86362001)(52536014)(55016002)(9686003)(38070700005)(71200400001)(83380400001)(478600001)(30864003)(6506007)(186003)(53546011)(66476007)(26005)(66446008)(2906002)(64756008)(66556008)(76116006)(66946007)(110136005)(8676002)(8936002)(7696005)(316002)(5660300002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?40WXqVGdj8j7zkktrOkE2lgWcWkWktOJmvTjOxaAEVFymWD8laD4XKxFz91d?= =?us-ascii?Q?o1LRuNg8e4A8xfuhPCDyj6GGBBiJs3f9JKVDff3ixQH7OQK8Ua6aiufYDYfB?= =?us-ascii?Q?n7qrI35VH0fLfOsH6hDD03ClxZa7Ir7X/u0TIs2s9E8fxwINN3un2pyfHpQu?= =?us-ascii?Q?QPb0o3M9VfnjpWn4WDIMcHOicWM+AS0KeaGvgVbsONniuyDxwSKmUv5xKOrP?= =?us-ascii?Q?vLGZLiXFdjBZ5OJAjYn5/vuM0t5Km1+I1AtG2Y98L/yi+1OfgezPgeJ+3/x8?= =?us-ascii?Q?wN7BbyQPScjmTDUpiJJhN4P9LO25Alr2jaKdrf1nyUlrHmnIGBXLJxbjz/Ok?= =?us-ascii?Q?PVt87DB8SJOAW1ldnXd4WpQbstAdS7W/r4ABnqojp1iv5S3H8GDqdhVZxCge?= =?us-ascii?Q?fZ4VeIsWpffBow9mfPCLK2iJqbIo0JWUTHLZbVo1eCCDWbvQelHkuiraDhan?= =?us-ascii?Q?LhGKkXpQQTDk30lnLoUaGWfWUTFJiKGiL6G6ilaRk+OwqhKRlp6j93lSbsSf?= =?us-ascii?Q?IHhPpxqIM6qjW/yMDP1uUfD8WVWXcYhVxJOK72lMoFsXCCMikUTrH1PhLu9e?= =?us-ascii?Q?HCTlo/aWFb1vIcTFFOi0jYD1PnMfLJLp7CEIoMlpML9PVCWQ2Ko+reE2AgBn?= =?us-ascii?Q?kb8IwAWPdBIAjOlAMvE2ImUEKhDzdlOj7OApmQqbCBvzTQu8cIZx9Rx6kIZP?= =?us-ascii?Q?Ba7JLWYV7V7eXrP7lTOI+AIkEC8plBX6JjoO8vKsnmgqU0kQpayhoyYee/Gi?= =?us-ascii?Q?8rRZELEBY+OWrFLYW8RlUkyMi1M5LnviCumquQNjdxz7O4OTGbnzeSwLFxMJ?= =?us-ascii?Q?jY+1AF5DhCMuv/opVNUuHAA6vnNIa4pAuXumMtv/KSWDiNgTJc49AJc9O8j1?= =?us-ascii?Q?C5tPS/CnJgzvU1GhtU4k4dUqQj+3SBSEbMDPiCQOnKMfIrrTIkxVNzCw0Dgf?= =?us-ascii?Q?B5Ol+rU0YX/0iLk6Chst6SOmPUD2DRle0fpLPAkEpICQ0D/B+xcLFIsEZeOL?= =?us-ascii?Q?AbV+PfXB++O/6s0ZUHuxEM7eH4r43DJejPy2JP+lqAHxHcjckoslGVpsic/K?= =?us-ascii?Q?LjmE9yS+rUmJZhv77qLPZ6kChJXKpvr3e7wD+EFTpoYaNT95wG4uKlmxAJA6?= =?us-ascii?Q?KoowtSKfj/WCuDQwlROZKQI2/4Htw/hGhoX64xWMeAFnuCVT30Sut0zcshEK?= =?us-ascii?Q?NjR0g67w9ieZX2l4q1izDCVoKt6oQQeSeaV8ZTWI9MQItn/bzpGW++nGZqOy?= =?us-ascii?Q?7Ef8ktzDBkXjLS0g5s1Gflv8UpMZ3ka0RCDgFsJq/OvcvKPgyDsKuA2f/P/N?= =?us-ascii?Q?qjoy6+XcqPuk5jy5MXI1tfYo?= 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: 483673b6-8109-42a8-6f82-08d96b7a019c X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2021 05:50:00.5767 (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: fDRP6BdabPhYh/v8groQVpL4ocEwiumDR8DkuU9y04vah3ieTkIANwroj8z6oFSm5k7YocWkEC3xGz0jJIf6fQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2771 X-OriginatorOrg: intel.com Subject: Re: [dts] [PATCH V1 2/2] tests/iavf_fdir: add gre inner fdir cases for iavf 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: Sun, QinX > Sent: Monday, August 16, 2021 11:45 PM > To: dts@dpdk.org > Cc: Lin, Xueqin ; Sun, QinX > Subject: [dts] [PATCH V1 2/2] tests/iavf_fdir: add gre inner fdir cases f= or iavf >=20 > according to test plan to add 12 new cases related gre inner for iavf fdi= r >=20 > Signed-off-by: Qin Sun Acked-by: Xueqin Lin > --- > tests/TestSuite_iavf_fdir.py | 308 +++++++++++++++++++++++++++++++++++ > 1 file changed, 308 insertions(+) >=20 > diff --git a/tests/TestSuite_iavf_fdir.py b/tests/TestSuite_iavf_fdir.py = index > 805f35ac..56272c8e 100644 > --- a/tests/TestSuite_iavf_fdir.py > +++ b/tests/TestSuite_iavf_fdir.py > @@ -996,6 +996,52 @@ > MAC_IPV4_GTPU_EH_UL_IPV6_UDP_WITHOUT_INPUTSET =3D { >=20 > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSession > Container(type=3D1)/IP()/UDP()/("X"*480)'] > } >=20 > +MAC_IPV4_GRE_IPV4 =3D { > + "match": [ > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.20",dst= =3D"192.1 > 68.0.21", tos=3D4)/Raw("x" * 80)'], > + "mismatch": [ > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.22",dst= =3D"192.1 > 68.0.21", tos=3D4)/Raw("x" * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.20",dst= =3D"192.1 > 68.0.22", tos=3D4)/Raw("x" * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.20",dst= =3D"192.1 > 68.0.21", tos=3D8)/Raw("x" * 80)', > + ] > +} > + > +MAC_IPV4_GRE_IPV4_TCP =3D { > + "match": [ > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.20",dst= =3D"192.1 > 68.0.21", tos=3D4)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)'], > + "mismatch": [ > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.22",dst= =3D"192.1 > 68.0.21", tos=3D4)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.20",dst= =3D"192.1 > 68.0.22", tos=3D4)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.20",dst= =3D"192.1 > 68.0.21", tos=3D8)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.20",dst= =3D"192.1 > 68.0.21", tos=3D4)/TCP(sport=3D21,dport=3D23)/Raw("x" * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IP(src=3D"192.168.0.20",dst= =3D"192.1 > 68.0.21", tos=3D4)/TCP(sport=3D22,dport=3D24)/Raw("x" * 80)' > + ] > +} > + > +MAC_IPV4_GRE_IPV6_TCP =3D { > + "match": [ > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2020", src=3D"2001::2",tc=3D1)/TCP(sport=3D22,dport=3D23)/= Raw("x" > * 80)'], > + "mismatch": [ > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2021", src=3D"2001::2",tc=3D1)/TCP(sport=3D22,dport=3D23)/= Raw("x" > * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2020", src=3D"2001::3",tc=3D1)/TCP(sport=3D22,dport=3D23)/= Raw("x" > * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2020", src=3D"2001::2",tc=3D2)/TCP(sport=3D22,dport=3D23)/= Raw("x" > * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2020", src=3D"2001::2",tc=3D1)/TCP(sport=3D21,dport=3D23)/= Raw("x" > * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2020", src=3D"2001::2",tc=3D1)/TCP(sport=3D22,dport=3D24)/= Raw("x" > * 80)' > + ] > +} > + > +MAC_IPV6_GRE_IPV4 =3D > +eval(str(MAC_IPV4_GRE_IPV4).replace('IP()','IPv6()')) > + > +MAC_IPV4_GRE_IPV6 =3D { > + "match": [ > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2020", src=3D"2001::2",tc=3D1)/Raw("x" * 80)'], > + "mismatch": [ > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2021", src=3D"2001::2",tc=3D1)/Raw("x" * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2020", src=3D"2001::3",tc=3D1)/Raw("x" * 80)', > + > 'Ether(dst=3D"00:11:22:33:44:55")/IP()/GRE()/IPv6(dst=3D"CDCD:910A:2222:5= 498: > 8475:1111:3900:2020", src=3D"2001::2",tc=3D2)/Raw("x" * 80)', > + ] > +} > + > tv_mac_ipv4_pay_queue_index =3D { > "name": "test_mac_ipv4_pay_queue_index", > "rule": "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 proto is 255 ttl is 2 tos is 4 / end actions queue index 1 /= end", > @@ -6609,6 +6655,175 @@ > tv_mac_ipv4_gtpu_eh_ul_ipv6_udp_without_inputset_mark_rss =3D { > "check_param": {"port_id": 0, "passthru": 1, "mark_id": 0} } >=20 > +#gre tunnel inner fdir > +tv_mac_ipv4_gre_ipv4_queue_index =3D { > + "name": "test_mac_ipv4_gre_ipv4_queue_index", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / end actions queue index 1 / e= nd", > + "scapy_str": MAC_IPV4_GRE_IPV4, > + "check_param": {"port_id": 0, "queue": 1} } > + > +tv_mac_ipv4_gre_ipv4_rss_queue =3D { > + "name": "mac_ipv4_gre_ipv4_rss_queue", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / end actions rss queues 2 3 en= d / > end", > + "scapy_str": MAC_IPV4_GRE_IPV4, > + "check_param": {"port_id": 0, "queue": [2,3]} } > + > +tv_mac_ipv4_gre_ipv4_passthru =3D { > + "name": "mac_ipv4_gre_ipv4_passthru", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / end actions passthru / end", > + "scapy_str": MAC_IPV4_GRE_IPV4, > + "check_param": {"port_id": 0, "passthru": 1} } > + > +tv_mac_ipv4_gre_ipv4_drop =3D { > + "name": "mac_ipv4_gre_ipv4_drop", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / end actions drop / end", > + "scapy_str": MAC_IPV4_GRE_IPV4, > + "check_param": {"port_id": 0, "drop":1} } > + > +tv_mac_ipv4_gre_ipv4_mark_rss =3D{ > + "name": "mac_ipv4_gre_ipv4_mark_rss", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / end actions mark / rss / end"= , > + "scapy_str": MAC_IPV4_GRE_IPV4, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 0} } > + > +tv_mac_ipv4_gre_ipv4_mark =3D { > + "name": "mac_ipv4_gre_ipv4_mark", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / end actions mark id 5 / end", > + "scapy_str": MAC_IPV4_GRE_IPV4, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 5} } > + > +tv_mac_ipv4_gre_ipv6_queue_index =3D { > + "name": "test_mac_ipv4_gre_ipv6_queue_index", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / end > actions queue index 15 / mark id 1 / end", > + "scapy_str": MAC_IPV4_GRE_IPV6, > + "check_param": {"port_id": 0, "queue": 15, "mark_id": 1} } > + > +tv_mac_ipv4_gre_ipv6_drop =3D { > + "name": "test_mac_ipv4_gre_ipv6_drop", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / end > actions drop / end", > + "scapy_str": MAC_IPV4_GRE_IPV6, > + "check_param": {"port_id": 0, "drop": 1} } > + > +tv_mac_ipv4_gre_ipv6_rss_queue =3D { > + "name": "test_mac_ipv4_gre_ipv6_rss_queue", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / end > actions rss queues 8 9 10 11 12 13 14 15 end / mark id 2 / end", > + "scapy_str": MAC_IPV4_GRE_IPV6, > + "check_param": {"port_id": 0, "queue": [8, 9, 10, 11, 12, 13, 14, > +15], "mark_id": 2} } > + > +tv_mac_ipv4_gre_ipv6_passthru =3D { > + "name": "test_mac_ipv4_gre_ipv6_passthru", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / end > actions passthru / mark id 3 / end", > + "scapy_str": MAC_IPV4_GRE_IPV6, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 3} } > + > +tv_mac_ipv4_gre_ipv6_mark_rss =3D { > + "name": "test_mac_ipv4_gre_ipv6_mark_rss", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / end > actions mark id 4 / rss / end", > + "scapy_str": MAC_IPV4_GRE_IPV6, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 4} } > + > +tv_mac_ipv4_gre_ipv6_mark =3D { > + "name": "test_mac_ipv4_gre_ipv6_mark", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / end > actions mark id 5 / rss / end", > + "scapy_str": MAC_IPV4_GRE_IPV6, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 5} } > + > +tv_mac_ipv4_gre_ipv4_tcp_queue_index =3D { > + "name": "test_mac_ipv4_gre_ipv4_tcp_queue_index", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / tcp src is 22 dst is 23 / end= actions > queue index 1 / mark id 0 / end", > + "scapy_str": MAC_IPV4_GRE_IPV4_TCP, > + "check_param": {"port_id": 0, "queue": 1, "mark_id": 0} } > + > +tv_mac_ipv4_gre_ipv4_tcp_rss_queue =3D { > + "name": "mac_ipv4_gre_ipv4_tcp_rss_queue", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / tcp src is 22 dst is 23 / end= actions > rss queues 1 2 3 4 end / mark id 4294967294 / end", > + "scapy_str": MAC_IPV4_GRE_IPV4_TCP, > + "check_param": {"port_id": 0, "queue": [1, 2, 3, 4], "mark_id": > +4294967294 } } > + > +tv_mac_ipv4_gre_ipv4_tcp_passthru =3D { > + "name": "mac_ipv4_gre_ipv4_tcp_passthru", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / tcp src is 22 dst is 23 / end= actions > passthru / mark id 1 / end", > + "scapy_str": MAC_IPV4_GRE_IPV4_TCP, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 1 } } > + > +tv_mac_ipv4_gre_ipv4_tcp_drop =3D { > + "name": "mac_ipv4_gre_ipv4_tcp_drop", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / tcp src is 22 dst is 23 / end= actions > drop / end", > + "scapy_str": MAC_IPV4_GRE_IPV4_TCP, > + "check_param": {"port_id": 0, "drop": 1 } } > + > +tv_mac_ipv4_gre_ipv4_tcp_mark_rss =3D { > + "name": "mac_ipv4_gre_ipv4_tcp_mark_rss", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / tcp src is 22 dst is 23 / end= actions > mark id 2 / rss / end ", > + "scapy_str": MAC_IPV4_GRE_IPV4_TCP, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 2} } > + > +tv_mac_ipv4_gre_ipv4_tcp_mark =3D { > + "name": "mac_ipv4_gre_ipv4_tcp_mark", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv4 src i= s > 192.168.0.20 dst is 192.168.0.21 tos is 4 / tcp src is 22 dst is 23 / end= actions > mark id 1 / end ", > + "scapy_str": MAC_IPV4_GRE_IPV4_TCP, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 1} } > + > +tv_mac_ipv4_gre_ipv6_tcp_queue_index =3D { > + "name": "test_mac_ipv4_gre_ipv6_tcp_queue_index", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / tcp src = is > 22 dst is 23 / end actions queue index 6 / mark id 4 / end", > + "scapy_str": MAC_IPV4_GRE_IPV6_TCP, > + "check_param": {"port_id": 0, "queue": 6, "mark_id": 4} } > + > +tv_mac_ipv4_gre_ipv6_tcp_rss_queue =3D { > + "name": "mac_ipv4_gre_ipv6_tcp_rss_queue", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / tcp src = is > 22 dst is 23 / end actions rss queues 4 5 6 7 end / mark id 4294967294 / = end", > + "scapy_str": MAC_IPV4_GRE_IPV6_TCP, > + "check_param": {"port_id": 0, "queue": [4, 5, 6, 7], "mark_id": > +4294967294} } > + > +tv_mac_ipv4_gre_ipv6_tcp_passthru =3D { > + "name": "mac_ipv4_gre_ipv6_tcp_passthru", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / tcp src = is > 22 dst is 23 / end actions passthru / mark id 7 / end", > + "scapy_str": MAC_IPV4_GRE_IPV6_TCP, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 7} } > + > +tv_mac_ipv4_gre_ipv6_tcp_drop =3D { > + "name": "mac_ipv4_gre_ipv6_tcp_drop", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / tcp src = is > 22 dst is 23 / end actions drop / end", > + "scapy_str": MAC_IPV4_GRE_IPV6_TCP, > + "check_param": {"port_id": 0, "drop": 1} } > + > +tv_mac_ipv4_gre_ipv6_tcp_mark_rss =3D { > + "name": "mac_ipv4_gre_ipv6_tcp_mark_rss", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / tcp src = is > 22 dst is 23 / end actions mark id 6 / rss / end ", > + "scapy_str": MAC_IPV4_GRE_IPV6_TCP, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 6} } > + > +tv_mac_ipv4_gre_ipv6_tcp_mark =3D { > + "name": "mac_ipv4_gre_ipv6_tcp_mark", > + "rule": "flow create 0 ingress pattern eth / ipv4 / gre / ipv6 dst i= s > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 tc is 1 / tcp src = is > 22 dst is 23 / end actions mark id 3 / end ", > + "scapy_str": MAC_IPV4_GRE_IPV6_TCP, > + "check_param": {"port_id": 0, "passthru": 1, "mark_id": 3} } > + > vectors_ipv4_pay =3D [tv_mac_ipv4_pay_queue_index, > tv_mac_ipv4_pay_mark_rss,tv_mac_ipv4_pay_passthru, > tv_mac_ipv4_pay_drop, tv_mac_ipv4_pay_queue_gro= up, > tv_mac_ipv4_pay_mark] >=20 > @@ -7099,6 +7314,63 @@ vectors_ipv4_gtpu_eh_ul_ipv6_udp =3D > [tv_mac_ipv4_gtpu_eh_ul_ipv6_udp_inner_srcip_ >=20 > tv_mac_ipv4_gtpu_eh_ul_ipv6_udp_without_inputset_passthru, > tv_mac_ipv4_gtpu_eh_ul_ipv6_udp_without_inputset_drop, >=20 > tv_mac_ipv4_gtpu_eh_ul_ipv6_udp_without_inputset_mark_rss] >=20 > +#gre tunnel inner > +vectors_ipv4_gre_ipv4 =3D [ > + tv_mac_ipv4_gre_ipv4_queue_index, > + tv_mac_ipv4_gre_ipv4_rss_queue, > + tv_mac_ipv4_gre_ipv4_passthru, > + tv_mac_ipv4_gre_ipv4_drop, > + tv_mac_ipv4_gre_ipv4_mark_rss, > + tv_mac_ipv4_gre_ipv4_mark > + ] > + > +vectors_ipv6_gre_ipv4 =3D > [eval(str(each).replace('ipv4_gre_ipv4','ipv6_gre_ipv4').replace('IP()','= IPv6()') > + .replace('eth / ipv4','eth / ipv6')) for > +each in vectors_ipv4_gre_ipv4] > + > +vectors_ipv4_gre_ipv6 =3D [ > + tv_mac_ipv4_gre_ipv6_queue_index, > + tv_mac_ipv4_gre_ipv6_rss_queue, > + tv_mac_ipv4_gre_ipv6_passthru, > + tv_mac_ipv4_gre_ipv6_drop, > + tv_mac_ipv4_gre_ipv6_mark_rss, > + tv_mac_ipv4_gre_ipv6_mark > +] > + > +vectors_ipv6_gre_ipv6 =3D > [eval(str(each).replace('ipv4_gre_ipv6','ipv6_gre_ipv6').replace('IP()','= IPv6()') > + .replace('eth / ipv4','eth / ipv6')) for > +each in vectors_ipv4_gre_ipv6] > + > +vectors_ipv4_gre_ipv4_tcp =3D [ > + tv_mac_ipv4_gre_ipv4_tcp_queue_index, > + tv_mac_ipv4_gre_ipv4_tcp_rss_queue, > + tv_mac_ipv4_gre_ipv4_tcp_passthru, > + tv_mac_ipv4_gre_ipv4_tcp_drop, > + tv_mac_ipv4_gre_ipv4_tcp_mark_rss, > + tv_mac_ipv4_gre_ipv4_tcp_mark > +] > + > +vectors_ipv6_gre_ipv4_tcp =3D > [eval(str(each).replace('ipv4_gre_ipv4','ipv6_gre_ipv4').replace('eth / > ipv4','eth / ipv6') > + .replace('IP()','IPv6()')) for each > +in vectors_ipv4_gre_ipv4_tcp] > + > +vectors_ipv4_gre_ipv6_tcp =3D [ > + tv_mac_ipv4_gre_ipv6_tcp_queue_index, > + tv_mac_ipv4_gre_ipv6_tcp_rss_queue, > + tv_mac_ipv4_gre_ipv6_tcp_passthru, > + tv_mac_ipv4_gre_ipv6_tcp_drop, > + tv_mac_ipv4_gre_ipv6_tcp_mark_rss, > + tv_mac_ipv4_gre_ipv6_tcp_mark > + ] > + > +vectors_ipv6_gre_ipv6_tcp =3D > [eval(str(each).replace('ipv4_gre_ipv6','ipv6_gre_ipv6').replace('eth / > ipv4','eth / ipv6') > + .replace('IP()','IPv6()'))for each in > +vectors_ipv4_gre_ipv6_tcp] > + > +vectors_ipv4_gre_ipv4_udp =3D > +[eval(str(each).replace('tcp','udp').replace('TCP','UDP')) for each in > +vectors_ipv4_gre_ipv4_tcp] > + > +vectors_ipv6_gre_ipv4_udp =3D > +[eval(str(each).replace('tcp','udp').replace('TCP','UDP')) for each in > +vectors_ipv6_gre_ipv4_tcp] > + > +vectors_ipv4_gre_ipv6_udp =3D > +[eval(str(each).replace('tcp','udp').replace('TCP','UDP')) for each in > +vectors_ipv4_gre_ipv6_tcp] > + > +vectors_ipv6_gre_ipv6_udp =3D > +[eval(str(each).replace('tcp','udp').replace('TCP','UDP')) for each in > +vectors_ipv6_gre_ipv6_tcp] > + > class TestIAVFFdir(TestCase): >=20 > def rte_flow_process(self, vectors): > @@ -9372,6 +9644,42 @@ class TestIAVFFdir(TestCase): >=20 > self._create_check_conflict_rule(rules, pkts) >=20 > + def test_mac_ipv4_gre_ipv4(self): > + self.rte_flow_process(vectors_ipv4_gre_ipv4) > + > + def test_mac_ipv6_gre_ipv4(self): > + self.rte_flow_process(vectors_ipv6_gre_ipv4) > + > + def test_mac_ipv4_gre_ipv6(self): > + self.rte_flow_process(vectors_ipv4_gre_ipv6) > + > + def test_mac_ipv6_gre_ipv6(self): > + self.rte_flow_process(vectors_ipv6_gre_ipv6) > + > + def test_mac_ipv4_gre_ipv4_tcp(self): > + self.rte_flow_process(vectors_ipv4_gre_ipv4_tcp) > + > + def test_mac_ipv6_gre_ipv4_tcp(self): > + self.rte_flow_process(vectors_ipv6_gre_ipv4_tcp) > + > + def test_mac_ipv4_gre_ipv6_tcp(self): > + self.rte_flow_process(vectors_ipv4_gre_ipv6_tcp) > + > + def test_mac_ipv6_gre_ipv6_tcp(self): > + self.rte_flow_process(vectors_ipv6_gre_ipv6_tcp) > + > + def test_mac_ipv4_gre_ipv4_udp(self): > + self.rte_flow_process(vectors_ipv4_gre_ipv4_udp) > + > + def test_mac_ipv6_gre_ipv4_udp(self): > + self.rte_flow_process(vectors_ipv6_gre_ipv4_udp) > + > + def test_mac_ipv4_gre_ipv6_udp(self): > + self.rte_flow_process(vectors_ipv4_gre_ipv6_udp) > + > + def test_mac_ipv6_gre_ipv6_udp(self): > + self.rte_flow_process(vectors_ipv6_gre_ipv6_udp) > + > def tear_down(self): > # destroy all flow rule on port 0 > self.dut.kill_all() > -- > 2.17.1