On Wed, Jun 4, 2025 at 3:43 PM Nitin Saxena <nsax...@marvell.com> wrote:
>
> This patch defines RTE_GRAPH_FEATURE_ARC_REGISTER() and
> RTE_GRAPH_FEATURE_REGISTER() constructors and associated APIs with
> programming guide.
>
> Signed-off-by: Nitin Saxena <nsax...@marvell.com>
> ---
>  doc/api/doxy-api-index.md                   |   1 +
>  doc/guides/prog_guide/graph_lib.rst         | 289 +++++++++++
>  doc/guides/prog_guide/img/feature_arc-1.svg | 269 +++++++++++
>  doc/guides/prog_guide/img/feature_arc-2.svg | 511 ++++++++++++++++++++
>  doc/guides/rel_notes/release_25_07.rst      |   7 +
>  lib/graph/graph_feature_arc.c               |  36 ++
>  lib/graph/meson.build                       |   2 +
>  lib/graph/rte_graph_feature_arc.h           | 270 +++++++++++
>  8 files changed, 1385 insertions(+)
>  create mode 100644 doc/guides/prog_guide/img/feature_arc-1.svg
>  create mode 100644 doc/guides/prog_guide/img/feature_arc-2.svg
>  create mode 100644 lib/graph/graph_feature_arc.c
>  create mode 100644 lib/graph/rte_graph_feature_arc.h
>
> diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md
> index 5c425a2cb9..a7bdbf892c 100644
> --- a/doc/api/doxy-api-index.md
> +++ b/doc/api/doxy-api-index.md
> @@ -214,6 +214,7 @@ The public API headers are grouped by topics:
>      [table_wm](@ref rte_swx_table_wm.h)
>    * [graph](@ref rte_graph.h):
>      [graph_worker](@ref rte_graph_worker.h)
> +    [graph_feature_arc](@ref rte_graph_feature_arc.h)

Missing ",". See diff

-    [graph_worker](@ref rte_graph_worker.h)
-    [graph_feature_arc](@ref rte_graph_feature_arc.h)
+    [graph_worker](@ref rte_graph_worker.h),
+    [graph_feature_arc](@ref rte_graph_feature_arc.h),



>    * graph_nodes:
>      [eth_node](@ref rte_node_eth_api.h),
>      [ip4_node](@ref rte_node_ip4_api.h),
> diff --git a/doc/guides/prog_guide/graph_lib.rst 
> b/doc/guides/prog_guide/graph_lib.rst
> index dc6c8c0712..191c8e8a0b 100644
> --- a/doc/guides/prog_guide/graph_lib.rst
> +++ b/doc/guides/prog_guide/graph_lib.rst
> @@ -559,3 +559,292 @@ on success packet is enqueued to ``udp4_input`` node.
>
>  Hash lookup is performed in ``udp4_input`` node with registered destination 
> port
>  and destination port in UDP packet , on success packet is handed to 
> ``udp_user_node``.
> +
> +Graph feature arc

Move this above "Inbuilt Nodes" section as it is Graph related feature.

> +-----------------
> diff --git a/doc/guides/rel_notes/release_25_07.rst 
> b/doc/guides/rel_notes/release_25_07.rst
> index 6b070801de..9740274a16 100644
> --- a/doc/guides/rel_notes/release_25_07.rst
> +++ b/doc/guides/rel_notes/release_25_07.rst
> @@ -78,6 +78,13 @@ New Features
>
>    See the :doc:`../cryptodevs/zsda` guide for more details on the new driver.
>
> +* **Added feature arc abstraction in graph library.**

Better to reword as Added feature arc support in graph library
> new file mode 100644
> index 0000000000..56d8f2f34c
> --- /dev/null
> +++ b/lib/graph/rte_graph_feature_arc.h
> @@ -0,0 +1,270 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright(C) 2025 Marvell International Ltd.
> + */
> +
> +#ifndef _RTE_GRAPH_FEATURE_ARC_H_
> +#define _RTE_GRAPH_FEATURE_ARC_H_
> +
> +#include <assert.h>
> +#include <errno.h>
> +#include <signal.h>
> +#include <stddef.h>
> +#include <stdint.h>
> +#include <stdio.h>
> +#include <stdlib.h>
> +#include <string.h>
> +
> +#include <rte_common.h>
> +#include <rte_compat.h>
> +#include <rte_debug.h>
> +#include <rte_graph.h>
> +
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
> +/**
> + * @file
> + *
> + * rte_graph_feature_arc.h


Please check the generated html file of documentation. Some of the
symbols are not resolving. See some examples

  * If a given feature likes to control number of indexes (which is higher than
- * RTE_GRAPH_FEATURE_ARC_REGISTER::max_indexes) it can do so by using
- * RTE_GRAPH_FEATURE_REGISTER():override_index_cb(). As part of
+ * rte_graph_feature_arc_register::max_indexes) it can do so by using
+ * rte_graph_feature_arc_register::override_index_cb(). As part of
  * rte_graph_feature_arc_init(), all feature's override_index_cb(), if set, are
  * called and with maximum value returned by any of the feature is used for
  * rte_graph_feature_arc_create()
@@ -126,8 +126,8 @@ extern "C" {

Reply via email to