From patchwork Wed Sep 27 11:54:00 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: 192 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 D283542651; Wed, 27 Sep 2023 13:54:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 69C2640271; Wed, 27 Sep 2023 13:54:23 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 1544B4026B for ; Wed, 27 Sep 2023 13:54:21 +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 38R81TQT029616 for ; Wed, 27 Sep 2023 04:54:21 -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=SPciIPlPwP+5Xd/ItbOWPoQ/8eMdjrq35/9Hpz+LZKM=; b=SL0sjRkehlGC5iUxJ7HnNZ0FsNkMiOVb55D20qbW5WcQK17PCj8WJsEbZ8Wqq3oaZtIi ZRuJl5i6Yp3vfCSzSaiDnvr6JGmCVOATtF+UTCrZT0KFMOZnFPIWsPBkWGjbAgt9awi2 KFeIJyYL3aDfLw2azUgVhm5Xe7vaUGs6cL/2dk1V04gtTdrD8vSxHcRSaaJP9NLEWv4g nCmdAawvQq1TmrX3LkXvlFNDKb3D7+iRQf79gQyiq+1ekEM4chLr+Uv2eiBGKoPOhAzo zG5jIJZmwmLBX7Nk3Xj7ln2NeZzWF3QzIAUDWGwnLE5x8AF5Lm8SoO2+wZzQO4k9WdTx +g== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3t9yhm6a0x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 27 Sep 2023 04:54:21 -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; Wed, 27 Sep 2023 04:54:19 -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; Wed, 27 Sep 2023 04:54:19 -0700 Received: from localhost.localdomain (unknown [10.28.34.25]) by maili.marvell.com (Postfix) with ESMTP id 4D5AF3F70B6; Wed, 27 Sep 2023 04:54:16 -0700 (PDT) From: To: CC: , Sunil Kumar Kori Subject: [PATCH v7 00/12] add CLI based graph application Date: Wed, 27 Sep 2023 17:24:00 +0530 Message-ID: <20230927115412.55018-1-skori@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230926105742.2638594-13-skori@marvell.com> References: <20230926105742.2638594-13-skori@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: BJPYEsj6lR1g9gx__6y9fwvDy4KRerP4 X-Proofpoint-ORIG-GUID: BJPYEsj6lR1g9gx__6y9fwvDy4KRerP4 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-09-27_06,2023-09-27_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: add mempool command line interfaces app/graph: add ipv6_lookup command line interfaces app/graph: add ethdev_rx command line interfaces app/graph: add graph command line interfaces app/graph: add l3fwd use case Sunil Kumar Kori (7): app/graph: add application framework to read CLI app/graph: add telnet connectivity framework app/graph: add parser utility APIs app/graph: add ethdev command line interfaces app/graph: add ipv4_lookup command line interfaces app/graph: add neigh command line interfaces app/graph: add CLI option to enable graph stats MAINTAINERS | 7 + app/graph/cli.c | 136 +++ app/graph/cli.h | 32 + app/graph/conn.c | 282 ++++++ 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 | 547 ++++++++++++ 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 | 366 ++++++++ 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/tools/graph.rst | 241 +++++ doc/guides/tools/img/graph-usecase-l3fwd.svg | 210 +++++ doc/guides/tools/index.rst | 1 + 36 files changed, 4736 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