From patchwork Wed Oct 18 06:33:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sunil Kumar Kori X-Patchwork-Id: 274 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AED9A43196; Wed, 18 Oct 2023 08:33:55 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9CAB440289; Wed, 18 Oct 2023 08:33:55 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 19E424027C for ; Wed, 18 Oct 2023 08:33:53 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39I3uqWf018836 for ; Tue, 17 Oct 2023 23:33:53 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=l6oXEJqqtjRdOMF98j7leWGGeg51akI8P+6TOonJWOA=; b=j2MWVmjM72y4UkJmc+HqK4SzEEtMrRMGeIK6C8fEtjBqxfO14R4hKWjkS9FiW2usSwFT CZy1zi4xiGBmZ3GyJUEfsRKV0rn0FfZthKx/c478W5hYosT2iSw4RnhL36FasxKaPVXJ lRbdrJOuQzo7S0Mylg95BPx8MzcnbxLtewK/TKzgAmk0XT/eizy/PuEoKWW1pHTvP1nl dILs0UX9YrtcwgaJXi9jwG7l84thS9JG6llWrTY4ql0cUq5AtjSR5xMOpJlN/iu4eE78 9pEsVUm6CQGg+m9UdNXl7EnkNOUShfd+fb0kAzkHZQ+CgnJvBzqrL+MKPjS3/hrQkwni oA== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3tstb3uqdc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Tue, 17 Oct 2023 23:33:53 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Tue, 17 Oct 2023 23:33:50 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Tue, 17 Oct 2023 23:33:50 -0700 Received: from localhost.localdomain (unknown [10.28.34.25]) by maili.marvell.com (Postfix) with ESMTP id 072213F7048; Tue, 17 Oct 2023 23:33:49 -0700 (PDT) From: To: CC: , Sunil Kumar Kori Subject: [PATCH v9 00/12] add CLI based graph application Date: Wed, 18 Oct 2023 12:03:35 +0530 Message-ID: <20231018063347.68081-1-skori@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230929095814.692890-2-skori@marvell.com> References: <20230929095814.692890-2-skori@marvell.com> MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: 2augMQuUjMSysKWBDMolHQaw7AyxWl8D X-Proofpoint-GUID: 2augMQuUjMSysKWBDMolHQaw7AyxWl8D X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-18_03,2023-10-17_01,2023-05-22_02 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 From: Sunil Kumar Kori In the continuation of following feedback https://patches.dpdk.org/project/dpdk/patch/20230425131516.3308612-5-vattunuru@marvell.com/ this patch series adds dpdk-graph application to exercise various usecases using graph. 1. Each use case is defined in terms of .cli file which will contain set of commands to configure the system and to create a graph for that use case. 2. Each module like ethdev, mempool, route etc exposes its set of commands to do global and node specific configuration. 3. Command parsing is backed by command line library. Rakesh Kudurumalla (5): app/graph: support mempool command line interfaces app/graph: support IPv6 lookup command line interfaces app/graph: support ethdev Rx command line interfaces app/graph: support graph command line interfaces app/graph: support l3fwd use case Sunil Kumar Kori (7): app/graph: support application CLI framework app/graph: support telnet connectivity framework app/graph: support parser utility APIs app/graph: support ethdev command line interfaces app/graph: support IPv4 lookup command line interfaces app/graph: support neigh command line interfaces app/graph: support CLI option to enable graph stats MAINTAINERS | 7 + app/graph/cli.c | 138 +++ app/graph/cli.h | 32 + app/graph/conn.c | 284 ++++++ app/graph/conn.h | 46 + app/graph/ethdev.c | 885 +++++++++++++++++++ app/graph/ethdev.h | 40 + app/graph/ethdev_priv.h | 112 +++ app/graph/ethdev_rx.c | 165 ++++ app/graph/ethdev_rx.h | 37 + app/graph/ethdev_rx_priv.h | 39 + app/graph/examples/l3fwd.cli | 87 ++ app/graph/graph.c | 550 ++++++++++++ app/graph/graph.h | 21 + app/graph/graph_priv.h | 70 ++ app/graph/ip4_route.c | 224 +++++ app/graph/ip6_route.c | 229 +++++ app/graph/l3fwd.c | 136 +++ app/graph/l3fwd.h | 11 + app/graph/main.c | 237 +++++ app/graph/mempool.c | 140 +++ app/graph/mempool.h | 24 + app/graph/mempool_priv.h | 34 + app/graph/meson.build | 25 + app/graph/module_api.h | 31 + app/graph/neigh.c | 364 ++++++++ app/graph/neigh.h | 17 + app/graph/neigh_priv.h | 49 + app/graph/route.h | 40 + app/graph/route_priv.h | 44 + app/graph/utils.c | 156 ++++ app/graph/utils.h | 14 + app/meson.build | 1 + doc/guides/rel_notes/release_23_11.rst | 7 + doc/guides/tools/graph.rst | 243 +++++ doc/guides/tools/img/graph-usecase-l3fwd.svg | 210 +++++ doc/guides/tools/index.rst | 1 + 37 files changed, 4750 insertions(+) create mode 100644 app/graph/cli.c create mode 100644 app/graph/cli.h create mode 100644 app/graph/conn.c create mode 100644 app/graph/conn.h create mode 100644 app/graph/ethdev.c create mode 100644 app/graph/ethdev.h create mode 100644 app/graph/ethdev_priv.h create mode 100644 app/graph/ethdev_rx.c create mode 100644 app/graph/ethdev_rx.h create mode 100644 app/graph/ethdev_rx_priv.h create mode 100644 app/graph/examples/l3fwd.cli create mode 100644 app/graph/graph.c create mode 100644 app/graph/graph.h create mode 100644 app/graph/graph_priv.h create mode 100644 app/graph/ip4_route.c create mode 100644 app/graph/ip6_route.c create mode 100644 app/graph/l3fwd.c create mode 100644 app/graph/l3fwd.h create mode 100644 app/graph/main.c create mode 100644 app/graph/mempool.c create mode 100644 app/graph/mempool.h create mode 100644 app/graph/mempool_priv.h create mode 100644 app/graph/meson.build create mode 100644 app/graph/module_api.h create mode 100644 app/graph/neigh.c create mode 100644 app/graph/neigh.h create mode 100644 app/graph/neigh_priv.h create mode 100644 app/graph/route.h create mode 100644 app/graph/route_priv.h create mode 100644 app/graph/utils.c create mode 100644 app/graph/utils.h create mode 100644 doc/guides/tools/graph.rst create mode 100644 doc/guides/tools/img/graph-usecase-l3fwd.svg