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 0F365A04FF; Mon, 18 Apr 2022 05:44:55 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A64474014F; Mon, 18 Apr 2022 05:44:54 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 2DB4040141 for ; Mon, 18 Apr 2022 05:44:53 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 23HNVC1j007628; Sun, 17 Apr 2022 20:44:52 -0700 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2175.outbound.protection.outlook.com [104.47.57.175]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3ffwanv2t7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 17 Apr 2022 20:44:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e/F9TkEZ2AK3/vSP5zRgeZS1WSh4ynjt/uG9Eo8hQGDGbmq1mDFmZQSqYs54K7pJTZks8GUPL3mGjiHPVUXoEYen1UqXPM07RomtssJpOw1gONcm0Bj0FuWIP0475l2naon2OgIl/ThN0vimGuznZHCxb4QFrvkUxOrNwr58y+A2FP7BcGkxBTt4LBYLxdO4+yptWjsuCHlaKov4odFUHujHGs1eYJk4TDXLqhAlVl6ZswWgHzfEKtjCjJDWVtIJzrV5JUgiUburkZ2+B2aVUEzelxbrxFFWeO3FMcz6+AeJPvARevGGvCwSyDgO1097Gxl5SuyypLO/SPgBH3UAVA== 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=vMfWSJrTPrtSD8SNldgbt9TeICt1phoVzhuT7y3wwIc=; b=VP90vX51CXMb+Vq/2kF2LRZeRsPFAjfejYBWy+pS3Tnn309uvPSuASKOu16B4P65HTe9BWp59y0OxFQ1WtjAmLR3DaoIilToxwglyT8Ho2gDFGWYANkIbbZNyJsR+tA2iPUU5r+eDSd6Z4vgi3lI7G/r1iFpq7Hvv9GHDfm7hnTqHD9o1J3790c2dkNWqIOhOdIb80fEO/ogiF0izLt8MxX4VNmf8r+GCzo72ORE6WXubiavqTCemIA2HI0LWOyjTKCFaDHeKgj2pfdcqI3Qwxsi/IZNNshEduCprfP1Qn/Ca6VM5QQEnznRB0IvFT49m24F8pN0/sgLp9zt01g2cw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vMfWSJrTPrtSD8SNldgbt9TeICt1phoVzhuT7y3wwIc=; b=VuktKQKsdss4VHCiFT8t0tCfu1IEKGORyBN+5v4zRYw90CLdr3GAhE33POOTLTE8qy7IZYnkgxebPGqiX6r5aXS7QDreQqzYcKGkcfk12OjMiXyhyy9dwOdDhuG9pe9dc5VY2IJrUGxpEZA6l3QiFqvYe2jRQK2iOqHNA4Iqjns= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by CO6PR18MB3842.namprd18.prod.outlook.com (2603:10b6:5:341::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.18; Mon, 18 Apr 2022 03:44:48 +0000 Received: from PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::b12d:14a8:30d6:454e]) by PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::b12d:14a8:30d6:454e%3]) with mapi id 15.20.5164.025; Mon, 18 Apr 2022 03:44:48 +0000 From: Anoob Joseph To: Akhil Goyal , Vamsi Krishna Attunuru CC: "thomas@monjalon.net" , "david.marchand@redhat.com" , "hemant.agrawal@nxp.com" , "konstantin.ananyev@intel.com" , "ciara.power@intel.com" , "ferruh.yigit@intel.com" , "andrew.rybchenko@oktetlabs.ru" , Nithin Kumar Dabilpuram , "dev@dpdk.org" Subject: RE: [PATCH v4 10/10] test/security: add inline IPsec IPv6 flow label cases Thread-Topic: [PATCH v4 10/10] test/security: add inline IPsec IPv6 flow label cases Thread-Index: AQHYUcfcuOUWAbPiVkidPrO28iEWUqz1CSeg Date: Mon, 18 Apr 2022 03:44:48 +0000 Message-ID: References: <20220217172341.607360-1-gakhil@marvell.com> <20220416192530.173895-1-gakhil@marvell.com> <20220416192530.173895-11-gakhil@marvell.com> In-Reply-To: <20220416192530.173895-11-gakhil@marvell.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a2add601-a2b7-4f35-c89e-08da20edc96e x-ms-traffictypediagnostic: CO6PR18MB3842:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cD0okCXPBLJOvZqW9r6Q4N4DAEDmtYtTtUUcFg7glvmx0Tfdco+DaOEaslLJFoI5Re2dEIyTvYTkY0cMQcF6GvlG1VZx472jtI9cC1hLHUnBsO9QPlB3q+FN9bpbEe9bIkbe7PMjld9u377ujrGolM4vJlfXdXYnFu4len1HNNd4ddxEzpdEc14vAesXVhPayjKnEGUSaHb6pEocSt8gUssFjCPx7gl/CLkVJBKjshG0mfmhdHT14u+5Mwk1ZL8d9VI6DkY9YFqeO9SY0oRtUfmvJyh4ZA464KsSAK7P+wWCdgLRRPRAu2umLXDTHvQJXW6R7I4OxilG6wx+ViXBuNBONBUcyyGgaFaCLkSCJ2Cwp82cHM8KaqD7NJaIKmFkmKSH3FTrYIRwT/JLjcP+ES21Hxd0W5qogCiW1I6AYGJKbkY4+1gDi10/NC915yJlxb+7KCu06nN0Af5Cq3GUy61/5aGUnfo81M7i/J1KQSK1PSjj54umagNBW1uR+roPUMUn4JDZ7DOv08FQvl7ZhGI9dLE1S6OD4dPvtonsdDrxSz2KCdP4/Ajob3DSd/3pCJ7eMRzF+zObY8RJQJSnf78u0FxYRuWPLCj/ZamjCY+sDQSCnLsLgf+AjqxEIg/lwjVWO3a60uIz95br4nUzhBNNJFFVOSd+QsiO+AgTy38IS1KtKWvC57mGu8B867BDqvinNrkm5N6FPkZMtIsyyw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4672.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(26005)(186003)(86362001)(9686003)(76116006)(2906002)(38070700005)(83380400001)(8676002)(4326008)(15650500001)(122000001)(66946007)(64756008)(66556008)(66476007)(38100700002)(5660300002)(52536014)(66446008)(8936002)(71200400001)(508600001)(33656002)(55016003)(6506007)(54906003)(110136005)(53546011)(316002)(7696005)(6636002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?7zZdqnHf6Q4akUSWNcjq8+n4lIF/AC1z+xpGGWciW8tPIfRpUjLWL1hjzd9A?= =?us-ascii?Q?mwHnjvEnwtsvVj5qG61NGd2QXo5G0SSsTfSrF4TC5tUbXsM/ogBgoQvB8izz?= =?us-ascii?Q?/B1GYIMdk/2/OK7UzZcEMUX+/upCeMqgzPV2s+CO+wd0M5Zn5afsrsZGOC8X?= =?us-ascii?Q?8cN92Qezo8TKx2y4uGQXYNtSrqQn3IBD0UqY+MWpf1vO1RJx7/MNUGjSJlyQ?= =?us-ascii?Q?wPq0+NGlU7SeQ+2M9ZBCsWLnqqj4LfdFMGf5Oa58i8Jgz3CIIxFDmQw6SZVr?= =?us-ascii?Q?Vg7ReUuJxF5A8sFilsmMvmzgTt/ZkjKzvpGgHqhcQJPhAmqOdMXBfNcdRS8b?= =?us-ascii?Q?dg0rIFs3Vis+i7cvlCcKvsJivKsDf9nkS7S5pYtwkUxzON23AjX51CXKPxmX?= =?us-ascii?Q?jYAArUf6QhlGpxHGPl9Qf7UXFO8lBs4yaHni2kthDr3b2f9qBSwUWqWSrvz7?= =?us-ascii?Q?B0Acow+t3Lz6A33NpPo16sizuImbxZpOEsq6KggF6HoxIzu3k+HPATsLyGl5?= =?us-ascii?Q?gmQoQ8jKQI1R2yBbpzhL0wVKvXkMAi0e+qoKf/YRGXX8qQ1meJI2j22MRwj2?= =?us-ascii?Q?TY+UYtKUEUC63f6VV5VhZxDyiCdjre/V1mDv+y/MGQmlaP1Si+pm1vhHqa1e?= =?us-ascii?Q?8Rk2ofSz0UPJ+Fk/t5y52htNWtw+lrFNlN5n8o/OKdv9Rr+JS0IFpFSvvmCr?= =?us-ascii?Q?cSKF5UXKThaTnB0rOFPTPv612tJkgSWDrL3LrwcXeSHDDQKSOPa1MZHzNULW?= =?us-ascii?Q?vZLbW6U3vDPy48aKcw6qxeVCk8OvrWrFD7X7zg4Ik7Ogo3tt76tg05E7BlvT?= =?us-ascii?Q?LyyQP5Dx/jiY0rmrSTU/24c+LU8iAD6tNknyo9od4d9pW0ABV53GvLYvrv/b?= =?us-ascii?Q?erCOM++92it30ZHhCSUyiqU/QsxRW4u3HyuLVvpDgHs+dfimfRFA/xrNiWKf?= =?us-ascii?Q?yoGgu0r0r/F8fntCUlIPzhxeCmdrzlSOCBFjt8BT2CneU1lJ+nMiavusN1jw?= =?us-ascii?Q?tfGY+lQ0amPh7ro8z2p8WrDqbVL4u2xVoWkALwqZHo93jpuZ0HFB4wzl5mqx?= =?us-ascii?Q?qcCIeKdmRIBy+x5KPEED6N+QhC3Pc7I6ClYxzl0+DFDp17oq6YqXG5NnWVYy?= =?us-ascii?Q?0KZ64qdEmLFVxh5JpJUY6+UNQY9zozEUg+b4rk4AQ5C76RsQKqclSPRPo1sd?= =?us-ascii?Q?O1gojYWLDOzo9tACSxJufTmDVIAqVRh+IQPB0Z4DjF1GTbJrK5V7TNe+BA38?= =?us-ascii?Q?7U39W71vJZHlYp0bepjB0LIc98CyulWEXBfCdCsXCZiq2BJko+VYMNOmU4R7?= =?us-ascii?Q?GSokgsOhs2IDKKIJMa3jo2DTtBWxOsC8YmsQLIltKZfe13E1U21WpuMYRrOn?= =?us-ascii?Q?eAL/9z6WJkDGwSSAPNLVUQLVzAWUfmygrcAhtWZVy83eHLRdCL/mHrCz1y0V?= =?us-ascii?Q?W8bi2XTiJtiwXwrO2eJhg1dWiEZoL3l+re9VDgGyHWOuUwn6Bn4iZJ4ifKTX?= =?us-ascii?Q?39knOYjCPXRg/1FKbZyMhiKfx2yPWxBXkjPbVCY3gGaxqMpmfVzMl0j/cuiW?= =?us-ascii?Q?Y7SXiCKqPS1CLs7E8DmzoHW9/RbSvV64vm6o5CLggfqTRUbyoAKH9SEHqB/l?= =?us-ascii?Q?MZod1kpO53TQuy2f4wcVQeW48IeBaLHbcgVOKdh2V6GkpKzfI5pNtOQxwnS2?= =?us-ascii?Q?kxfjaKpKUrFxTQparNbdh4WW1gUGeAWANIq5zkh+vRmj5bG0UXAMuABduUKf?= =?us-ascii?Q?qlXErqDwLA=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4672.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2add601-a2b7-4f35-c89e-08da20edc96e X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2022 03:44:48.4540 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: IR1hKcAnp+Mj/Y/oLv0tUBLK0R6GIocxnBAmF0h6AdIM0E7iRq7pl8XRuqc6q3LsMmlHgMfa5vFyOvLvoCoo2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR18MB3842 X-Proofpoint-GUID: GTPKi5NycWqJta4daRxpArKu91B3ha0h X-Proofpoint-ORIG-GUID: GTPKi5NycWqJta4daRxpArKu91B3ha0h X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.858,Hydra:6.0.486,FMLib:17.11.64.514 definitions=2022-04-18_01,2022-04-15_01,2022-02-23_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Hi Akhil, Vamsi, Please add the same test cases in lookaside IPsec tests also. And please do= update release notes. Thanks, Anoob > -----Original Message----- > From: Akhil Goyal > Sent: Sunday, April 17, 2022 12:56 AM > To: dev@dpdk.org > Cc: thomas@monjalon.net; david.marchand@redhat.com; > hemant.agrawal@nxp.com; Anoob Joseph ; > konstantin.ananyev@intel.com; ciara.power@intel.com; > ferruh.yigit@intel.com; andrew.rybchenko@oktetlabs.ru; Nithin Kumar > Dabilpuram ; Vamsi Krishna Attunuru > > Subject: [PATCH v4 10/10] test/security: add inline IPsec IPv6 flow label= cases >=20 > From: Vamsi Attunuru >=20 > Patch adds unit tests for IPv6 flow label set & copy operations. >=20 > Signed-off-by: Vamsi Attunuru > --- > app/test/test_cryptodev_security_ipsec.c | 35 ++++++++++- > app/test/test_cryptodev_security_ipsec.h | 10 +++ > app/test/test_security_inline_proto.c | 79 ++++++++++++++++++++++++ > 3 files changed, 123 insertions(+), 1 deletion(-) >=20 > diff --git a/app/test/test_cryptodev_security_ipsec.c > b/app/test/test_cryptodev_security_ipsec.c > index 14c6ba681f..408bd0bc82 100644 > --- a/app/test/test_cryptodev_security_ipsec.c > +++ b/app/test/test_cryptodev_security_ipsec.c > @@ -495,6 +495,10 @@ test_ipsec_td_prepare(const struct crypto_param > *param1, > flags->dscp =3D=3D TEST_IPSEC_COPY_DSCP_INNER_1) > td->ipsec_xform.options.copy_dscp =3D 1; >=20 > + if (flags->flabel =3D=3D TEST_IPSEC_COPY_FLABEL_INNER_0 || > + flags->flabel =3D=3D TEST_IPSEC_COPY_FLABEL_INNER_1) > + td->ipsec_xform.options.copy_flabel =3D 1; > + > if (flags->dec_ttl_or_hop_limit) > td->ipsec_xform.options.dec_ttl =3D 1; > } > @@ -933,6 +937,7 @@ test_ipsec_iph6_hdr_validate(const struct > rte_ipv6_hdr *iph6, > const struct ipsec_test_flags *flags) { > uint32_t vtc_flow; > + uint32_t flabel; > uint8_t dscp; >=20 > if (!is_valid_ipv6_pkt(iph6)) { > @@ -959,6 +964,23 @@ test_ipsec_iph6_hdr_validate(const struct > rte_ipv6_hdr *iph6, > } > } >=20 > + flabel =3D vtc_flow & RTE_IPV6_HDR_FL_MASK; > + > + if (flags->flabel =3D=3D TEST_IPSEC_COPY_FLABEL_INNER_1 || > + flags->flabel =3D=3D TEST_IPSEC_SET_FLABEL_1_INNER_0) { > + if (flabel !=3D TEST_IPSEC_FLABEL_VAL) { > + printf("FLABEL value is not matching [exp: %x, actual: > %x]\n", > + TEST_IPSEC_FLABEL_VAL, flabel); > + return -1; > + } > + } else { > + if (flabel !=3D 0) { > + printf("FLABEL value is set [exp: 0, actual: %x]\n", > + flabel); > + return -1; > + } > + } > + > return 0; > } >=20 > @@ -1159,7 +1181,11 @@ test_ipsec_pkt_update(uint8_t *pkt, const struct > ipsec_test_flags *flags) > if (flags->dscp =3D=3D TEST_IPSEC_COPY_DSCP_INNER_1 || > flags->dscp =3D=3D TEST_IPSEC_SET_DSCP_0_INNER_1 || > flags->dscp =3D=3D TEST_IPSEC_COPY_DSCP_INNER_0 || > - flags->dscp =3D=3D TEST_IPSEC_SET_DSCP_1_INNER_0) { > + flags->dscp =3D=3D TEST_IPSEC_SET_DSCP_1_INNER_0 || > + flags->flabel =3D=3D TEST_IPSEC_COPY_FLABEL_INNER_1 || > + flags->flabel =3D=3D TEST_IPSEC_SET_FLABEL_0_INNER_1 || > + flags->flabel =3D=3D TEST_IPSEC_COPY_FLABEL_INNER_0 || > + flags->flabel =3D=3D TEST_IPSEC_SET_FLABEL_1_INNER_0) { >=20 > if (is_ipv4(iph4)) { > uint8_t tos; > @@ -1187,6 +1213,13 @@ test_ipsec_pkt_update(uint8_t *pkt, const struct > ipsec_test_flags *flags) > else > vtc_flow &=3D ~RTE_IPV6_HDR_DSCP_MASK; >=20 > + if (flags->flabel =3D=3D > TEST_IPSEC_COPY_FLABEL_INNER_1 || > + flags->flabel =3D=3D > TEST_IPSEC_SET_FLABEL_0_INNER_1) > + vtc_flow |=3D (RTE_IPV6_HDR_FL_MASK & > + (TEST_IPSEC_FLABEL_VAL << > RTE_IPV6_HDR_FL_SHIFT)); > + else > + vtc_flow &=3D ~RTE_IPV6_HDR_FL_MASK; > + > iph6->vtc_flow =3D rte_cpu_to_be_32(vtc_flow); > } > } > diff --git a/app/test/test_cryptodev_security_ipsec.h > b/app/test/test_cryptodev_security_ipsec.h > index 418ab16ba6..9a3c021dd8 100644 > --- a/app/test/test_cryptodev_security_ipsec.h > +++ b/app/test/test_cryptodev_security_ipsec.h > @@ -73,6 +73,15 @@ enum dscp_flags { > TEST_IPSEC_SET_DSCP_1_INNER_0, > }; >=20 > +#define TEST_IPSEC_FLABEL_VAL 0x1234 > + > +enum flabel_flags { > + TEST_IPSEC_COPY_FLABEL_INNER_0 =3D 1, > + TEST_IPSEC_COPY_FLABEL_INNER_1, > + TEST_IPSEC_SET_FLABEL_0_INNER_1, > + TEST_IPSEC_SET_FLABEL_1_INNER_0, > +}; > + > struct ipsec_test_flags { > bool display_alg; > bool sa_expiry_pkts_soft; > @@ -94,6 +103,7 @@ struct ipsec_test_flags { > bool antireplay; > enum df_flags df; > enum dscp_flags dscp; > + enum flabel_flags flabel; > bool dec_ttl_or_hop_limit; > bool ah; > }; > diff --git a/app/test/test_security_inline_proto.c > b/app/test/test_security_inline_proto.c > index 15f08a2d6c..16fe164f77 100644 > --- a/app/test/test_security_inline_proto.c > +++ b/app/test/test_security_inline_proto.c > @@ -163,6 +163,13 @@ create_inline_ipsec_session(struct ipsec_test_data > *sa, uint16_t portid, > sess_conf->ipsec.tunnel.ipv6.dscp =3D > TEST_IPSEC_DSCP_VAL; >=20 > + if (flags->flabel =3D=3D > TEST_IPSEC_SET_FLABEL_0_INNER_1) > + sess_conf->ipsec.tunnel.ipv6.flabel =3D 0; > + > + if (flags->flabel =3D=3D > TEST_IPSEC_SET_FLABEL_1_INNER_0) > + sess_conf->ipsec.tunnel.ipv6.flabel =3D > + TEST_IPSEC_FLABEL_VAL; > + > memcpy(&sess_conf->ipsec.tunnel.ipv6.src_addr, > &src_v6, > sizeof(src_v6)); > memcpy(&sess_conf->ipsec.tunnel.ipv6.dst_addr, > &dst_v6, @@ -1883,6 +1890,62 @@ > test_ipsec_inline_proto_ipv6_set_dscp_1_inner_0(const void *data > __rte_unused) > return test_ipsec_inline_proto_all(&flags); > } >=20 > +static int > +test_ipsec_inline_proto_ipv6_copy_flabel_inner_0(const void *data > +__rte_unused) { > + struct ipsec_test_flags flags; > + > + memset(&flags, 0, sizeof(flags)); > + > + flags.ipv6 =3D true; > + flags.tunnel_ipv6 =3D true; > + flags.flabel =3D TEST_IPSEC_COPY_FLABEL_INNER_0; > + > + return test_ipsec_inline_proto_all(&flags); > +} > + > +static int > +test_ipsec_inline_proto_ipv6_copy_flabel_inner_1(const void *data > +__rte_unused) { > + struct ipsec_test_flags flags; > + > + memset(&flags, 0, sizeof(flags)); > + > + flags.ipv6 =3D true; > + flags.tunnel_ipv6 =3D true; > + flags.flabel =3D TEST_IPSEC_COPY_FLABEL_INNER_1; > + > + return test_ipsec_inline_proto_all(&flags); > +} > + > +static int > +test_ipsec_inline_proto_ipv6_set_flabel_0_inner_1(const void *data > +__rte_unused) { > + struct ipsec_test_flags flags; > + > + memset(&flags, 0, sizeof(flags)); > + > + flags.ipv6 =3D true; > + flags.tunnel_ipv6 =3D true; > + flags.flabel =3D TEST_IPSEC_SET_FLABEL_0_INNER_1; > + > + return test_ipsec_inline_proto_all(&flags); > +} > + > +static int > +test_ipsec_inline_proto_ipv6_set_flabel_1_inner_0(const void *data > +__rte_unused) { > + struct ipsec_test_flags flags; > + > + memset(&flags, 0, sizeof(flags)); > + > + flags.ipv6 =3D true; > + flags.tunnel_ipv6 =3D true; > + flags.flabel =3D TEST_IPSEC_SET_FLABEL_1_INNER_0; > + > + return test_ipsec_inline_proto_all(&flags); > +} > + > static int > test_ipsec_inline_proto_ipv4_ttl_decrement(const void *data > __rte_unused) { @@ -2329,6 +2392,22 @@ static struct unit_test_suite > inline_ipsec_testsuite =3D { > "Tunnel header IPv6 set DSCP 1 (inner 0)", > ut_setup_inline_ipsec, ut_teardown_inline_ipsec, > test_ipsec_inline_proto_ipv6_set_dscp_1_inner_0), > + TEST_CASE_NAMED_ST( > + "Tunnel header IPv6 copy FLABEL (inner 0)", > + ut_setup_inline_ipsec, ut_teardown_inline_ipsec, > + test_ipsec_inline_proto_ipv6_copy_flabel_inner_0), > + TEST_CASE_NAMED_ST( > + "Tunnel header IPv6 copy FLABEL (inner 1)", > + ut_setup_inline_ipsec, ut_teardown_inline_ipsec, > + test_ipsec_inline_proto_ipv6_copy_flabel_inner_1), > + TEST_CASE_NAMED_ST( > + "Tunnel header IPv6 set FLABEL 0 (inner 1)", > + ut_setup_inline_ipsec, ut_teardown_inline_ipsec, > + > test_ipsec_inline_proto_ipv6_set_flabel_0_inner_1), > + TEST_CASE_NAMED_ST( > + "Tunnel header IPv6 set FLABEL 1 (inner 0)", > + ut_setup_inline_ipsec, ut_teardown_inline_ipsec, > + > test_ipsec_inline_proto_ipv6_set_flabel_1_inner_0), > TEST_CASE_NAMED_ST( > "Tunnel header IPv4 decrement inner TTL", > ut_setup_inline_ipsec, ut_teardown_inline_ipsec, > -- > 2.25.1