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 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 ; 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 To: Stephen Hemminger CC: Jerin Jacob , Kiran Kumar Kokkilagadda , Nithin Kumar Dabilpuram , Zhirun Yan , Robin Jarry , Christophe Fontaine , "dev@dpdk.org" , Nitin Saxena 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Thanks Stephen. Will fix compilation in next version. Thanks, Nitin > -----Original Message----- > From: Stephen Hemminger > Sent: Wednesday, October 9, 2024 11:08 PM > To: Nitin Saxena > Cc: Jerin Jacob ; Kiran Kumar Kokkilagadda > ; Nithin Kumar Dabilpuram > ; Zhirun Yan ; Robin > Jarry ; Christophe Fontaine ; > dev@dpdk.org; Nitin Saxena > 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 > 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 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.