From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 7200245AFC;
	Thu, 10 Oct 2024 06:24:09 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 4138140298;
	Thu, 10 Oct 2024 06:24:09 +0200 (CEST)
Received: from mx0a-0016f401.pphosted.com (mx0a-0016f401.pphosted.com
 [67.231.148.174])
 by mails.dpdk.org (Postfix) with ESMTP id A91C34025C
 for <dev@dpdk.org>; Thu, 10 Oct 2024 06:24:07 +0200 (CEST)
Received: from pps.filterd (m0431384.ppops.net [127.0.0.1])
 by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 49A4J4Dh006356;
 Wed, 9 Oct 2024 21:24:03 -0700
Received: from nam02-bn1-obe.outbound.protection.outlook.com
 (mail-bn1nam02lp2040.outbound.protection.outlook.com [104.47.51.40])
 by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 4267svg085-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 09 Oct 2024 21:24:03 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aMKzzUKrY/yKePN+MJTCN+i+nS0x3zD/Aq/8PYSZRXRHK9wZYTp0TTjeUzjzencbyAMsyB+q3jqwERIpTXpnsGnHa4wpwHf0ID5r3i2Lsbs2RIzmGHrk5uEBj3dVrU/xUGHhq+9UMtJa4AUkHss2zWip5UHZOxURBrYBFx21m3B8+yIl+XCDdCmNLzAaMVo73J8Q++msPs9qqIFhv6wvlELdIh4TzeEK7CKrFLvlUOBhE99kknQUfxjAcTIc6S6InbMXZtP4BcUYVhcnXddgeWK7v6DfGAPNVhIVMxcG+0499aJViZ5x/A1dgUZOx+LvsPrDOzFURWTzB2p0RsTwyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 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=3gkqyqoJXCxJhdO69EU+puAeW08I98nCIbkqE98MXKA=;
 b=KQWdHuFPqcwSgtoNufEteGqHimyH4JH7aDv8YgRlyVCAkaxQ5MwI1En+a5ddsTnly63T+SGufbY0tcE/u5dDa2IVGcmbVoSClKz0f1KYFX88KDjbnn8TALKGh3t/MeFEkvQr0H8fXFSADrl+bModkPRNz0w8SbL9sLmAbg84Hz4jEdj8Ia3lY14QrvAMWM2WVxzm+qC/AwaM+WF3VQBYRV5o/yrf/KAMlms/0x+NLx4MXqLp/jto2yqNuixs05f4YkFYs42cVyLErqKm5BZ5Xkk1D0R6XG+LRX1U571NWtN6Y7d0viwaEFKXWrfFvLdl4T2d7LbVeE/QqhHGnobD5Q==
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.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3gkqyqoJXCxJhdO69EU+puAeW08I98nCIbkqE98MXKA=;
 b=IUVP6P7zJRq5XWZxkLEo1laUethwf2B6vi79/5wFd8Zw5xaoWqeaDQigjCZSl3YQYsISSlFB7e1eCP3liRIjCz+BprzHNr5i8wPgWKcz4k86/oQx0RAsKFF9MxYGzyb6pIYUrehaZ+kHi6DYA9yfy6ncf3OfTENcJ3OO17kBddg=
