[v10,00/12] add CLI based graph application

Message ID 20231019105000.520914-1-skori@marvell.com (mailing list archive)
Headers
Series add CLI based graph application |

Message

Sunil Kumar Kori Oct. 19, 2023, 10:49 a.m. UTC
  From: Sunil Kumar Kori <skori@marvell.com>

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                 |  73 ++
 app/graph/examples/l3fwd_pcap.cli            |  71 ++
 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                   | 334 +++++++
 doc/guides/tools/img/graph-usecase-l3fwd.svg | 210 +++++
 doc/guides/tools/index.rst                   |   1 +
 38 files changed, 4898 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/examples/l3fwd_pcap.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