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 3E05F459BD; Tue, 17 Sep 2024 12:37:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B967340261; Tue, 17 Sep 2024 12:37:42 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id F14F94025F for ; Tue, 17 Sep 2024 12:37:40 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 48H9lDZO024628; Tue, 17 Sep 2024 03:37:35 -0700 Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2041.outbound.protection.outlook.com [104.47.57.41]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 41n7ujt8ue-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 17 Sep 2024 03:37:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZpDL9uuuTBuciqx1y+GDL1//G5qeq+aFAUysDJixri5Y1xdhpFnpZ0c+8sMZ7fz0wnMpJY+v9KLsuaTjD/2rgOp1zSe1WQdBwq8v1YrxTdfFcGvlmOlUL7p/6P2N3xqdc/0A18+vzXp8Kgj8skrc6qb0X0O/ba1GWuk3kttZIaXFje7fjqqchw8/7fBmHTFy5WBkKv/+d9vzeNlbaVKTMRe2oB1pDnB1zrBbMJVEqbca7bRpm9YRrCnAPYK6Xh42Bem7egieDnUVlidFpiM0lvQYsVvrisrvJgQUqlHeDqrNUXenN9LsyBVsv1Kx/DxZ06B/xd3sXoQhjQBoZgfEOQ== 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=nUupXb8cklN1GxxmvXMUU51uks3Zwqp1fwPegVYR738=; b=CeR75gB1ca+mPFPSMkIjbiS9Dkrg7Ji5vlq0+5Wok6TvB3hlsqU2PRSIGuOg7BJut6JTJcur8YGzogmnW3XwLx4nggqC84LRne6a5J7NSBymrCfjVwyoy7dSDzgadghOpefVLd7iom+jf5wlBwQx7lRBtpDXAmcAfcATgSsPlMcFVdn5X+YpLofAJK4tPs3xrK6PN4HnF67EM8S+Z3I+Lv9NzIIdWiVCsiUwCJGFtZRdIbCWOTsmVt7B757sNwoADtlxgx33+BsuC7NOMjwDJM45Ye6QrRGX2hHEJNnqW1uYS8UebINJxc1KO6+YSx2HzpBN3URUnxn93yiGMx7KXw== 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=nUupXb8cklN1GxxmvXMUU51uks3Zwqp1fwPegVYR738=; b=aq/OpnhqqMON6WWm9J7SoGsLIphH9H/tEglADA8aiBqN1joW8WqyOrdR2LKpyG8+5PhB8E9jGfgvkfy2GomRLlas4AFD4XAFx+AlN7CHBJJRn7adF+Alkv67394yyXdOcR+EGJE0JifrV4nLXPH50poXOc67p+D+g5UWix7t+hE= Received: from PH0PR18MB5071.namprd18.prod.outlook.com (2603:10b6:510:16b::15) by MW3PR18MB3500.namprd18.prod.outlook.com (2603:10b6:303:56::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Tue, 17 Sep 2024 10:37:32 +0000 Received: from PH0PR18MB5071.namprd18.prod.outlook.com ([fe80::25e:7:91b:8f1c]) by PH0PR18MB5071.namprd18.prod.outlook.com ([fe80::25e:7:91b:8f1c%5]) with mapi id 15.20.7962.022; Tue, 17 Sep 2024 10:37:32 +0000 From: Kiran Kumar Kokkilagadda To: Nitin Saxena , Jerin Jacob , Nithin Kumar Dabilpuram , Zhirun Yan CC: "dev@dpdk.org" Subject: RE: [RFC PATCH 0/3] add featur arc in rte_graph Thread-Topic: [RFC PATCH 0/3] add featur arc in rte_graph Thread-Index: AQHbAPjGQZnMh44+gEW3kBZLtzoeXLJb2RDA Date: Tue, 17 Sep 2024 10:37:31 +0000 Message-ID: References: <20240907070503.1529918-1-nsaxena@marvell.com> In-Reply-To: <20240907070503.1529918-1-nsaxena@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB5071:EE_|MW3PR18MB3500:EE_ x-ms-office365-filtering-correlation-id: d85fb3bf-3dcd-4113-b6fc-08dcd704bc60 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?6VJpNPAbnWruiv3kedB+mjZ57mg4GLz3MBM3+NrzlYR8hN/m9Ggm7hipZ3bg?= =?us-ascii?Q?XnAzGZoZ97Z4rz3gd0/CidGFJQA8zIbuyh0kjUsI9RyRIHFxC8ZxrjZYwKPV?= =?us-ascii?Q?ON7AZ/hrPmDsmQJMvWYA/DgIPfAe1N0OgZQJAoTJACLa/X04lF80oWVdriKQ?= =?us-ascii?Q?lBrWcD877JhJ51PMct5Cs25m9dSGtc/lV4T/FvapKd9X/zJ2agZKBeqoKEXs?= =?us-ascii?Q?oNue3QkS9sqoJTGlcw1aVWCr1IaT/CZ2ZoV792Cxx/nBfwEYj5tqszPOS+cf?= =?us-ascii?Q?Xi2FYLbWFv8C5b5prt221UVghqTelSGTRvDRkejKtnJauUp2p2BumoJQ+k3r?= =?us-ascii?Q?BKINUelVT5WCcImt3y4gnlaIo91fDXKfYL+Xa68E3e6jgP1jxKr36/ahyvfm?= =?us-ascii?Q?uAirnDXm0qz7n/o8sD1RHimfwLPK9KKEVwM7bDiO8TpE3MWWCIcq2NH3+hVA?= =?us-ascii?Q?DZAOT6haGtR5SJPclfYhGaBOfk+NmBNw6JcOA0p4AN8yV4ewt7/zmHKQXALB?= =?us-ascii?Q?TSksE7JLqXbOLOIghczpfHvBryWR6WvGpsM0YOrQA8EXuW8lG4Q1ycjicMdI?= =?us-ascii?Q?3qtgififSR16TqeBgF5rX8z0QNTcm/JRZaOXjVpzNP3PXfn82VvqCecXy7OR?= =?us-ascii?Q?jcUjKk2oT3j4YK7pub1nHRZ/hLf1Yi19o7K2jVxfPoxJHnR2InQA97OPAYZR?= =?us-ascii?Q?LPdC8+91Vic8ZoieQuJuDQ3avRqsRAPl580GIj5uRDCkuDUuNsqIPRsrjqE8?= =?us-ascii?Q?orqtCSJ7n5XP9xTaT+fDw9LLVJsNuuXYYZDvdaKxa7KCoYMgVPpn1BtSUdVx?= =?us-ascii?Q?BtSPeEEzRI5XScgsGlJd6bNIBnCg1QlFkfooSPUYbTiMokm1ASqPpB9fiUQK?= =?us-ascii?Q?4l4ocyKf9b0LN+M3QE+0YFi+vzGhID+bKXLvEqYM0dKIhO7Q90JuRnM+xt5o?= =?us-ascii?Q?naTmlVA2y7jSHUGPagjnyEwqEjnigs+5gLeWZ6Uxm2cnpgb1qmhjPE2m/gqL?= =?us-ascii?Q?C2i264SLZZVvI2N28Z8EyYeUj1fzf/Jtc0gisDueo9JdsYF3aijJ6MMgPNxA?= =?us-ascii?Q?pnzYBcZ5+qG4EM5NQDp6OeWE5a14gZsIHjqgcHobACcDcQAkuTpd2c6eajmP?= =?us-ascii?Q?8hd5ZDruUSohiLMDR4ZUznftepIBLgvuzhYHyusBAAb1bEmoO2n8cHCNebRB?= =?us-ascii?Q?RIxCX15JSC4t2Yt387rB3NdJc+IkiAmaDUiYn2ps383Dq6UO/Byn70/p0YwN?= =?us-ascii?Q?jK5dqTSbaAFDAF44wfcl4mKo6JWdc+kCgYpeKr+htn6Ah9YAjCKTqGD7o+8P?= =?us-ascii?Q?f9us61wYDU+mh7hZXGf1dDiomokEx+0sEFevoHfxJ6AgRT6sjH7e3HuvIuSg?= =?us-ascii?Q?Yvu2dQHIgPRrFFdMKy3f/PPKf06/PGh3GF9pUWpn+iSOD/7Z5g=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB5071.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?nAa0Nxwgqo3KKInw6orePKk/BQzBGRIuUDLZ6mRoDd9MjzmHSh1mshtp55FF?= =?us-ascii?Q?wIXZpVpdgHr6fCKwwz5Y6TAkLlGyRkOro42IRwUeITqXby5xYwVjO6hspRHM?= =?us-ascii?Q?19+PiIAavhskS6FLtadIUFQzKXl7Wkq01yFVVf8RPJNFYkwNsJsE28QAwIlX?= =?us-ascii?Q?/NztyUnJzHarwitH5vkaz8hHaFuZyDUX79dxdi96hXjmUwPh/2xD1GmvhCbc?= =?us-ascii?Q?/bOHlNwZiU2xP4V6BJKB8nzChjsnO4xZU8qU0W3vTQjaLFukWbtBBtiLogbc?= =?us-ascii?Q?2PzWXu1XtvWC9PDtn+A6gqNAMSncYhF61NQ4Wok9x6H2ai24d6nUfyY+DjsJ?= =?us-ascii?Q?Qk+PoHrmwiR8tmmBhOQjphaMPC20OekuKYIz2UtQ3mwsRJIDgPahTNomfN45?= =?us-ascii?Q?VJ0p12Zu0MwSI/A+RcF3IJAmZW7O2Fae825IMS0j8lZzLmeGxHt+H2pSgPiI?= =?us-ascii?Q?S+6YvWX4DA26XiPoGfige6xWTuPgjWb5GXULkTqOW2VUPaMWcjPPOxkcUAGv?= =?us-ascii?Q?39Rqt8ozx0GGGEjikUCdpap+u2v0R8ea8IoaPr/KGgxuyyo5a7wO6qM10oLG?= =?us-ascii?Q?qhkRuDaoqkMhhswQ9GVHLQqSDPj0vRjTAz8elQyNcgIdd8z4YVIHMuvwpKs5?= =?us-ascii?Q?jR9IxTfoHDLR11RjNRZQcdz4LyVsIO0JyPbOTIcBbwbW0UmMxtnSnf4h4+Xd?= =?us-ascii?Q?mE6X8Pp4CvcuCzDn7/t0leZxUL6eCWqPyP2hmo7ZbkbNL8dkUE9Yi0cU23nu?= =?us-ascii?Q?qSwP7/C4P6JKzOPw1GYoQr6QSl5CKti8ki1izihMokYmqOnNvkDORLO1HYIu?= =?us-ascii?Q?laOdGphYLIM55Ve6qG2rDorO6EGmd4A3CGC8tpJYZKI7Vf1OQ2WDJZk+cOHH?= =?us-ascii?Q?vp3x39CoMICw1TU/DmZ/hQSbAtRF2MKd0p0hiCNocWnC7wA85eDBZNaGI3cX?= =?us-ascii?Q?sSdjvNdqn6XXy2n3zCsjnLmz4jQwpZkuh5wcX5SDEEFVRGVTUg9w28662SuG?= =?us-ascii?Q?dGcsB/wEIP4ETiq8fPWnQ9JsLssU/AnYe/3HKCGNFaPYXqbOFCRR5VD4BzOJ?= =?us-ascii?Q?1zF4odFdVrmJAU8TgfWRKP2VSld4kLDv4RPrj8rnhpT/A8qZIK/rk2Ci91m0?= =?us-ascii?Q?1jdqePoBxQ8UrkmkfaEQg/1BV4BKBpCYxpmwWG9ejA0ZdSkSgnhnZvxv9dIw?= =?us-ascii?Q?8A23TYPMLYa5B3Pe1dLbnQ9Utu8ImnKQ7A+VN2xL1HGEntBeqzi9MMO8hnIv?= =?us-ascii?Q?JkIA9/mCl3fZemIb1Fxit9rVsGeUc9gYXAA0dijxtdUvg8HdZblsa3ExXDU6?= =?us-ascii?Q?ThW1K45ISt9GwT7bvojP43LgGsZxAj+l4VHfPGU6P1KS5cMlJFjtSKMT4azM?= =?us-ascii?Q?2y37eJxG4n/29ceUqD68oCMfiHJ5dwfqXs63tCQpa5TcKIgbHhxcgqAMS3Fv?= =?us-ascii?Q?yt4BnC1QHhsDp2dBnBZs0bqMCmXV+6LMTf4c6nIdUGmVp+gJcytG6WLhBGsw?= =?us-ascii?Q?1ZHeX4g8ibcVO+2CZMLjWLAfVm7bL75+0xFG+q4tig8KFC//D6wQFVKDa9nC?= =?us-ascii?Q?T14AIXLSFk5eIMFnyudYsx8HMcHexMR5sdZed75t?= 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: PH0PR18MB5071.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d85fb3bf-3dcd-4113-b6fc-08dcd704bc60 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Sep 2024 10:37:31.9445 (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: H7/ccIm5eyO0VjXzS9nEhGEua7rt/U2aTUgLwP3FQxstIqW/R1ldImQw5Wye51x0dMzpjEaLFekrUGn6dDKjBg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR18MB3500 X-Proofpoint-GUID: y2h2ywWzMufAz9Y0k-Y8YP9przrkvHlg X-Proofpoint-ORIG-GUID: y2h2ywWzMufAz9Y0k-Y8YP9przrkvHlg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_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 > -----Original Message----- > From: Nitin Saxena > Sent: Saturday, September 7, 2024 12:35 PM > To: Jerin Jacob ; Kiran Kumar Kokkilagadda > ; Nithin Kumar Dabilpuram > ; Zhirun Yan > Cc: dev@dpdk.org > Subject: [RFC PATCH 0/3] add featur arc in rte_graph >=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_g= raph > nodes, as feature nodes, and allow packets steering across these nodes in= a > generic manner. >=20 > Features (or feature nodes) are nodes which handles partial or complete > handling of a protocol in fast path. Like ipv4-rewrite node, which adds r= ewrite > data to an outgoing IPv4 packet. >=20 > 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 suc= h > constraints easily >=20 > Feature arc abstraction allows rte_graph based application to >=20 > 1. Seamlessly steer packets across feature nodes based on wheter feature = is > enabled or disabled on an interface. Features enabled on one interface ma= y > not be enabled on another interface with in a same feature arc. >=20 > 2. Allow enabling/disabling of features on an interface at runtime, so th= at if a > feature is disabled, packets associated with that interface won't be stee= red to > corresponding feature node. >=20 > 3. Provides mechanism to hook custom/user-defined nodes to a feature node > and allow packet steering from feature node to custom node without changi= ng > former's fast path function >=20 > 4. Allow expressing features in a particular sequential order so that pac= kets are > steered in an ordered way across nodes in fast path. For > eg: if IPsec and IPv4 features are enabled on an ingress interface, packe= ts must > be sent to IPsec inbound policy node first and then to ipv4 lookup node. >=20 > This patch series adds feature arc library in rte_graph and also adds "ip= v4- > output" feature arc handling in "ipv4-rewrite" node. >=20 > Nitin Saxena (3): > graph: add feature arc support > graph: add feature arc option in graph create > graph: add IPv4 output feature arc >=20 > lib/graph/graph.c | 1 + > lib/graph/graph_feature_arc.c | 959 +++++++++++++++++++++++ > 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 | 373 +++++++++ > lib/graph/rte_graph_feature_arc_worker.h | 548 +++++++++++++ > lib/graph/version.map | 17 + > lib/node/ip4_rewrite.c | 476 ++++++++--- > lib/node/ip4_rewrite_priv.h | 9 +- > lib/node/node_private.h | 19 +- > lib/node/rte_node_ip4_api.h | 3 + > 14 files changed, 2325 insertions(+), 97 deletions(-) create mode 10064= 4 > 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 Could you add unit test for these new APIs? >=20 > -- > 2.43.0