Received: from SJ0PR18MB5111.namprd18.prod.outlook.com (2603:10b6:a03:43a::22)
 by CH0PR18MB4291.namprd18.prod.outlook.com (2603:10b6:610:bb::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.16; Thu, 10 Oct
 2024 04:24:00 +0000
Received: from SJ0PR18MB5111.namprd18.prod.outlook.com
 ([fe80::d5aa:18b:1998:77b7]) by SJ0PR18MB5111.namprd18.prod.outlook.com
 ([fe80::d5aa:18b:1998:77b7%4]) with mapi id 15.20.8048.013; Thu, 10 Oct 2024
 04:24:00 +0000
From: Nitin Saxena <nsaxena@marvell.com>
To: Stephen Hemminger <stephen@networkplumber.org>
CC: Jerin Jacob <jerinj@marvell.com>, Kiran Kumar Kokkilagadda
 <kirankumark@marvell.com>,
 Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
 Zhirun Yan <yanzhirun_163@163.com>, Robin Jarry <rjarry@redhat.com>,
 Christophe Fontaine <cfontain@redhat.com>,
 "dev@dpdk.org" <dev@dpdk.org>, Nitin Saxena <nsaxena16@gmail.com>
Subject: RE: [EXTERNAL] Re: [PATCH v3 0/5] add feature arc in rte_graph
Thread-Topic: [EXTERNAL] Re: [PATCH v3 0/5] add feature arc in rte_graph
Thread-Index: AQHbGnH5UNM/Iywls0WkvuvuB2EQ3rJ/Y1WA
Date: Thu, 10 Oct 2024 04:24:00 +0000
Message-ID: <SJ0PR18MB5111DD5921DC864B641B6DA1B6782@SJ0PR18MB5111.namprd18.prod.outlook.com>
References: <20241008133020.814101-1-nsaxena@marvell.com>
 <20241009133009.1152321-1-nsaxena@marvell.com>
 <20241009103741.6dbb04db@hermes.local>
In-Reply-To: <20241009103741.6dbb04db@hermes.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR18MB5111:EE_|CH0PR18MB4291:EE_
x-ms-office365-filtering-correlation-id: 4c79fad6-8565-4bd8-cc1e-08dce8e35d8e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018;
x-microsoft-antispam-message-info: =?utf-8?B?YWZVMWNKeS9LS2txSmt5OE1rUlZNNWJocXI2Z0NKbjJCc0tNcUhUZmRzQ2JZ?=
 =?utf-8?B?QXNQYWZacFZRODJTWmh3NFJjWXlscGtSU2J0UlZSalA2SXNQempJeGZxZjFj?=
 =?utf-8?B?QkM3VkxvYlhBcS8vekdSdDNESG14TWNnTjJ3K2tCR29jelhIZ1A0OHZIdzM4?=
 =?utf-8?B?cG4vakovOHRLMkZaekZRU0FtUlA1MFFha0ZHZ2srSElFMVdkT21Lb3J1Um0v?=
 =?utf-8?B?VU9IV3NRT1BjRkZHdEwzT3JLY1lScGZEeXdmMUhxKyt0d1YzaVFnNGkvNjZM?=
 =?utf-8?B?eXNRRDFSNFpGNXJSREh5eXlHckpORnN2SnlNM09GZCsvOVA3djZCTHZDYmkr?=
 =?utf-8?B?Mm9IN2NwTEJwd2dSYmRsdkdoZmVkbEZhQmY2dkR6RUhIZEJSRmU0RnIrKzl5?=
 =?utf-8?B?SVlNdFpKcFJDajNQVm5nZUhNUHhwc2dKT2owRVJnVXd6WFZMNTNaR293Tkd3?=
 =?utf-8?B?eDdlbEpRMjJLdkZpV2lwWG9YVnB6MkJCYno5N2hlZXlsYlZ5aU5ncDlraHZW?=
 =?utf-8?B?aWxBL0xHc3NTS0pDd1QxRXdHYmlBTUltTmhlaldBTEZQaUFVK2tsekxucTRX?=
 =?utf-8?B?eDhoaW9zUkVobmNxc1FWM1BkQmF6emxySDNsK0RGbDlZNjNBU0pRaW1zZlNI?=
 =?utf-8?B?eXdudW1VZllidklEM21XVk80aTh1WGUyNHJlRTlNQWJGbzFCbTZwcGFFNW5j?=
 =?utf-8?B?aXAwdGszcHk4d1g1UU1JS0FRSUtIU0N2VjAwVTZMaWlKK1ZtSmd6U3JMSTU5?=
 =?utf-8?B?Y1crd1RmVlJwV0tOU3pBT2x3SmpYVmtWQ09kVlFnWUMwQkFBbGpzZkRtbUd1?=
 =?utf-8?B?Mlh5TXJZQmsyempzQlgwV05EVUEyWDNYVjFvTmFiczJvckZRd00xK3VyekNE?=
 =?utf-8?B?RVhMbVN0bk1RcGQ4WWkzb1o3RFl0NkNUZU5oZXBoWnJWWFRKVXJLR3pienBj?=
 =?utf-8?B?QVRIK0RMRFVoeWZtbkRtSG5jMjVjMk8ybU9QeEJvYjJjZEJCYzdWaDlHRFlv?=
 =?utf-8?B?Wk9ualZ4Uy84cHYvRXNORXhRZE1aZEtnTTBjVDh5SC8xNU1idkxoWldwUG9P?=
 =?utf-8?B?eUtXWWFUOC8xeENUMWo3QzljR1dCY3JVck0zTEErYVYzSnpiTmtIbjZZclRs?=
 =?utf-8?B?VTRDUlFPSEtVeUlPUEVlWXA5K28xci8yZGVJdnBoNWtzSnBmaXdITkNJcGc4?=
 =?utf-8?B?UDNTZUdkelJjYW5sNHRNNnNYOURzNmd2eEZIdENUMG1objlSd21KbUladnda?=
 =?utf-8?B?dVNtbHlOU1paK0pCK2JRaSswa1NqYkdXdXhWTFdOK3JsK0ZwUUVTMXJDU3lE?=
 =?utf-8?B?VlQ0Vk5JT3ZmejRYYWdGbmVsOFp5VEFzS2prNjFkQkVPMTByeE1KZ1R0YVcx?=
 =?utf-8?B?dWxCWnJLSEhLVE9OUmVYcXdWcHNmV0MwNkxpNjc2U2IxMVh0a2ZBcFBWQlNF?=
 =?utf-8?B?VnlVZkMwMEtPMWRhMEdJcW1oN0tkRndVdStDMG1RS0FOUEpVL3M3RXFyYWFD?=
 =?utf-8?B?eEJvNFlpTDFHSWpPRkNIMUNlSmdhaktLckZzd1BJS0xPWEg2VGpQNEQvakIz?=
 =?utf-8?B?UWZ4Z2VDM1RGTjREbWxkUjNRUXMrbmYrcjJhU0xiVk9IajM1U01TSVppNU1W?=
 =?utf-8?B?WDNNOHN4VW5rWEt0OWY2UEFDOTRxV1B2RnZYTWRNSzFxUXBuMi9ENitDcWd0?=
 =?utf-8?B?bUFSZ08vak9zZUNKUStkaEF2L2syRDQ2TEUydGtudlFkYm95ZzFPbHMrMGhP?=
 =?utf-8?Q?Xfw66sN3qJ9ni0zVHI=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:SJ0PR18MB5111.namprd18.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Ynk2VFJ0azNUWXZmSTFyTnc1YVE4NUg2NUtVY1JoVDdxUVM0LzErL2UzcHRO?=
 =?utf-8?B?dDBtMVNmQjAyNHE0am5NQkVibGgyaHhERUVxdFBTc0JJU2RIYjR2bFJkbWll?=
 =?utf-8?B?Z2JKZnp5MGdIRmVwc2RqRmJFWWZuZnhRNHB0dnAwN1haVE5iNTZCb2NNTkpT?=
 =?utf-8?B?Zmt6TDMzRmNnQkkycUNCdXdNbVRoOWtlOWVtT25ZOTJqUW1Mc2l0L2V6Rkhw?=
 =?utf-8?B?M0JGTWRsWGFaZWFjRko4MWtqUFNWUk15dTlJVTc5YTdONVZaeUo4NXFHV2Zo?=
 =?utf-8?B?YVRuaUlGdW5ldTdRa1p5MTlMTTEvY1NmSkowQU0vdHI1bEJtN2hiNnFxN3Qx?=
 =?utf-8?B?MGt2aVo3a2JLYnM0dXZ5ZlcvRjJDMEV1cE43a1ZqV0ZubDVCclNtNnZYSEVN?=
 =?utf-8?B?NXUrVWdGbDRLZVUzTVJXNDRoRWVRcDVnRjcwc29hdXM4MkdlZHZyci91c2Zs?=
 =?utf-8?B?N2htUnJrYXJkNTVsU0lCT1Y0WkUzYzI4eEJHWjBGWDU4ZEJOWGgwSEg3dEhq?=
 =?utf-8?B?WDEyOGF2YVgyaHNmUDg0ajVhaUxITmppMllJQ3k1ZFJINE5tZ0Y3Mmw1Vkkw?=
 =?utf-8?B?c3daV2VTanRRa1dxNU8wUSs3TFhtUjB6SEJiU1ZRWUhHZkRJaFNaV2xIQjRv?=
 =?utf-8?B?dlYrd1BSSWtkaXRHcFd2dldMNlZtYnF0SC8rdTkvM1dWaG4xZ280WlBwNGYr?=
 =?utf-8?B?dDN5b29acG10MmZDY2lPeDVmLytKVkp4S3JySXlCbkZiU1ptV2lIS2xiMVVJ?=
 =?utf-8?B?K0JIMHJJZXBSZXlHcVlCWDlRaW9xdEsyRi9aeDhYS1YzektVUnRvMFFIU2hh?=
 =?utf-8?B?L2t6OGdhQzN6NUZHZWNxZnlPRFFYSXJ0SFRQVVBrNDNUS2N4K2VQSUNRMVA5?=
 =?utf-8?B?YlNWeCtjTCtZa29yOUN0UjBFUG9wdUlHN0d2Ym52T1huTlFvNjl0Wnp0UEs2?=
 =?utf-8?B?NExWaUdiTTRnRFY1Wk1SNjRUdTdnRU9PTTBvaW0zNmFMdFE1eUtuUk5xdVE0?=
 =?utf-8?B?cDVPemdJZXFDR2FxMHJDcDM2L1BubC9lbmtRaFhFT1F2Z2NpQy9kbE9FcDV3?=
 =?utf-8?B?MDRUNEhzcUl3SGhqK0pZWk1NcHBiSkErMEJsZXlzMVM2VE94SFhCZ1RYWWsr?=
 =?utf-8?B?QXpGaWpSb0NrdnBsREZxYjdWaHJ5MmNJSGxLbVRVSUtLVzBucThEOFFuODF1?=
 =?utf-8?B?WWdXSnZBU1dpY1VjRFBEcWd4RkNvYVVGcmFFS2wvNmk4Q3pKT05jVUFnQXdP?=
 =?utf-8?B?MUFnY0lBY0VhbjRMb0xUL2hKN1M5VkhBWUc4VDdQRUtuUHp6TTdRNlo2ZTk1?=
 =?utf-8?B?YVJxYThHSlBEUVBaL1RsSmYzNFN2YzJIMDdKZUNDeWVqSzJWS2dpQmUxQTgz?=
 =?utf-8?B?bWU1b3lTUExCUHVoZ1VIT2hFYnJBNDFrSzNNTVMyd3krRDEvSzBPTjZWZ3pD?=
 =?utf-8?B?bFo1UTNnVk5jR0tmRVoxOTMyUWpWd0s2UXBYQnVwbWZoVGJRMW1FbzhEc0o5?=
 =?utf-8?B?NW91SmZ1bHJqSXp3OExNMStRK1d5VFhqYllzUktmcnNHQ05SL2Y0S204M1lB?=
 =?utf-8?B?R2JIRzM3MEtndG5OZzIzU002T3pjNnFuQ2tBbjU4YVdrbXdhbm4wemFnV3dQ?=
 =?utf-8?B?Q3c5VmptNHIzUFNMM241emozNkZreFlsV2dGQUIzcXgxLzZSSGpHb0hYcWQv?=
 =?utf-8?B?U0lyRkk3c3p4MkdzOTQ4RSsrZkwxd1RZY0Q4K1JmSUFUVHIxY3BwNkJnRFgr?=
 =?utf-8?B?VWFwRlJldUsvZkcxbFdIaVhPbmVxZ2R6dHFtSkp5YXNRMzFCUXI3blZiZUdo?=
 =?utf-8?B?dWJIaFo1eEw1VGlyNlkrZGQ1clp6a3dUQzNaeldnM253bThsRHAwUjdGaDFo?=
 =?utf-8?B?SS9OSWRZdGNMK1UxcEg1dEpNZUUrNXkzZ3FJNzgzMUJZRElWeWtSVzFsQUtW?=
 =?utf-8?B?djN1MHBpcjdiRVNlVStWRTRFak50Q1Z6cUI5R3l2OVJVTGkzbW9ITEhJMEZ0?=
 =?utf-8?B?eVEyRFRLMStDTTQxSTNqOCt0R1UyeVV0cU5NeHNxZkR0QWU0Rm44YXV2czdO?=
 =?utf-8?B?b21tc21YZHhhYklWUmNycnlvZ3lUaVgrTDNncnVQTnBqQ2t6ZytHYVFZSk9U?=
 =?utf-8?Q?M0M/tssgYuTobBkyRpX6fNYmr?=
MIME-Version: 1.0
X-OriginatorOrg: marvell.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR18MB5111.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c79fad6-8565-4bd8-cc1e-08dce8e35d8e
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2024 04:24:00.4409 (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: s5WuC1eb0SCgL2TsWj0Ou14Ujvnf/j4fbrLzdwwgV10mjiSmvoxVIkZy6TXbLqKTqTYd4B9gRKyG0jw5/njpow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR18MB4291
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Proofpoint-ORIG-GUID: HHt4oHzCZmHHUXfmW_OyNTTqBXh9_psD
X-Proofpoint-GUID: HHt4oHzCZmHHUXfmW_OyNTTqBXh9_psD
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.687,Hydra:6.0.235,FMLib:17.0.607.475
 definitions=2020-10-13_15,2020-10-13_02,2020-04-07_01
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

Thanks Stephen. Will fix compilation in next version.

Thanks,
Nitin

> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Wednesday, October 9, 2024 11:08 PM
> To: Nitin Saxena <nsaxena@marvell.com>
> Cc: Jerin Jacob <jerinj@marvell.com>; Kiran Kumar Kokkilagadda
> <kirankumark@marvell.com>; Nithin Kumar Dabilpuram
> <ndabilpuram@marvell.com>; Zhirun Yan <yanzhirun_163@163.com>; Robin
> Jarry <rjarry@redhat.com>; Christophe Fontaine <cfontain@redhat.com>;
> dev@dpdk.org; Nitin Saxena <nsaxena16@gmail.com>
> Subject: [EXTERNAL] Re: [PATCH v3 0/5] add feature arc in rte_graph
>=20
> On Wed, 9 Oct 2024 18:=E2=80=8A59:=E2=80=8A57 +0530 Nitin Saxena <nsaxena=
@=E2=80=8Amarvell.=E2=80=8Acom>
> wrote: > Feature arc represents an ordered list of features/protocols at =
a given
> > networking layer. It is a high level abstraction to connect various > r=
te_graph
>=20
> On Wed, 9 Oct 2024 18:59:57 +0530
> Nitin Saxena <nsaxena@marvell.com> wrote:
>=20
> > Feature arc represents an ordered list of features/protocols at a
> > given networking layer. It is a high level abstraction to connect
> > various rte_graph nodes, as feature nodes, and allow packets steering
> > across these nodes in a generic manner.
> >
> > Features (or feature nodes) are nodes which handles partial or
> > complete handling of a protocol in fast path. Like ipv4-rewrite node,
> > which adds rewrite data to an outgoing IPv4 packet.
> >
> > However in above example, outgoing interface(say "eth0") may have
> > outbound IPsec policy enabled, hence packets must be steered from
> > ipv4-rewrite node to ipsec-outbound-policy node for outbound IPsec
> > policy lookup. On the other hand, packets routed to another interface
> > (eth1) will not be sent to ipsec-outbound-policy node as IPsec feature
> > is disabled on eth1. Feature-arc allows rte_graph applications to
> > manage such constraints easily
> >
> > Feature arc abstraction allows rte_graph based application to
> >
> > 1. Seamlessly steer packets across feature nodes based on whether
> > feature is enabled or disabled on an interface. Features enabled on
> > one interface may not be enabled on another interface with in a same
> > feature arc.
> >
> > 2. Allow enabling/disabling of features on an interface at runtime, so
> > that if a feature is disabled, packets associated with that interface
> > won't be steered to corresponding feature node.
> >
> > 3. Provides mechanism to hook custom/user-defined nodes to a feature
> > node and allow packet steering from feature node to custom node
> > without changing former's fast path function
> >
> > 4. Allow expressing features in a particular sequential order so that
> > packets are steered in an ordered way across nodes in fast path. For
> > eg: if IPsec and IPv4 features are enabled on an ingress interface,
> > packets must be sent to IPsec inbound policy node first and then to
> > ipv4 lookup node.
> >
> > This patch series adds feature arc library in rte_graph and also adds
> > "ipv4-output" feature arc handling in "ipv4-rewrite" node.
> >
> > Changes in v3:
> > - rte_graph_feature_arc_t typedef from uint64_t to uintptr_t to fix
> >   compilation on 32-bit machine
> > - Updated images in .png format
> > - Added ABI change section in release notes
> > - Fixed DPDK CI failures
> >
> > Changes in v2:
> > - Added unit tests for feature arc
> > - Fixed issues found in testing
> > - Added new public APIs rte_graph_feature_arc_feature_to_node(),
> >   rte_graph_feature_arc_feature_to_name(),
> >   rte_graph_feature_arc_num_features()
> > - Added programming guide for feature arc
> > - Added release notes for feature arc
> >
> > Nitin Saxena (5):
> >   graph: add feature arc support
> >   graph: add feature arc option in graph create
> >   graph: add IPv4 output feature arc
> >   test/graph_feature_arc: add functional tests
> >   docs: add programming guide for feature arc
> >
> >  app/test/meson.build                        |    1 +
> >  app/test/test_graph_feature_arc.c           | 1410 +++++++++++++++++++
> >  doc/guides/prog_guide/graph_lib.rst         |  288 ++++
> >  doc/guides/prog_guide/img/feature_arc-1.png |  Bin 0 -> 61532 bytes
> > doc/guides/prog_guide/img/feature_arc-2.png |  Bin 0 -> 155806 bytes
> > doc/guides/prog_guide/img/feature_arc-3.png |  Bin 0 -> 143697 bytes
> >  doc/guides/rel_notes/release_24_11.rst      |   13 +
> >  lib/graph/graph.c                           |    1 +
> >  lib/graph/graph_feature_arc.c               | 1223 ++++++++++++++++
> >  lib/graph/graph_populate.c                  |    7 +-
> >  lib/graph/graph_private.h                   |    3 +
> >  lib/graph/meson.build                       |    2 +
> >  lib/graph/node.c                            |    2 +
> >  lib/graph/rte_graph.h                       |    3 +
> >  lib/graph/rte_graph_feature_arc.h           |  431 ++++++
> >  lib/graph/rte_graph_feature_arc_worker.h    |  674 +++++++++
> >  lib/graph/version.map                       |   20 +
> >  lib/node/ip4_rewrite.c                      |  476 +++++--
> >  lib/node/ip4_rewrite_priv.h                 |   15 +-
> >  lib/node/node_private.h                     |   20 +-
> >  lib/node/rte_node_ip4_api.h                 |    3 +
> >  21 files changed, 4494 insertions(+), 98 deletions(-)  create mode
> > 100644 app/test/test_graph_feature_arc.c  create mode 100644
> > doc/guides/prog_guide/img/feature_arc-1.png
> >  create mode 100644 doc/guides/prog_guide/img/feature_arc-2.png
> >  create mode 100644 doc/guides/prog_guide/img/feature_arc-3.png
> >  create mode 100644 lib/graph/graph_feature_arc.c  create mode 100644
> > lib/graph/rte_graph_feature_arc.h  create mode 100644
> > lib/graph/rte_graph_feature_arc_worker.h
> >
>=20
> Looks good, but likely missing an RTE_ATOMIC() around the feature enable
> bitmask.
> Build fails:
>=20
> ################################################################
> ####################
> #### [Begin job log] "ubuntu-22.04-clang-stdatomic" at step Build and test
> ################################################################
> ####################
>         rte_atomic_store_explicit(&arc->feature_enable_bitmask[passive_li=
st],
> bitmask,
>         ^                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=
~~~
> ../lib/eal/include/rte_stdatomic.h:76:2: note: expanded from macro
> 'rte_atomic_store_explicit'
>         atomic_store_explicit(ptr, val, memorder)
>         ^                     ~~~
> /usr/lib/llvm-14/lib/clang/14.0.0/include/stdatomic.h:127:31: note: expan=
ded
> from macro 'atomic_store_explicit'
> #define atomic_store_explicit __c11_atomic_store
>                               ^
> ../lib/graph/graph_feature_arc.c:1084:2: error: address argument to atomic
> operation must be a pointer to _Atomic type ('rte_graph_feature_rt_list_t=
 *'
> (aka 'unsigned short *') invalid)
>         rte_atomic_store_explicit(&arc->active_feature_list, passive_list,
>         ^                         ~~~~~~~~~~~~~~~~~~~~~~~~~
> ../lib/eal/include/rte_stdatomic.h:76:2: note: expanded from macro
> 'rte_atomic_store_explicit'
>         atomic_store_explicit(ptr, val, memorder)
>         ^                     ~~~
> /usr/lib/llvm-14/lib/clang/14.0.0/include/stdatomic.h:127:31: note: expan=
ded
> from macro 'atomic_store_explicit'
> #define atomic_store_explicit __c11_atomic_store
>                               ^
> 10 errors generated.