DPDK patches and discussions
 help / color / mirror / Atom feed
From: Nitin Saxena <nsaxena@marvell.com>
To: Jerin Jacob <jerinj@marvell.com>,
	Kiran Kumar K <kirankumark@marvell.com>,
	 Nithin Dabilpuram <ndabilpuram@marvell.com>,
	Zhirun Yan <yanzhirun_163@163.com>,
	Robin Jarry <rjarry@redhat.com>,
	Christophe Fontaine <cfontain@redhat.com>
Cc: <dev@dpdk.org>, Nitin Saxena <nsaxena16@gmail.com>
Subject: [PATCH v5 5/5] docs: add programming guide for feature arc
Date: Mon, 14 Oct 2024 20:03:58 +0530	[thread overview]
Message-ID: <20241014143401.3135897-6-nsaxena@marvell.com> (raw)
In-Reply-To: <20241014143401.3135897-1-nsaxena@marvell.com>

Updated graph library guide with feature arc

Signed-off-by: Nitin Saxena <nsaxena@marvell.com>
---
 doc/guides/prog_guide/graph_lib.rst         | 288 +++++++++++
 doc/guides/prog_guide/img/feature_arc-1.svg | 277 +++++++++++
 doc/guides/prog_guide/img/feature_arc-2.svg | 511 ++++++++++++++++++++
 doc/guides/prog_guide/img/feature_arc-3.svg | 318 ++++++++++++
 4 files changed, 1394 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 doc/guides/prog_guide/img/feature_arc-3.svg

diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst
index ad09bdfe26..d98b48b0e5 100644
--- a/doc/guides/prog_guide/graph_lib.rst
+++ b/doc/guides/prog_guide/graph_lib.rst
@@ -547,3 +547,291 @@ 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``.
+
+Feature Arc
+-----------
+`Feature arc` represents an ordered list of `protocols/features` at a given
+networking layer. It is a high level abstraction to connect various `feature`
+nodes in `rte_graph` instance and allows seamless packets steering based on the
+sequence of enabled features at runtime on each interface.
+
+`Features` (or feature nodes) are nodes which handle partial or complete
+protocol processing in a given direction. For instance, `ipv4-rewrite` and
+`IPv4 IPsec encryption` are outbound features while `ipv4-lookup` and `IPv4
+IPsec decryption` are inbound features.  Further, `ipv4-rewrite` and `IPv4
+IPsec encryption` can collectively represent a `feature arc` towards egress
+direction with ordering constraints that `IPv4 IPsec encryption` must be
+performed before `ipv4-rewrite`.  Similarly, `IPv4 IPsec decryption` and
+`ipv4-lookup` can represent a `feature arc` in an ingress direction. Both of
+these `feature arc` can co-exist at an IPv4 layer in egress and ingress
+direction respectively.
+
+A `feature` can be represented by a single node or collection of multiple nodes
+performing feature processing collectively.
+
+.. figure:: img/feature_arc-1.*
+   :alt: feature-arc-1
+   :width: 350px
+   :align: center
+
+   Feature Arc overview
+
+Each `feature arc` is associated with a `Start` node from which all features in
+a feature arc are connected.  A `start` node itself is not a `feature` node but
+it is where `first enabled feature` is checked in fast path. In above figure,
+`Node-A` represents a `start node`.  There may be a `Sink` node as well which
+is child node for every feature in an arc.  'Sink` node is responsible of
+consuming those packets which are not consumed by intermediate enabled features
+between `start` and `sink` node. `Sink` node, if present, is the last enabled
+feature in a feature arc. A `feature` node statically connected to `start` node
+must also be added via feature arc API, `rte_graph_feature_add()``. Here `Node-B`
+acts as a `sink` node which is statically linked to `Node A`. `Feature` nodes
+are connected via `rte_graph_feature_add()` which takes care of connecting
+all `feature` nodes with each other and start node.
+
+.. code-block:: bash
+   :linenos:
+   :emphasize-lines: 8
+   :caption: Node-B statically linked to Node-A
+
+   static struct rte_node_register node_A_node = {
+    .process = node_A_process_func,
+            ...
+            ...
+    .name = "Node-A",
+    .next_nodes =
+       {
+          [0] = "Node-B",
+       },
+    .nb_edges = 1,
+   };
+
+When multiple features are enabled on an interface, it may be required to steer
+packets across `features` in a given order. For instance, if `Feature 1` and
+`Feature 2` both are enabled on an interface ``X``, it may be required to send
+packets to `Feature-1` before `Feature-2`. Such ordering constraints can be
+easily expressed with `feature arc`. In this case, `Feature 1` is called as
+``First Feature`` and `Feature 2` is called as ``Next Feature`` to `Feature 1`.
+
+.. figure:: img/feature_arc-2.*
+   :alt: feature-arc-2
+   :width: 600px
+   :align: center
+
+   First and Next features and their ordering
+
+In similar manner, even application specific ``custom features`` can be hooked
+to standard nodes. It is to be noted that this `custom feature` hooking to
+`feature arc` aware node does not require any code changes.
+
+It may be obvious by now that `features` enabled on one interface does not
+affect packets on other interfaces. In above example, if no feature is
+enabled on an interface ``X``, packets destined to interface ``X`` would be
+directly sent to `Node-B` from `Node-A`.
+
+.. figure:: img/feature_arc-3.*
+   :alt: feature-arc-3
+   :width: 550px
+   :align: center
+
+   Feature-2 consumed/non-consumed packet path
+
+When a `Feature-X` node receives packets via feature arc, it may decide whether
+to ``consume packet`` or send to `next enabled feature`. A node can consume
+packet by freeing it, sending it on wire or enqueuing it to hardware queue.  If a
+packet is not consumed by a `Feature-X` node, it may send to `next enabled
+feature` on an interface. In above figure, `Feature-2` nodes are represented to
+consume packets. Classic example for a node performing consume and non-consume
+operation on packets would be IPsec policy node where all packets with
+``protect`` actions are consumed while remaining packets with ``bypass``
+actions are sent to next enabled feature.
+
+In fast path feature node may require to lookup local data structures for each
+interface. For example, retrieving policy database per interface for IPsec
+processing.  ``rte_graph_feature_enable`` API allows to set application
+specific cookie per feature per interface. `Feature data` object maintains this
+cookie in fast path for each interface.
+
+`Feature arc design` allows to enable subsequent features in a control plane
+without stopping workers which are accessing feature arc's fast path APIs in
+``rte_graph_walk()`` context. However for disabling features require RCU like
+scheme for synchronization.
+
+Programming model
+~~~~~~~~~~~~~~~~~
+Feature Arc Objects
+^^^^^^^^^^^^^^^^^^^
+Control plane and fast path APIs deals with following objects:
+
+Feature arc
+***********
+``rte_graph_feature_arc_t`` is a handle to feature arc which is created via
+``rte_graph_feature_arc_create()``. It is a `uint64_t` size object which can be
+saved in feature node's context. This object can be translated to fast path
+feature arc object ``struct rte_graph_feature_arc`` which is an input
+argument to all fast path APIs. Control plane APIs majorly takes
+`rte_graph_feature_arc_t` object as an input.
+
+Feature List
+************
+Each feature arc holds two feature lists: `active` and `passive`. While worker
+cores uses `active` list, control plane APIs uses `passive` list for
+enabling/disabling a feature on any interface with in a arc. After successful
+feature enable/disable, ``rte_graph_feature_enable()``/
+``rte_graph_feature_disable()`` atomically switches passive list to active list
+and vice-versa. Most of the fast path APIs takes active list as an argument
+(``rte_graph_feature_rt_list_t``), which feature node can obtain in start of
+it's `process_func()` via ``rte_graph_feature_arc_has_any_feature()`` (in `start`
+node) or ``rte_graph_feature_arc_has_feature()`` (in next feature nodes).
+
+Each feature list holds RTE_GRAPH_MAX_FEATURES number of features and
+associated feature data for every interface index
+
+Feature
+********
+Feature is a data structure which holds `feature data` object for every
+interface.  It is represented via ``rte_graph_feature_t`` which is a `uint8_t`
+size object. Fast path internal structure ``struct rte_graph_feature`` can be
+obtained from ``rte_graph_feature_t`` via ``rte_graph_feature_get()`` API.
+
+In `start` node `rte_graph_feature_arc_first_feature_get()` can be used to get
+first enabled `rte_graph_feature_t` object for an interface. `rte_edge` from
+`start` node to first enabled feature is provided by
+``rte_graph_feature_arc_feature_set()`` API.
+
+In `feature nodes`, next enabled feature is obtained by providing current feature
+as an input to ``rte_graph_feature_arc_next_feature_get()`` API.
+
+Feature data
+************
+Feature data object is maintained per feature per interface which holds
+following information in fast path
+
+- ``rte_edge_t`` to send packet to next enabled feature
+- ``Next enabled feature`` on current interface
+- ``User_data`` per feature per interface set by application via `rte_graph_feature_enable()`
+
+Enabling Feature Arc processing
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+By default, feature arc processing is disabled in `rte_graph_create()`. To
+enable feature arc processing in fast path, `rte_graph_create()` API should be
+invoked with `feature_arc_enable` flag set as `true`
+
+.. code-block:: bash
+   :linenos:
+   :emphasize-lines: 3
+   :caption: Enabling feature are processing in rte_graph_create()
+
+    struct rte_graph_param graph_conf;
+
+    graph_conf.feature_arc_enable = true;
+    struct rte_graph *graph = rte_graph_create("graph_name", &graph_conf);
+
+Further as an optimization technique, `rte_graph_walk()` would call newly added
+``feat_arc_proc()`` node callback function (if non-NULL) instead of
+``process``
+
+.. code-block:: bash
+   :linenos:
+   :emphasize-lines: 3
+   :caption: Feature arc specific node callback function
+
+   static struct rte_node_register ip4_rewrite_node = {
+        .process = ip4_rewrite_node_process,
+        .feat_arc_proc = ip4_rewrite_feature_node_process,
+        .name = "ip4_rewrite",
+        ...
+        ...
+   };
+
+If `feat_arc_proc` is not provided in node registration, `process_func` would
+be called by `rte_graph_walk()`
+
+Sample Usage
+^^^^^^^^^^^^
+.. code-block:: bash
+   :linenos:
+   :caption: Feature arc sample usage
+
+   #define MAX_FEATURES 10
+   #define MAX_INDEXES 5
+
+   static uint16_t
+   feature2_feature_node_process (struct rte_graph *graph, struct
+                                 rte_node *node, void **objs, uint16_t nb_objs)
+   {
+       /* features may be enabled */
+   }
+   static uint16_t
+   feature2_node_process (struct rte_graph *graph, struct
+                                 rte_node *node, void **objs, uint16_t nb_objs)
+   {
+       /* Feature arc is disabled in rte_graph_create() */
+   }
+
+   static uint16_t
+   feature2_node_process (struct rte_graph *graph, struct
+                                 rte_node *node, void **objs, uint16_t nb_objs)
+   {
+       /* Feature arc may be enabled or disabled as this process_func() would
+        * be called for the case when feature arc is enabled in rte_graph_create()
+        * and also the case when it is disabled
+        */
+   }
+
+   static struct rte_node_register feature2_node = {
+        .process = feature2_node_process,
+        .feat_arc_proc = feature2_feature_node_process,
+        .name = "feature2",
+        .init = feature2_init_func,
+        ...
+        ...
+   };
+
+   static struct rte_node_register feature1_node = {
+        .process = feature1_node_process,
+        .feat_arc_proc = NULL,
+        .name = "feature1",
+        ...
+        ...
+   };
+
+   int worker_cb(void *_em)
+   {
+      rte_graph_feature_arc_t arc;
+      uint32_t user_data;
+
+      rte_graph_feature_arc_lookup_by_name("sample_arc", &arc);
+
+      /* From control thread context (like CLII):
+       * Enable feature 2 on interface index 4
+       */
+      if (rte_lcore_id() == rte_get_main_lcore) {
+                user_data = 0x1234;
+                rte_graph_feature_enable(arc, 4 /* interface index */, "feature2", user_data);
+      } else {
+                while(1)
+                    rte_graph_walk);
+      }
+   }
+
+   int main(void)
+   {
+       struct rte_graph_param graph_conf;
+       rte_graph_feature_arc_t arc;
+
+       if (rte_graph_feature_arc_create("sample_arc", MAX_FEATURES, MAX_INDEXES, &arc))
+           return -1;
+
+       rte_graph_feature_add(arc, "feature1", NULL, NULL);
+       rte_graph_feature_add(arc, "feature2", "feature1" /* add feature2 after feature 1*/, NULL);
+
+       /* create graph*/
+       ...
+       ...
+       graph_conf.feature_arc_enable = true;
+
+       struct rte_graph *graph = rte_graph_create("sample_graph", &graph_conf);
+
+       rte_eal_mp_remote_launch(worker_cb, arg, CALL_MAIN);
+   }
diff --git a/doc/guides/prog_guide/img/feature_arc-1.svg b/doc/guides/prog_guide/img/feature_arc-1.svg
new file mode 100644
index 0000000000..dada169e11
--- /dev/null
+++ b/doc/guides/prog_guide/img/feature_arc-1.svg
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!-- SPDX-License-Identifier: BSD-3-Clause -->
+<!-- Copyright(C) 2024 Marvell International Ltd. -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg4977"
+   version="1.1"
+   overflow="hidden"
+   xml:space="preserve"
+   height="1455"
+   width="1995"><metadata
+     id="metadata4983"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs4981" /><g
+     id="g4975"
+     transform="translate(-637 -359)"><path
+       id="path4901"
+       fill-rule="evenodd"
+       fill="#00B5E2"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M640.5 543.5C640.5 460.657 788.917 393.5 972 393.5 1155.08 393.5 1303.5 460.657 1303.5 543.5 1303.5 626.343 1155.08 693.5 972 693.5 788.917 693.5 640.5 626.343 640.5 543.5Z" /><text
+       id="text4903"
+       transform="matrix(1 0 0 1 831.669 574)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Node</text>
+<text
+       id="text4905"
+       transform="matrix(1 0 0 1 1028.75 574)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">-</text>
+<text
+       id="text4907"
+       transform="matrix(1 0 0 1 1056.25 574)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">A</text>
+<path
+       id="path4909"
+       fill-rule="evenodd"
+       fill="#00B5E2"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M640.5 1660.5C640.5 1577.66 788.917 1510.5 972 1510.5 1155.08 1510.5 1303.5 1577.66 1303.5 1660.5 1303.5 1743.34 1155.08 1810.5 972 1810.5 788.917 1810.5 640.5 1743.34 640.5 1660.5Z" /><text
+       id="text4911"
+       transform="matrix(1 0 0 1 831.669 1691)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Node</text>
+<text
+       id="text4913"
+       transform="matrix(1 0 0 1 1028.75 1691)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">-</text>
+<text
+       id="text4915"
+       transform="matrix(1 0 0 1 1056.25 1691)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">B</text>
+<path
+       id="path4917"
+       fill-rule="evenodd"
+       fill="#00B050"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M1303.5 1132.5C1303.5 1049.66 1452.14 982.5 1635.5 982.5 1818.86 982.5 1967.5 1049.66 1967.5 1132.5 1967.5 1215.34 1818.86 1282.5 1635.5 1282.5 1452.14 1282.5 1303.5 1215.34 1303.5 1132.5Z" /><text
+       id="text4919"
+       transform="matrix(1 0 0 1 1455.56 1159)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Feature </text>
+<text
+       id="text4921"
+       transform="matrix(1 0 0 1 1728.84 1159)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">-</text>
+<text
+       id="text4923"
+       transform="matrix(1 0 0 1 1774.1 1159)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">1</text>
+<path
+       id="path4925"
+       fill="#63666A"
+       d="M977.875 693 977.875 1475.28 964.125 1475.28 964.125 693ZM991.625 1468.41 971 1509.66 950.375 1468.41Z" /><path
+       id="path4927"
+       fill="#003967"
+       d="M972.869 690.347 998.093 701.303 995.354 707.609 970.13 696.653ZM1017.01 709.52 1042.23 720.476 1039.49 726.782 1014.27 715.826ZM1061.15 728.693 1086.37 739.649 1083.64 745.955 1058.41 734.999ZM1105.29 747.866 1130.52 758.822 1127.78 765.127 1102.55 754.172ZM1149.43 767.039 1174.66 777.995 1171.92 784.3 1146.69 773.344ZM1193.57 786.211 1218.8 797.167 1216.06 803.473 1190.83 792.517ZM1237.71 805.384 1262.94 816.34 1260.2 822.646 1234.98 811.69ZM1281.86 824.557 1307.08 835.513 1304.34 841.819 1279.12 830.863ZM1326 843.73 1351.22 854.686 1348.48 860.992 1323.26 850.036ZM1370.14 862.903 1395.36 873.859 1392.62 880.165 1367.4 869.209ZM1414.28 882.076 1439.5 893.032 1436.76 899.338 1411.54 888.382ZM1458.42 901.249 1483.64 912.205 1480.9 918.511 1455.68 907.555ZM1502.56 920.422 1527.78 931.378 1525.04 937.684 1499.82 926.728ZM1546.7 939.595 1571.92 950.551 1569.18 956.857 1543.96 945.901ZM1590.84 958.768 1615.56 969.504 1612.82 975.81 1588.1 965.074ZM1615.46 958.219 1635.21 981.786 1604.51 983.442Z" /><path
+       id="path4929"
+       transform="matrix(-1 0 0 1 1635.21 1282.5)"
+       fill="#003967"
+       d="M1.11695-3.25097 27.1247 5.68467 24.8908 12.1866-1.11695 3.25097ZM46.6306 12.3864 72.6383 21.322 70.4044 27.824 44.3967 18.8883ZM92.1442 28.0238 118.152 36.9594 115.918 43.4613 89.9103 34.5257ZM137.658 43.6611 163.666 52.5968 161.432 59.0987 135.424 50.1631ZM183.171 59.2985 209.179 68.2341 206.945 74.7361 180.937 65.8004ZM228.685 74.9359 254.693 83.8715 252.459 90.3734 226.451 81.4378ZM274.199 90.5732 300.206 99.5089 297.972 106.011 271.965 97.0752ZM319.712 106.211 345.72 115.146 343.486 121.648 317.478 112.713ZM365.226 121.848 391.234 130.784 389 137.286 362.992 128.35ZM410.739 137.485 436.747 146.421 434.513 152.923 408.505 143.987ZM456.253 153.123 482.261 162.058 480.027 168.56 454.019 159.625ZM501.767 168.76 527.774 177.696 525.54 184.198 499.533 175.262ZM547.28 184.397 573.288 193.333 571.054 199.835 545.046 190.899ZM592.794 200.035 618.802 208.97 616.568 215.472 590.56 206.537ZM638.307 215.672 643.152 217.337 640.918 223.839 636.073 222.174ZM642.168 206.094 663.708 228.034 633.232 232.102Z" /><text
+       id="text4931"
+       transform="matrix(-1.83697e-16 -1 1 -1.83697e-16 943.025 1309)"
+       font-size="55"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Static Packet  Path</text>
+<text
+       id="text4933"
+       transform="matrix(-1.83697e-16 -1 1 -1.83697e-16 1009.03 1200)"
+       font-size="55"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 0</text>
+<text
+       id="text4935"
+       transform="matrix(0.916122 0.4009 -0.4009 0.916122 1103.93 809)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 1</text>
+<text
+       id="text4937"
+       transform="matrix(1 0 0 1 1522.09 429)"
+       font-size="55"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Source/Start </text>
+<text
+       id="text4939"
+       transform="matrix(1 0 0 1 1620.06 495)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Node</text>
+<text
+       id="text4941"
+       transform="matrix(1 0 0 1 1618.96 1583)"
+       font-size="55"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">End/Sink</text>
+<text
+       id="text4943"
+       transform="matrix(1 0 0 1 1671.66 1649)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Node</text>
+<text
+       id="text4945"
+       transform="matrix(1 0 0 1 2196.79 1078)"
+       font-size="55"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Feature</text>
+<text
+       id="text4947"
+       transform="matrix(1 0 0 1 2230.59 1144)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Node</text>
+<path
+       id="path4949"
+       transform="matrix(-1 0 0 1 1486.34 450.5)"
+       fill="#63666A"
+       d="M0.259414-0.510821 162.664 81.9641 162.145 82.9858-0.259414 0.510821ZM164.544 68.1399 182.837 92.8515 152.092 92.6593Z" /><path
+       id="path4951"
+       transform="matrix(-1 0 0 1 1537.94 1604.5)"
+       fill="#63666A"
+       d="M0.133795-0.557075 212.291 50.3976 212.023 51.5117-0.133795 0.557075ZM210.911 36.5145 234.44 56.3064 204.489 63.2541Z" /><path
+       id="path4953"
+       transform="matrix(-1 0 0 1 2159.31 1099.5)"
+       fill="#63666A"
+       d="M0.0965444-0.564724 169.317 28.3649 169.124 29.4944-0.0965444 0.564724ZM167.019 14.6039 191.809 32.7914 162.385 41.7106Z" /><path
+       id="path4955"
+       transform="matrix(-1 0 0 1 1737.41 724.5)"
+       fill="#63666A"
+       d="M0.229683-0.524861 295.142 128.531 294.683 129.581-0.229683 0.524861ZM296.226 114.622 315.907 138.243 285.201 139.815Z" /><text
+       id="text4957"
+       transform="matrix(1 0 0 1 1833.68 703)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Packet path gets activated in </text>
+<text
+       id="text4959"
+       transform="matrix(1 0 0 1 1865.62 769)"
+       text-decoration="underline"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Node</text>
+<text
+       id="text4961"
+       transform="matrix(1 0 0 1 1996.25 769)"
+       text-decoration="underline"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text4963"
+       transform="matrix(1 0 0 1 2014.58 769)"
+       text-decoration="underline"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">A</text>
+<text
+       id="text4965"
+       transform="matrix(1 0 0 1 2064.68 769)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">when Feature</text>
+<text
+       id="text4967"
+       transform="matrix(1 0 0 1 2399.83 769)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text4969"
+       transform="matrix(1 0 0 1 2418.17 769)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">1 is </text>
+<text
+       id="text4971"
+       transform="matrix(1 0 0 1 1898.42 835)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">enabled on </text>
+<text
+       id="text4973"
+       transform="matrix(1 0 0 1 2184.3 835)"
+       text-decoration="underline"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">an interface</text>
+</g></svg>
diff --git a/doc/guides/prog_guide/img/feature_arc-2.svg b/doc/guides/prog_guide/img/feature_arc-2.svg
new file mode 100644
index 0000000000..eb5fb37e04
--- /dev/null
+++ b/doc/guides/prog_guide/img/feature_arc-2.svg
@@ -0,0 +1,511 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!-- SPDX-License-Identifier: BSD-3-Clause -->
+<!-- Copyright(C) 2024 Marvell International Ltd. -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg152"
+   version="1.1"
+   overflow="hidden"
+   xml:space="preserve"
+   height="1483"
+   width="3471"><metadata
+     id="metadata158"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs156" /><g
+     id="g150"
+     transform="translate(-637 -331)"><path
+       id="path2"
+       fill-rule="evenodd"
+       fill="#00B5E2"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M640.5 543.5C640.5 460.657 788.917 393.5 972 393.5 1155.08 393.5 1303.5 460.657 1303.5 543.5 1303.5 626.343 1155.08 693.5 972 693.5 788.917 693.5 640.5 626.343 640.5 543.5Z" /><text
+       id="text4"
+       transform="matrix(1 0 0 1 831.669 574)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Node</text>
+<text
+       id="text6"
+       transform="matrix(1 0 0 1 1028.75 574)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">-</text>
+<text
+       id="text8"
+       transform="matrix(1 0 0 1 1056.25 574)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">A</text>
+<path
+       id="path10"
+       fill-rule="evenodd"
+       fill="#00B5E2"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M640.5 1660.5C640.5 1577.66 788.917 1510.5 972 1510.5 1155.08 1510.5 1303.5 1577.66 1303.5 1660.5 1303.5 1743.34 1155.08 1810.5 972 1810.5 788.917 1810.5 640.5 1743.34 640.5 1660.5Z" /><text
+       id="text12"
+       transform="matrix(1 0 0 1 831.669 1691)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Node</text>
+<text
+       id="text14"
+       transform="matrix(1 0 0 1 1028.75 1691)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">-</text>
+<text
+       id="text16"
+       transform="matrix(1 0 0 1 1056.25 1691)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">B</text>
+<path
+       id="path18"
+       fill-rule="evenodd"
+       fill="#00B050"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M1303.5 1132.5C1303.5 1049.66 1452.14 982.5 1635.5 982.5 1818.86 982.5 1967.5 1049.66 1967.5 1132.5 1967.5 1215.34 1818.86 1282.5 1635.5 1282.5 1452.14 1282.5 1303.5 1215.34 1303.5 1132.5Z" /><text
+       id="text20"
+       transform="matrix(1 0 0 1 1455.56 1159)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Feature </text>
+<text
+       id="text22"
+       transform="matrix(1 0 0 1 1728.84 1159)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">-</text>
+<text
+       id="text24"
+       transform="matrix(1 0 0 1 1774.1 1159)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">1</text>
+<path
+       id="path26"
+       fill="#63666A"
+       d="M974.937 693.5 974.938 1487.24 968.063 1487.24 968.062 693.5ZM985.25 1482.66 971.5 1510.16 957.75 1482.66Z" /><path
+       id="path28"
+       fill="#003967"
+       d="M972.869 690.347 998.093 701.303 995.354 707.609 970.13 696.653ZM1017.01 709.52 1042.23 720.476 1039.49 726.782 1014.27 715.826ZM1061.15 728.693 1086.37 739.649 1083.64 745.955 1058.41 734.999ZM1105.29 747.866 1130.52 758.822 1127.78 765.127 1102.55 754.172ZM1149.43 767.039 1174.66 777.995 1171.92 784.3 1146.69 773.344ZM1193.57 786.211 1218.8 797.167 1216.06 803.473 1190.83 792.517ZM1237.71 805.384 1262.94 816.34 1260.2 822.646 1234.98 811.69ZM1281.86 824.557 1307.08 835.513 1304.34 841.819 1279.12 830.863ZM1326 843.73 1351.22 854.686 1348.48 860.992 1323.26 850.036ZM1370.14 862.903 1395.36 873.859 1392.62 880.165 1367.4 869.209ZM1414.28 882.076 1439.5 893.032 1436.76 899.338 1411.54 888.382ZM1458.42 901.249 1483.64 912.205 1480.9 918.511 1455.68 907.555ZM1502.56 920.422 1527.78 931.378 1525.04 937.684 1499.82 926.728ZM1546.7 939.595 1571.92 950.551 1569.18 956.857 1543.96 945.901ZM1590.84 958.768 1615.56 969.504 1612.82 975.81 1588.1 965.074ZM1615.46 958.219 1635.21 981.786 1604.51 983.442Z" /><path
+       id="path30"
+       transform="matrix(-1 0 0 1 1400.55 1238.5)"
+       fill="#003967"
+       d="M1.84062-2.90319 25.0662 11.8217 21.3849 17.6281-1.84062 2.90319ZM42.4853 22.8654 65.7109 37.5903 62.0297 43.3967 38.8041 28.6718ZM83.1301 48.634 106.356 63.359 102.674 69.1653 79.4488 54.4404ZM123.775 74.4026 147 89.1276 143.319 94.934 120.094 80.209ZM164.42 100.171 187.645 114.896 183.964 120.703 160.738 105.978ZM205.064 125.94 228.29 140.665 224.609 146.471 201.383 131.746ZM245.709 151.708 268.935 166.433 265.253 172.24 242.028 157.515ZM286.354 177.477 309.579 192.202 305.898 198.008 282.672 183.283ZM326.998 203.246 350.224 217.971 346.543 223.777 323.317 209.052ZM367.643 229.014 390.869 243.739 387.188 249.546 363.962 234.821ZM408.288 254.783 411.537 256.843 407.856 262.649 404.607 260.589ZM413.188 245.68 429.052 272.017 398.464 268.905Z" /><text
+       id="text32"
+       transform="matrix(-1.83697e-16 -1 1 -1.83697e-16 961.015 1340)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Static Packet</text>
+<text
+       id="text34"
+       transform="matrix(-1.83697e-16 -1 1 -1.83697e-16 961.015 945)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Path</text>
+<text
+       id="text36"
+       transform="matrix(-1.83697e-16 -1 1 -1.83697e-16 1040.01 1221)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 0</text>
+<text
+       id="text38"
+       transform="matrix(0.916122 0.4009 -0.4009 0.916122 1100.07 807)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 1</text>
+<path
+       id="path40"
+       fill-rule="evenodd"
+       fill="#A6A6A6"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M3429.5 1088C3429.5 1004.88 3577.92 937.5 3761 937.5 3944.08 937.5 4092.5 1004.88 4092.5 1088 4092.5 1171.12 3944.08 1238.5 3761 1238.5 3577.92 1238.5 3429.5 1171.12 3429.5 1088Z" /><text
+       id="text42"
+       transform="matrix(1 0 0 1 3583.93 1068)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Custom </text>
+<text
+       id="text44"
+       transform="matrix(1 0 0 1 3891.02 1068)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">–</text>
+<text
+       id="text46"
+       transform="matrix(1 0 0 1 3618.31 1167)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Feature</text>
+<path
+       id="path48"
+       fill="#003967"
+       d="M971.811 690.076 999.198 692.567 998.576 699.413 971.189 696.923ZM1019.74 694.434 1047.13 696.924 1046.5 703.771 1019.12 701.281ZM1067.67 698.792 1095.05 701.282 1094.43 708.129 1067.04 705.639ZM1115.59 703.15 1142.98 705.64 1142.36 712.487 1114.97 709.996ZM1163.52 707.507 1190.91 709.997 1190.28 716.844 1162.9 714.354ZM1211.45 711.865 1238.83 714.355 1238.21 721.202 1210.83 718.712ZM1259.38 716.223 1286.76 718.713 1286.14 725.56 1258.75 723.07ZM1307.3 720.581 1334.69 723.071 1334.07 729.917 1306.68 727.427ZM1355.23 724.938 1382.62 727.428 1381.99 734.275 1354.61 731.785ZM1403.16 729.296 1430.54 731.786 1429.92 738.633 1402.53 736.143ZM1451.08 733.654 1478.47 736.144 1477.85 742.991 1450.46 740.5ZM1499.01 738.011 1526.4 740.502 1525.78 747.348 1498.39 744.858ZM1546.94 742.369 1574.33 744.859 1573.7 751.706 1546.32 749.216ZM1594.87 746.727 1622.25 749.217 1621.63 756.064 1594.24 753.574ZM1642.79 751.085 1670.18 753.575 1669.56 760.421 1642.17 757.931ZM1690.72 755.442 1718.11 757.932 1717.49 764.779 1690.1 762.289ZM1738.65 759.8 1766.04 762.29 1765.41 769.137 1738.03 766.647ZM1786.58 764.158 1813.96 766.648 1813.34 773.495 1785.95 771.004ZM1834.5 768.515 1861.89 771.006 1861.27 777.852 1833.88 775.362ZM1882.43 772.873 1909.82 775.363 1909.19 782.21 1881.81 779.72ZM1930.36 777.231 1957.74 779.721 1957.12 786.568 1929.73 784.078ZM1978.28 781.589 2005.67 784.079 2005.05 790.925 1977.66 788.435ZM2026.21 785.946 2053.6 788.436 2052.98 795.283 2025.59 792.793ZM2074.14 790.304 2101.53 792.794 2100.9 799.641 2073.52 797.151ZM2122.07 794.662 2149.45 797.152 2148.83 803.999 2121.44 801.509ZM2169.99 799.019 2197.38 801.51 2196.76 808.356 2169.37 805.866ZM2217.92 803.377 2245.31 805.867 2244.69 812.714 2217.3 810.224ZM2265.85 807.735 2293.24 810.225 2292.61 817.072 2265.23 814.582ZM2313.78 812.093 2341.16 814.583 2340.54 821.43 2313.15 818.939ZM2361.7 816.45 2389.09 818.94 2388.47 825.787 2361.08 823.297ZM2409.63 820.808 2437.02 823.298 2436.4 830.145 2409.01 827.655ZM2457.56 825.166 2484.95 827.656 2484.32 834.503 2456.94 832.013ZM2505.49 829.523 2532.87 832.014 2532.25 838.86 2504.86 836.37ZM2553.41 833.881 2580.8 836.371 2580.18 843.218 2552.79 840.728ZM2601.34 838.239 2628.73 840.729 2628.1 847.576 2600.72 845.086ZM2649.27 842.597 2676.65 845.087 2676.03 851.934 2648.64 849.443ZM2697.19 846.954 2724.58 849.445 2723.96 856.291 2696.57 853.801ZM2745.12 851.312 2772.51 853.802 2771.89 860.649 2744.5 858.159ZM2793.05 855.67 2820.44 858.16 2819.81 865.007 2792.43 862.517ZM2840.98 860.028 2868.36 862.518 2867.74 869.364 2840.35 866.874ZM2888.9 864.385 2916.29 866.875 2915.67 873.722 2888.28 871.232ZM2936.83 868.743 2964.22 871.233 2963.59 878.08 2936.21 875.59ZM2984.76 873.101 3012.14 875.591 3011.52 882.438 2984.14 879.947ZM3032.68 877.458 3060.07 879.949 3059.45 886.795 3032.06 884.305ZM3080.61 881.816 3108 884.306 3107.38 891.153 3079.99 888.663ZM3128.54 886.174 3155.93 888.664 3155.3 895.511 3127.92 893.021ZM3176.47 890.532 3203.85 893.022 3203.23 899.869 3175.84 897.378ZM3224.39 894.889 3251.78 897.379 3251.16 904.226 3223.77 901.736ZM3272.32 899.247 3299.71 901.737 3299.09 908.584 3271.7 906.094ZM3320.25 903.605 3347.64 906.095 3347.01 912.942 3319.63 910.452ZM3368.18 907.963 3395.56 910.453 3394.94 917.299 3367.55 914.809ZM3416.1 912.32 3443.49 914.81 3442.87 921.657 3415.48 919.167ZM3464.03 916.678 3491.42 919.168 3490.8 926.015 3463.41 923.525ZM3511.96 921.036 3539.34 923.526 3538.72 930.373 3511.34 927.882ZM3559.89 925.393 3587.27 927.884 3586.65 934.73 3559.26 932.24ZM3607.81 929.751 3630.27 931.793 3629.65 938.64 3607.19 936.598ZM3626.64 921.108 3652.78 937.292 3624.15 948.495Z" /><text
+       id="text50"
+       transform="matrix(0.993978 0.109578 -0.109578 0.993978 1324.46 704)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 3</text>
+<path
+       id="path52"
+       fill-rule="evenodd"
+       fill="#00B050"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M2326.5 1136.5C2326.5 1053.66 2475.14 986.5 2658.5 986.5 2841.86 986.5 2990.5 1053.66 2990.5 1136.5 2990.5 1219.34 2841.86 1286.5 2658.5 1286.5 2475.14 1286.5 2326.5 1219.34 2326.5 1136.5Z" /><text
+       id="text54"
+       transform="matrix(1 0 0 1 2478.16 1163)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">Feature </text>
+<text
+       id="text56"
+       transform="matrix(1 0 0 1 2751.44 1163)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">-</text>
+<text
+       id="text58"
+       transform="matrix(1 0 0 1 2796.7 1163)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#FFFFFF">2</text>
+<path
+       id="path60"
+       fill="#003967"
+       d="M972.27 690.15 999.071 696.312 997.53 703.012 970.73 696.85ZM1019.17 700.934 1045.97 707.096 1044.43 713.796 1017.63 707.634ZM1066.07 711.717 1092.87 717.88 1091.33 724.58 1064.53 718.417ZM1112.97 722.501 1139.77 728.663 1138.23 735.363 1111.43 729.201ZM1159.88 733.285 1186.68 739.447 1185.14 746.147 1158.33 739.985ZM1206.78 744.069 1233.58 750.231 1232.04 756.931 1205.24 750.769ZM1253.68 754.853 1280.48 761.015 1278.94 767.715 1252.14 761.553ZM1300.58 765.636 1327.38 771.799 1325.84 778.499 1299.04 772.336ZM1347.48 776.42 1374.28 782.582 1372.74 789.282 1345.94 783.12ZM1394.38 787.204 1421.18 793.366 1419.64 800.066 1392.84 793.904ZM1441.28 797.988 1468.08 804.15 1466.54 810.85 1439.74 804.688ZM1488.18 808.772 1514.98 814.934 1513.44 821.634 1486.64 815.472ZM1535.08 819.555 1561.89 825.718 1560.34 832.418 1533.54 826.255ZM1581.99 830.339 1608.79 836.501 1607.25 843.201 1580.45 837.039ZM1628.89 841.123 1655.69 847.285 1654.15 853.985 1627.35 847.823ZM1675.79 851.907 1702.59 858.069 1701.05 864.769 1674.25 858.607ZM1722.69 862.691 1749.49 868.853 1747.95 875.553 1721.15 869.391ZM1769.59 873.474 1796.39 879.637 1794.85 886.337 1768.05 880.175ZM1816.49 884.258 1843.29 890.42 1841.75 897.121 1814.95 890.958ZM1863.39 895.042 1890.19 901.204 1888.65 907.904 1861.85 901.742ZM1910.29 905.826 1937.1 911.988 1935.55 918.688 1908.75 912.526ZM1957.2 916.61 1984 922.772 1982.46 929.472 1955.66 923.31ZM2004.1 927.393 2030.9 933.556 2029.36 940.256 2002.56 934.094ZM2051 938.177 2077.8 944.339 2076.26 951.04 2049.46 944.877ZM2097.9 948.961 2124.7 955.123 2123.16 961.823 2096.36 955.661ZM2144.8 959.745 2171.6 965.907 2170.06 972.607 2143.26 966.445ZM2191.7 970.529 2218.5 976.691 2216.96 983.391 2190.16 977.229ZM2238.6 981.312 2265.4 987.475 2263.86 994.175 2237.06 988.013ZM2285.5 992.096 2312.31 998.258 2310.76 1004.96 2283.96 998.796ZM2332.41 1002.88 2359.21 1009.04 2357.67 1015.74 2330.87 1009.58ZM2379.31 1013.66 2406.06 1019.81 2404.52 1026.52 2377.77 1020.36ZM2403.91 1008.74 2427.62 1028.3 2397.74 1035.54Z" /><path
+       id="path62"
+       transform="matrix(-1 0 0 1 2658.15 1286.5)"
+       fill="#003967"
+       d="M0.62373-3.38044 27.6672 1.6094 26.4198 8.37028-0.62373 3.38044ZM47.9499 5.35178 74.9934 10.3416 73.7459 17.1025 46.7024 12.1127ZM95.276 14.084 122.32 19.0738 121.072 25.8347 94.0286 20.8449ZM142.602 22.8162 169.646 27.8061 168.398 34.5669 141.355 29.5771ZM189.928 31.5484 216.972 36.5383 215.724 43.2991 188.681 38.3093ZM237.254 40.2806 264.298 45.2705 263.051 52.0314 236.007 47.0415ZM284.581 49.0129 311.624 54.0027 310.377 60.7636 283.333 55.7737ZM331.907 57.7451 358.95 62.7349 357.703 69.4958 330.659 64.506ZM379.233 66.4773 406.276 71.4671 405.029 78.228 377.985 73.2382ZM426.559 75.2095 453.603 80.1994 452.355 86.9602 425.312 81.9704ZM473.885 83.9417 500.929 88.9316 499.681 95.6925 472.638 90.7026ZM521.211 92.674 548.255 97.6638 547.008 104.425 519.964 99.4348ZM568.538 101.406 595.581 106.396 594.334 113.157 567.29 108.167ZM615.864 110.138 642.907 115.128 641.66 121.889 614.616 116.899ZM663.19 118.871 690.233 123.86 688.986 130.621 661.942 125.631ZM710.516 127.603 737.56 132.593 736.312 139.354 709.269 134.364ZM757.842 136.335 784.886 141.325 783.638 148.086 756.595 143.096ZM805.168 145.067 832.212 150.057 830.964 156.818 803.921 151.828ZM852.494 153.799 879.538 158.789 878.29 165.55 851.247 160.56ZM899.82 162.532 926.864 167.522 925.617 174.282 898.573 169.293ZM947.147 171.264 974.19 176.254 972.943 183.015 945.899 178.025ZM994.473 179.996 1021.52 184.986 1020.27 191.747 993.225 186.757ZM1041.8 188.728 1068.84 193.718 1067.59 200.479 1040.55 195.489ZM1089.12 197.461 1116.17 202.45 1114.92 209.211 1087.88 204.221ZM1136.45 206.193 1163.49 211.183 1162.25 217.943 1135.2 212.954ZM1183.78 214.925 1210.82 219.915 1209.57 226.676 1182.53 221.686ZM1231.1 223.657 1258.15 228.647 1256.9 235.408 1229.86 230.418ZM1278.43 232.389 1305.47 237.379 1304.23 244.14 1277.18 239.15ZM1325.76 241.122 1352.8 246.111 1351.55 252.872 1324.51 247.883ZM1373.08 249.854 1400.13 254.844 1398.88 261.605 1371.83 256.615ZM1420.41 258.586 1429.74 260.308 1428.49 267.068 1419.16 265.347ZM1427.1 249.334 1451.65 267.846 1422.11 276.378Z" /><path
+       id="path64"
+       transform="matrix(-1 0 0 1 3760.78 1238.5)"
+       fill="#003967"
+       d="M0.422723-3.41141 27.714-0.0296238 26.8685 6.79319-0.422723 3.41141ZM48.1824 2.50672 75.4737 5.8885 74.6283 12.7113 47.337 9.32953ZM95.9422 8.42484 123.233 11.8066 122.388 18.6294 95.0967 15.2477ZM143.702 14.343 170.993 17.7248 170.148 24.5476 142.856 21.1658ZM191.462 20.2611 218.753 23.6429 217.907 30.4657 190.616 27.0839ZM239.221 26.1792 266.513 29.561 265.667 36.3838 238.376 33.002ZM286.981 32.0973 314.272 35.4791 313.427 42.3019 286.136 38.9202ZM334.741 38.0155 362.032 41.3972 361.187 48.2201 333.895 44.8383ZM382.501 43.9336 409.792 47.3154 408.946 54.1382 381.655 50.7564ZM430.26 49.8517 457.552 53.2335 456.706 60.0563 429.415 56.6745ZM478.02 55.7698 505.311 59.1516 504.466 65.9744 477.175 62.5927ZM525.78 61.688 553.071 65.0697 552.226 71.8926 524.934 68.5108ZM573.539 67.6061 600.831 70.9879 599.985 77.8107 572.694 74.4289ZM621.299 73.5242 648.59 76.906 647.745 83.7288 620.454 80.347ZM669.059 79.4423 696.35 82.8241 695.505 89.6469 668.213 86.2652ZM716.819 85.3605 744.11 88.7423 743.264 95.5651 715.973 92.1833ZM764.578 91.2786 791.87 94.6604 791.024 101.483 763.733 98.1014ZM812.338 97.1967 839.629 100.579 838.784 107.401 811.493 104.02ZM860.098 103.115 887.389 106.497 886.544 113.319 859.253 109.938ZM907.858 109.033 935.149 112.415 934.304 119.238 907.012 115.856ZM955.617 114.951 982.909 118.333 982.063 125.156 954.772 121.774ZM1003.38 120.869 1030.67 124.251 1029.82 131.074 1002.53 127.692ZM1051.14 126.787 1078.43 130.169 1077.58 136.992 1050.29 133.61ZM1098.9 132.705 1126.19 136.087 1125.34 142.91 1098.05 139.528ZM1146.66 138.624 1173.95 142.005 1173.1 148.828 1145.81 145.446ZM1194.42 144.542 1221.71 147.924 1220.86 154.746 1193.57 151.365ZM1242.18 150.46 1269.47 153.842 1268.62 160.664 1241.33 157.283ZM1289.94 156.378 1317.23 159.76 1316.38 166.583 1289.09 163.201ZM1337.7 162.296 1364.99 165.678 1364.14 172.501 1336.85 169.119ZM1385.45 168.214 1412.75 171.596 1411.9 178.419 1384.61 175.037ZM1433.21 174.132 1460.51 177.514 1459.66 184.337 1432.37 180.955ZM1480.97 180.051 1508.27 183.432 1507.42 190.255 1480.13 186.873ZM1528.73 185.969 1556.03 189.35 1555.18 196.173 1527.89 192.791ZM1576.49 191.887 1603.78 195.269 1602.94 202.091 1575.65 198.71ZM1624.25 197.805 1651.54 201.187 1650.7 208.009 1623.41 204.628ZM1672.01 203.723 1699.3 207.105 1698.46 213.928 1671.17 210.546ZM1719.77 209.641 1747.06 213.023 1746.22 219.846 1718.93 216.464ZM1767.53 215.559 1794.82 218.941 1793.98 225.764 1766.69 222.382ZM1815.29 221.477 1842.58 224.859 1841.74 231.682 1814.45 228.3ZM1863.05 227.395 1890.34 230.777 1889.5 237.6 1862.21 234.218ZM1910.81 233.314 1938.1 236.695 1937.26 243.518 1909.97 240.136ZM1958.57 239.232 1985.86 242.613 1985.02 249.436 1957.73 246.054ZM2006.33 245.15 2033.62 248.532 2032.78 255.354 2005.49 251.973ZM2054.09 251.068 2081.38 254.45 2080.54 261.273 2053.25 257.891ZM2101.85 256.986 2129.14 260.368 2128.3 267.191 2101 263.809ZM2149.61 262.904 2176.9 266.286 2176.06 273.109 2148.76 269.727ZM2197.37 268.822 2224.66 272.204 2223.82 279.027 2196.52 275.645ZM2245.13 274.74 2272.42 278.122 2271.58 284.945 2244.28 281.563ZM2292.89 280.659 2320.18 284.04 2319.34 290.863 2292.04 287.481ZM2340.65 286.577 2367.94 289.958 2367.09 296.781 2339.8 293.399ZM2388.41 292.495 2415.7 295.877 2414.85 302.699 2387.56 299.318ZM2436.17 298.413 2463.46 301.795 2462.61 308.618 2435.32 305.236ZM2483.93 304.331 2511.22 307.713 2510.37 314.536 2483.08 311.154ZM2531.69 310.249 2531.97 310.284 2531.12 317.107 2530.84 317.072ZM2528.68 299.485 2554.28 316.512 2525.29 326.776Z" /><text
+       id="text66"
+       transform="matrix(0.974105 0.226098 -0.226098 0.974105 1319.22 820)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 2</text>
+<text
+       id="text68"
+       transform="matrix(1 0 0 1 1572.39 1639)"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">First Feature</text>
+<text
+       id="text70"
+       transform="matrix(1 0 0 1 1505.08 1716)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">For Interface </text>
+<text
+       id="text72"
+       transform="matrix(1 0 0 1 1884.92 1716)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">–</text>
+<text
+       id="text74"
+       transform="matrix(1 0 0 1 1938.2 1716)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">0,1</text>
+<path
+       id="path76"
+       fill="#63666A"
+       d="M1764.3 1561.88 1643.18 1304.21 1647.32 1302.26 1768.45 1559.93ZM1634.76 1313.24 1635.5 1282.5 1659.64 1301.54Z" /><path
+       id="path78"
+       fill="#63666A"
+       d="M1967.54 1129.06 1995.04 1129.38 1994.96 1136.26 1967.46 1135.94ZM2015.66 1129.62 2043.16 1129.94 2043.08 1136.82 2015.58 1136.5ZM2063.78 1130.18 2091.28 1130.5 2091.2 1137.38 2063.7 1137.06ZM2111.91 1130.74 2139.4 1131.06 2139.32 1137.94 2111.83 1137.62ZM2160.03 1131.3 2187.53 1131.62 2187.45 1138.49 2159.95 1138.17ZM2208.15 1131.86 2235.65 1132.18 2235.57 1139.05 2208.07 1138.73ZM2256.27 1132.42 2283.77 1132.74 2283.69 1139.61 2256.19 1139.29ZM2299.05 1122.6 2326.39 1136.67 2298.73 1150.1Z" /><text
+       id="text80"
+       transform="matrix(1 0 0 1 2008.67 1117)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 1 </text>
+<text
+       id="text82"
+       transform="matrix(1 0 0 1 2307.19 1624)"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Next Feature to Feature</text>
+<text
+       id="text84"
+       transform="matrix(1 0 0 1 3021.04 1624)"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text86"
+       transform="matrix(1 0 0 1 3042.24 1624)"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">1</text>
+<text
+       id="text88"
+       transform="matrix(1 0 0 1 2493.66 1701)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">for Interface</text>
+<text
+       id="text90"
+       transform="matrix(1 0 0 1 2834.55 1701)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text92"
+       transform="matrix(1 0 0 1 2855.74 1701)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">0</text>
+<path
+       id="path94"
+       fill="#63666A"
+       d="M2690.94 1546.47 2659.26 1309.52 2663.81 1308.91 2695.48 1545.86ZM2648.51 1315.58 2658.5 1286.5 2675.77 1311.94Z" /><text
+       id="text96"
+       transform="matrix(1 0 0 1 3080.93 1096)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 0</text>
+<path
+       id="path98"
+       transform="matrix(1 0 0 -1 2990.5 1125.64)"
+       fill="#63666A"
+       d="M0.219926-3.43046 27.6636-1.67105 27.2237 5.18986-0.219926 3.43046ZM48.2463-0.351496 75.69 1.40791 75.2501 8.26883 47.8065 6.50942ZM96.2728 2.72747 123.716 4.48687 123.277 11.3478 95.8329 9.58838ZM144.299 5.80643 171.743 7.56583 171.303 14.4267 143.859 12.6673ZM192.326 8.88539 219.769 10.6448 219.329 17.5057 191.886 15.7463ZM240.352 11.9644 267.796 13.7238 267.356 20.5847 239.912 18.8253ZM288.378 15.0433 315.822 16.8027 315.382 23.6636 287.939 21.9042ZM336.405 18.1223 363.848 19.8817 363.409 26.7426 335.965 24.9832ZM384.431 21.2012 411.875 22.9606 411.435 29.8216 383.991 28.0622ZM412.357 12.6579 438.921 28.1391 410.598 40.1016Z" /><text
+       id="text100"
+       transform="matrix(1 0 0 1 3280.81 1634)"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Next Feature to Feature</text>
+<text
+       id="text102"
+       transform="matrix(1 0 0 1 3994.67 1634)"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text104"
+       transform="matrix(1 0 0 1 4015.87 1634)"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">1</text>
+<text
+       id="text106"
+       transform="matrix(1 0 0 1 3480.19 1711)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">for Interface</text>
+<text
+       id="text108"
+       transform="matrix(1 0 0 1 3821.08 1711)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text110"
+       transform="matrix(1 0 0 1 3839.41 1711)"
+       font-size="55"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">1</text>
+<path
+       id="path112"
+       transform="matrix(1 0 0 -1 3666.5 1556.2)"
+       fill="#63666A"
+       d="M2.19695-0.652044 89.9684 295.078 85.5745 296.382-2.19695 0.652044ZM99.6489 287.424 94.2918 317.699 73.2856 295.248Z" /><path
+       id="path114"
+       fill="#63666A"
+       d="M1867.07 1025.81 1867.42 1018.62 1868.49 1011.28 1870.26 1003.97 1872.27 997.989 1878.79 1000.18 1876.82 1006.02 1876.91 1005.73 1875.21 1012.74 1875.27 1012.43 1874.25 1019.45 1874.28 1019.12 1873.93 1026.15ZM1881.7 978.819 1883.97 975.115 1888.98 968.018 1894.59 960.969 1898.61 956.437 1903.75 960.998 1899.8 965.462 1899.91 965.323 1894.42 972.222 1894.54 972.063 1889.65 978.99 1889.77 978.808 1887.55 982.418ZM1913.37 941.594 1914.93 940.127 1922.84 933.284 1931.3 926.497 1934.85 923.839 1938.97 929.343 1935.46 931.966 1935.55 931.895 1927.19 938.606 1927.29 938.525 1919.48 945.281 1919.58 945.188 1918.07 946.609ZM1951.82 911.768 1959.83 906.488 1970.37 899.942 1975.26 897.066 1978.75 902.994 1973.89 905.849 1973.96 905.805 1963.5 912.303 1963.58 912.254 1955.6 917.508ZM1993.34 886.825 2004.89 880.719 2017.33 874.457 2017.91 874.18 2020.88 880.379 2020.34 880.642 2020.39 880.613 2008.01 886.844 2008.07 886.812 1996.55 892.902ZM2036.62 865.351 2043.57 862.173 2057.34 856.155 2061.9 854.247 2064.55 860.591 2060.01 862.488 2060.06 862.466 2046.35 868.46 2046.4 868.437 2039.48 871.603ZM2081.04 846.419 2086.12 844.388 2101.11 838.643 2106.81 836.551 2109.18 843.005 2103.51 845.089 2103.55 845.072 2088.6 850.799 2088.65 850.78 2083.59 852.803ZM2126.26 829.558 2132.27 827.446 2152.4 820.792 2154.55 827.32 2134.45 833.964 2134.52 833.942 2128.55 836.044ZM2172.11 814.467 2198.42 806.467 2200.42 813.044 2174.11 821.045ZM2218.36 800.882 2234.13 796.472 2244.98 793.688 2246.69 800.347 2235.88 803.122 2235.95 803.103 2220.21 807.503ZM2264.95 788.558 2270.62 787.103 2291.76 782.131 2293.34 788.824 2272.23 793.788 2272.3 793.771 2266.66 795.217ZM2311.92 777.466 2338.81 771.695 2340.25 778.417 2313.36 784.188ZM2359.09 767.584 2386.08 762.324 2387.39 769.072 2360.4 774.332ZM2406.45 758.735 2426.94 755.133 2433.62 754.084 2434.69 760.876 2428.04 761.92 2428.1 761.91 2407.64 765.506ZM2453.99 750.883 2468.18 748.653 2481.26 746.839 2482.2 753.649 2469.16 755.459 2469.22 755.45 2455.06 757.674ZM2501.69 744.003 2510.12 742.833 2529.03 740.551 2529.85 747.376 2510.97 749.655 2511.03 749.647 2502.63 750.813ZM2549.51 738.08 2552.66 737.699 2576.92 735.21 2577.62 742.049 2553.39 744.535 2553.45 744.529 2550.33 744.905ZM2597.5 733.13 2624.9 730.813 2625.48 737.664 2598.08 739.98ZM2645.52 729.185 2672.96 727.365 2673.42 734.224 2645.98 736.045ZM2693.62 726.19 2721.08 724.875 2721.41 731.742 2693.94 733.057ZM2741.76 724.16 2769.25 723.361 2769.45 730.233 2741.96 731.032ZM2789.94 723.116 2815.78 722.863 2817.49 722.875 2817.45 729.749 2815.76 729.738 2815.82 729.738 2790.01 729.991ZM2838.12 723.017 2860.13 723.169 2865.66 723.283 2865.52 730.156 2860.01 730.043 2860.06 730.044 2838.07 729.892ZM2886.28 723.705 2904.38 724.076 2913.82 724.394 2913.59 731.265 2904.17 730.948 2904.22 730.949 2886.14 730.579ZM2934.43 725.09 2948.46 725.563 2961.96 726.194 2961.64 733.061 2948.16 732.432 2948.21 732.433 2934.2 731.961ZM2982.56 727.157 2992.28 727.611 3010.06 728.671 3009.65 735.533 2991.9 734.476 2991.94 734.478 2982.24 734.024ZM3030.65 729.897 3035.76 730.202 3058.13 731.82 3057.63 738.677 3035.28 737.06 3035.33 737.063 3030.24 736.76ZM3078.7 733.307 3078.8 733.315 3106.14 735.64 3105.56 742.49 3078.24 740.167 3078.28 740.17 3078.2 740.164ZM3126.73 737.46 3154.1 740.137 3153.43 746.98 3126.06 744.302ZM3174.65 742.296 3201.99 745.322 3201.23 752.155 3173.9 749.129ZM3222.5 747.831 3244.91 750.607 3249.83 751.283 3248.9 758.094 3243.99 757.421 3244.04 757.427 3221.66 754.654ZM3270.26 754.089 3284.49 756.043 3297.53 758.016 3296.5 764.813 3283.48 762.844 3283.53 762.851 3269.33 760.9ZM3317.92 761.1 3323.12 761.886 3345.11 765.531 3343.99 772.314 3322.02 768.673 3322.07 768.68 3316.89 767.898ZM3365.5 768.983 3392.56 773.88 3391.33 780.645 3364.27 775.748ZM3412.86 777.806 3432.45 781.666 3439.87 783.257 3438.43 789.979 3431.04 788.394 3431.09 788.406 3411.53 784.551ZM3460.04 787.579 3466.42 788.945 3486.91 793.718 3485.35 800.414 3464.89 795.648 3464.95 795.661 3458.6 794.301ZM3507.01 798.523 3514.75 800.443 3530.13 804.42 3533.71 805.389 3531.92 812.026 3528.35 811.062 3528.39 811.071 3513.05 807.103 3513.08 807.111 3505.36 805.196ZM3553.64 810.869 3559.7 812.577 3573.87 816.753 3580.09 818.669 3578.07 825.239 3571.87 823.33 3571.91 823.342 3557.77 819.178 3557.81 819.189 3551.77 817.487ZM3599.8 824.913 3600.96 825.287 3613.84 829.641 3625.89 833.912 3623.59 840.391 3611.57 836.129 3611.62 836.146 3598.78 831.808 3598.82 831.823 3597.69 831.457ZM3645.28 841.269 3649.75 843.025 3660.77 847.587 3670.76 851.959 3668 858.257 3658.04 853.898 3658.11 853.926 3647.15 849.389 3647.21 849.413 3642.77 847.669ZM3689.52 860.9 3690.83 861.548 3699.81 866.289 3708.27 871.071 3713.79 874.438 3710.21 880.308 3704.74 876.97 3704.83 877.027 3696.47 872.297 3696.56 872.346 3687.66 867.65 3687.74 867.692 3686.47 867.064ZM3731.16 886.32 3736.55 890.61 3742.19 895.601 3747.24 900.64 3751.56 905.593 3746.37 910.111 3742.13 905.247 3742.3 905.421 3737.41 900.539 3737.56 900.68 3732.06 895.818 3732.2 895.935 3726.88 891.701ZM3764.7 906.97 3761.07 937.5 3738.83 916.273Z" /><text
+       id="text116"
+       transform="matrix(0.998741 -0.050158 0.050158 0.998741 2571.92 793)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 0</text>
+<text
+       id="text118"
+       transform="matrix(1 0 0 1 1933.46 420)"
+       text-decoration="underline"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Interface</text>
+<text
+       id="text120"
+       transform="matrix(1 0 0 1 2199.86 420)"
+       text-decoration="underline"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text122"
+       transform="matrix(1 0 0 1 2221.06 420)"
+       text-decoration="underline"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">0</text>
+<text
+       id="text124"
+       transform="matrix(1 0 0 1 1842.64 497)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Enabled Features</text>
+<text
+       id="text126"
+       transform="matrix(1 0 0 1 2828.07 412)"
+       text-decoration="underline"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Interface</text>
+<text
+       id="text128"
+       transform="matrix(1 0 0 1 3094.47 412)"
+       text-decoration="underline"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text130"
+       transform="matrix(1 0 0 1 3115.67 412)"
+       text-decoration="underline"
+       font-size="64"
+       font-weight="700"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">1</text>
+<text
+       id="text132"
+       transform="matrix(1 0 0 1 2737.25 489)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Enabled Features</text>
+<path
+       id="path134"
+       transform="matrix(-1 0 0 1 1993.37 532.5)"
+       fill="#63666A"
+       d="M0.513174-0.254726 224.189 450.366 223.163 450.875-0.513174 0.254726ZM233.954 440.402 233.865 471.148 209.322 452.629Z" /><path
+       id="path136"
+       fill="#63666A"
+       d="M2095.86 523.058 2640.92 971.389 2640.19 972.274 2095.14 523.943ZM2645.75 958.301 2658.26 986.389 2628.28 979.539Z" /><path
+       id="path138"
+       transform="matrix(-1 0 0 1 2834.66 536.5)"
+       fill="#63666A"
+       d="M0.307156-0.48362 857.122 543.695 856.508 544.663-0.307156 0.48362ZM860.318 530.115 876.16 556.465 845.574 553.329Z" /><path
+       id="path140"
+       fill="#63666A"
+       d="M2990.87 529.062 3509.46 966.033 3508.73 966.91 2990.13 529.938ZM3514.45 953.003 3526.62 981.238 3496.73 974.033Z" /><path
+       id="path142"
+       fill="#63666A"
+       d="M2381.7 431.962 3739.81 929.039 3739.42 930.115 2381.3 433.038ZM3740.03 915.088 3761.13 937.452 3730.58 940.913Z" /><text
+       id="text144"
+       transform="matrix(0.838284 -0.545233 0.545233 0.838284 1136.13 1461)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 2 </text>
+<text
+       id="text146"
+       transform="matrix(0.98675 -0.162247 0.162247 0.98675 2069.25 1383)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 0 </text>
+<text
+       id="text148"
+       transform="matrix(0.994324 -0.106397 0.106397 0.994324 2994.86 1316)"
+       font-size="64"
+       font-weight="400"
+       font-style="italic"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 0 </text>
+</g></svg>
diff --git a/doc/guides/prog_guide/img/feature_arc-3.svg b/doc/guides/prog_guide/img/feature_arc-3.svg
new file mode 100644
index 0000000000..382f259e42
--- /dev/null
+++ b/doc/guides/prog_guide/img/feature_arc-3.svg
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<!-- SPDX-License-Identifier: BSD-3-Clause -->
+<!-- Copyright(C) 2024 Marvell International Ltd. -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg100"
+   version="1.1"
+   overflow="hidden"
+   xml:space="preserve"
+   height="2075"
+   width="3423"><metadata
+     id="metadata106"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs104" /><g
+     id="g98"
+     transform="translate(-590 -205)"><path
+       id="path2"
+       fill-rule="evenodd"
+       fill="#00B5E2"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M593.5 358.5C593.5 275.657 735.426 208.5 910.5 208.5 1085.57 208.5 1227.5 275.657 1227.5 358.5 1227.5 441.343 1085.57 508.5 910.5 508.5 735.426 508.5 593.5 441.343 593.5 358.5Z" /><text
+       id="text4"
+       transform="matrix(1 0 0 1 770.408 388)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Node</text>
+<text
+       id="text6"
+       transform="matrix(1 0 0 1 967.492 388)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text8"
+       transform="matrix(1 0 0 1 994.992 388)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">A</text>
+<path
+       id="path10"
+       fill-rule="evenodd"
+       fill="#00B5E2"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M596.5 1475.5C596.5 1392.66 738.65 1325.5 914 1325.5 1089.35 1325.5 1231.5 1392.66 1231.5 1475.5 1231.5 1558.34 1089.35 1625.5 914 1625.5 738.65 1625.5 596.5 1558.34 596.5 1475.5Z" /><text
+       id="text12"
+       transform="matrix(1 0 0 1 773.708 1505)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Node</text>
+<text
+       id="text14"
+       transform="matrix(1 0 0 1 970.792 1505)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text16"
+       transform="matrix(1 0 0 1 998.292 1505)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">B</text>
+<path
+       id="path18"
+       fill-rule="evenodd"
+       fill="#00B050"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M1297.5 947C1297.5 863.881 1435.62 796.5 1606 796.5 1776.38 796.5 1914.5 863.881 1914.5 947 1914.5 1030.12 1776.38 1097.5 1606 1097.5 1435.62 1097.5 1297.5 1030.12 1297.5 947Z" /><text
+       id="text20"
+       transform="matrix(1 0 0 1 1425.81 974)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Feature </text>
+<text
+       id="text22"
+       transform="matrix(1 0 0 1 1699.09 974)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text24"
+       transform="matrix(1 0 0 1 1744.35 974)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">1</text>
+<path
+       id="path26"
+       fill="#63666A"
+       d="M913.938 508.486 917.145 1302.23 910.27 1302.25 907.063 508.514ZM927.439 1297.6 913.8 1325.16 899.939 1297.71Z" /><path
+       id="path28"
+       fill="#003967"
+       d="M911.378 506.383 928.313 513.406 926.557 517.639 909.622 510.617ZM941.014 518.672 957.949 525.695 956.194 529.929 939.259 522.906ZM970.651 530.962 987.586 537.984 985.83 542.218 968.895 535.195ZM1000.29 543.251 1017.22 550.274 1015.47 554.507 998.531 547.485ZM1029.92 555.54 1046.86 562.563 1045.1 566.797 1028.17 559.774ZM1059.56 567.83 1076.49 574.852 1074.74 579.086 1057.8 572.064ZM1089.2 580.119 1106.13 587.142 1104.38 591.375 1087.44 584.353ZM1118.83 592.409 1135.77 599.431 1134.01 603.665 1117.08 596.642ZM1148.47 604.698 1165.4 611.72 1163.65 615.954 1146.71 608.932ZM1178.1 616.987 1195.04 624.01 1193.28 628.244 1176.35 621.221ZM1207.74 629.277 1224.68 636.299 1222.92 640.533 1205.99 633.51ZM1237.38 641.566 1254.31 648.589 1252.56 652.822 1235.62 645.8ZM1267.01 653.855 1283.95 660.878 1282.19 665.112 1265.26 658.089ZM1296.65 666.145 1313.59 673.167 1311.83 677.401 1294.89 670.379ZM1326.29 678.434 1343.22 685.457 1341.47 689.69 1324.53 682.668ZM1355.92 690.724 1372.86 697.746 1371.1 701.98 1354.17 694.957ZM1385.56 703.013 1402.49 710.035 1400.74 714.269 1383.8 707.247ZM1415.2 715.302 1432.13 722.325 1430.38 726.558 1413.44 719.536ZM1444.83 727.592 1461.77 734.614 1460.01 738.848 1443.08 731.825ZM1474.47 739.881 1491.4 746.903 1489.65 751.137 1472.71 744.115ZM1504.1 752.17 1521.04 759.193 1519.28 763.427 1502.35 756.404ZM1533.74 764.46 1550.68 771.482 1548.92 775.716 1531.99 768.693ZM1563.38 776.749 1580.31 783.772 1578.56 788.005 1561.62 780.983ZM1585.58 773.552 1605.72 796.786 1575.05 798.954Z" /><path
+       id="path30"
+       transform="matrix(-1 0 0 1 1606.42 1097.5)"
+       fill="#003967"
+       d="M0.71731-2.17651 18.1294 3.56197 16.6948 7.91499-0.71731 2.17651ZM31.1885 7.86584 48.6006 13.6043 47.1659 17.9573 29.7538 12.2189ZM61.6596 17.9082 79.0717 23.6467 77.6371 27.9997 60.225 22.2612ZM92.1308 27.9505 109.543 33.689 108.108 38.042 90.6962 32.3035ZM122.602 37.9929 140.014 43.7314 138.579 48.0844 121.167 42.3459ZM153.073 48.0352 170.485 53.7737 169.051 58.1267 151.638 52.3882ZM183.544 58.0776 200.956 63.816 199.522 68.1691 182.11 62.4306ZM214.015 68.1199 231.428 73.8584 229.993 78.2114 212.581 72.4729ZM244.487 78.1622 261.899 83.9007 260.464 88.2538 243.052 82.5153ZM274.958 88.2046 292.37 93.9431 290.935 98.2961 273.523 92.5576ZM305.429 98.247 322.841 103.985 321.406 108.338 303.994 102.6ZM335.9 108.289 353.312 114.028 351.878 118.381 334.465 112.642ZM366.371 118.332 383.783 124.07 382.349 128.423 364.937 122.685ZM396.842 128.374 414.255 134.112 412.82 138.465 395.408 132.727ZM427.314 138.416 444.726 144.155 443.291 148.508 425.879 142.769ZM457.785 148.459 475.197 154.197 473.762 158.55 456.35 152.812ZM488.256 158.501 505.668 164.24 504.233 168.593 486.821 162.854ZM518.727 168.543 536.139 174.282 534.705 178.635 517.292 172.896ZM549.198 178.586 566.61 184.324 565.176 188.677 547.764 182.939ZM579.669 188.628 597.081 194.367 595.647 198.72 578.235 192.981ZM610.141 198.67 627.553 204.409 626.118 208.762 608.706 203.023ZM640.612 208.713 658.024 214.451 656.589 218.804 639.177 213.066ZM670.101 206.367 691.916 228.034 661.494 232.485Z" /><path
+       id="path32"
+       fill-rule="evenodd"
+       fill="#00B050"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M3375.5 902.5C3375.5 819.657 3517.43 752.5 3692.5 752.5 3867.57 752.5 4009.5 819.657 4009.5 902.5 4009.5 985.343 3867.57 1052.5 3692.5 1052.5 3517.43 1052.5 3375.5 985.343 3375.5 902.5Z" /><text
+       id="text34"
+       transform="matrix(1 0 0 1 3513.57 933)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Feature</text>
+<text
+       id="text36"
+       transform="matrix(1 0 0 1 3797.73 933)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text38"
+       transform="matrix(1 0 0 1 3825.23 933)"
+       font-size="83"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">3</text>
+<path
+       id="path40"
+       fill="#003967"
+       d="M910.7 506.217 928.964 507.817 928.563 512.383 910.3 510.783ZM942.661 509.018 960.924 510.618 960.524 515.184 942.261 513.583ZM974.622 511.818 992.885 513.419 992.485 517.985 974.222 516.384ZM1006.58 514.619 1024.85 516.219 1024.45 520.785 1006.18 519.185ZM1038.54 517.42 1056.81 519.02 1056.41 523.586 1038.14 521.986ZM1070.5 520.22 1088.77 521.821 1088.37 526.387 1070.1 524.786ZM1102.47 523.021 1120.73 524.621 1120.33 529.187 1102.07 527.587ZM1134.43 525.822 1152.69 527.422 1152.29 531.988 1134.03 530.388ZM1166.39 528.622 1184.65 530.223 1184.25 534.789 1165.99 533.188ZM1198.35 531.423 1216.61 533.023 1216.21 537.589 1197.95 535.989ZM1230.31 534.224 1248.57 535.824 1248.17 540.39 1229.91 538.79ZM1262.27 537.024 1280.53 538.625 1280.13 543.191 1261.87 541.59ZM1294.23 539.825 1312.49 541.425 1312.09 545.991 1293.83 544.391ZM1326.19 542.626 1344.45 544.226 1344.05 548.792 1325.79 547.192ZM1358.15 545.426 1376.42 547.027 1376.02 551.593 1357.75 549.992ZM1390.11 548.227 1408.38 549.827 1407.98 554.393 1389.71 552.793ZM1422.07 551.028 1440.34 552.628 1439.94 557.194 1421.67 555.594ZM1454.03 553.828 1472.3 555.429 1471.9 559.995 1453.63 558.394ZM1486 556.629 1504.26 558.229 1503.86 562.795 1485.6 561.195ZM1517.96 559.43 1536.22 561.03 1535.82 565.596 1517.56 563.996ZM1549.92 562.23 1568.18 563.831 1567.78 568.397 1549.52 566.796ZM1581.88 565.031 1600.14 566.631 1599.74 571.197 1581.48 569.597ZM1613.84 567.832 1632.1 569.432 1631.7 573.998 1613.44 572.398ZM1645.8 570.632 1664.06 572.233 1663.66 576.799 1645.4 575.198ZM1677.76 573.433 1696.02 575.034 1695.62 579.599 1677.36 577.999ZM1709.72 576.234 1727.98 577.834 1727.58 582.4 1709.32 580.8ZM1741.68 579.034 1759.95 580.635 1759.55 585.201 1741.28 583.6ZM1773.64 581.835 1791.91 583.435 1791.51 588.001 1773.24 586.401ZM1805.6 584.636 1823.87 586.236 1823.47 590.802 1805.2 589.202ZM1837.56 587.436 1855.83 589.037 1855.43 593.603 1837.16 592.002ZM1869.53 590.237 1887.79 591.838 1887.39 596.403 1869.13 594.803ZM1901.49 593.038 1919.75 594.638 1919.35 599.204 1901.09 597.604ZM1933.45 595.839 1951.71 597.439 1951.31 602.005 1933.05 600.404ZM1965.41 598.639 1983.67 600.24 1983.27 604.805 1965.01 603.205ZM1997.37 601.44 2015.63 603.04 2015.23 607.606 1996.97 606.006ZM2029.33 604.24 2047.59 605.841 2047.19 610.407 2028.93 608.806ZM2061.29 607.041 2079.55 608.642 2079.15 613.207 2060.89 611.607ZM2093.25 609.842 2111.51 611.442 2111.11 616.008 2092.85 614.408ZM2125.21 612.643 2143.48 614.243 2143.08 618.809 2124.81 617.208ZM2157.17 615.443 2175.44 617.044 2175.04 621.609 2156.77 620.009ZM2189.13 618.244 2207.4 619.844 2207 624.41 2188.73 622.81ZM2221.09 621.045 2239.36 622.645 2238.96 627.211 2220.69 625.61ZM2253.06 623.845 2271.32 625.446 2270.92 630.011 2252.66 628.411ZM2285.02 626.646 2303.28 628.246 2302.88 632.812 2284.62 631.212ZM2316.98 629.447 2335.24 631.047 2334.84 635.613 2316.58 634.012ZM2348.94 632.247 2367.2 633.848 2366.8 638.413 2348.54 636.813ZM2380.9 635.048 2399.16 636.648 2398.76 641.214 2380.5 639.614ZM2412.86 637.849 2431.12 639.449 2430.72 644.015 2412.46 642.414ZM2444.82 640.649 2463.08 642.25 2462.68 646.815 2444.42 645.215ZM2476.78 643.45 2495.04 645.05 2494.64 649.616 2476.38 648.016ZM2508.74 646.251 2527.01 647.851 2526.6 652.417 2508.34 650.816ZM2540.7 649.051 2558.97 650.652 2558.57 655.217 2540.3 653.617ZM2572.66 651.852 2590.93 653.452 2590.53 658.018 2572.26 656.418ZM2604.62 654.653 2622.89 656.253 2622.49 660.819 2604.22 659.218ZM2636.58 657.453 2654.85 659.054 2654.45 663.62 2636.18 662.019ZM2668.55 660.254 2686.81 661.854 2686.41 666.42 2668.15 664.82ZM2700.51 663.055 2718.77 664.655 2718.37 669.221 2700.11 667.62ZM2732.47 665.855 2750.73 667.456 2750.33 672.021 2732.07 670.421ZM2764.43 668.656 2782.69 670.256 2782.29 674.822 2764.03 673.222ZM2796.39 671.457 2814.65 673.057 2814.25 677.623 2795.99 676.022ZM2828.35 674.257 2846.61 675.858 2846.21 680.424 2827.95 678.823ZM2860.31 677.058 2878.57 678.658 2878.17 683.224 2859.91 681.624ZM2892.27 679.859 2910.53 681.459 2910.13 686.025 2891.87 684.424ZM2924.23 682.659 2942.5 684.26 2942.1 688.826 2923.83 687.225ZM2956.19 685.46 2974.46 687.06 2974.06 691.626 2955.79 690.026ZM2988.15 688.261 3006.42 689.861 3006.02 694.427 2987.75 692.826ZM3020.11 691.061 3038.38 692.662 3037.98 697.228 3019.71 695.627ZM3052.08 693.862 3070.34 695.462 3069.94 700.028 3051.68 698.428ZM3084.04 696.663 3102.3 698.263 3101.9 702.829 3083.64 701.229ZM3116 699.463 3134.26 701.064 3133.86 705.63 3115.6 704.029ZM3147.96 702.264 3166.22 703.864 3165.82 708.43 3147.56 706.83ZM3179.92 705.065 3198.18 706.665 3197.78 711.231 3179.52 709.63ZM3211.88 707.865 3230.14 709.466 3229.74 714.031 3211.48 712.431ZM3243.84 710.666 3262.1 712.266 3261.7 716.832 3243.44 715.232ZM3275.8 713.467 3294.07 715.067 3293.67 719.633 3275.4 718.032ZM3307.76 716.267 3326.03 717.868 3325.63 722.433 3307.36 720.833ZM3339.72 719.068 3357.99 720.668 3357.59 725.234 3339.32 723.634ZM3371.69 721.869 3389.95 723.469 3389.55 728.035 3371.29 726.434ZM3403.65 724.669 3421.91 726.27 3421.51 730.836 3403.25 729.235ZM3435.61 727.47 3453.87 729.07 3453.47 733.636 3435.21 732.036ZM3467.57 730.271 3485.83 731.871 3485.43 736.437 3467.17 734.837ZM3499.53 733.071 3517.79 734.672 3517.39 739.238 3499.13 737.637ZM3531.49 735.872 3549.75 737.472 3549.35 742.038 3531.09 740.438ZM3563.45 738.673 3581.71 740.273 3581.31 744.839 3563.05 743.239ZM3595.41 741.473 3613.68 743.074 3613.28 747.64 3595.01 746.039ZM3627.37 744.274 3645.64 745.875 3645.24 750.44 3626.97 748.84ZM3659.33 747.075 3669.97 748.007 3669.57 752.573 3658.93 751.641ZM3666.42 736.194 3692.62 752.292 3664.02 763.589Z" /><path
+       id="path42"
+       fill-rule="evenodd"
+       fill="#92D050"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M2273.5 951.5C2273.5 868.657 2409.16 801.5 2576.5 801.5 2743.84 801.5 2879.5 868.657 2879.5 951.5 2879.5 1034.34 2743.84 1101.5 2576.5 1101.5 2409.16 1101.5 2273.5 1034.34 2273.5 951.5Z" /><text
+       id="text44"
+       transform="matrix(1 0 0 1 2396.44 978)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Feature </text>
+<text
+       id="text46"
+       transform="matrix(1 0 0 1 2669.72 978)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text48"
+       transform="matrix(1 0 0 1 2714.98 978)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">2</text>
+<path
+       id="path50"
+       fill="#003967"
+       d="M910.896 506.243 928.954 509.413 928.161 513.927 910.104 510.757ZM942.496 511.79 960.554 514.961 959.761 519.475 941.704 516.305ZM974.096 517.338 992.154 520.508 991.361 525.023 973.304 521.853ZM1005.7 522.886 1023.75 526.056 1022.96 530.57 1004.9 527.4ZM1037.3 528.434 1055.35 531.604 1054.56 536.118 1036.5 532.948ZM1068.9 533.981 1086.95 537.152 1086.16 541.666 1068.1 538.496ZM1100.5 539.529 1118.55 542.699 1117.76 547.214 1099.7 544.043ZM1132.1 545.077 1150.15 548.247 1149.36 552.761 1131.3 549.591ZM1163.7 550.625 1181.75 553.795 1180.96 558.309 1162.9 555.139ZM1195.3 556.172 1213.35 559.343 1212.56 563.857 1194.5 560.687ZM1226.9 561.72 1244.95 564.89 1244.16 569.405 1226.1 566.234ZM1258.5 567.268 1276.55 570.438 1275.76 574.952 1257.7 571.782ZM1290.1 572.816 1308.15 575.986 1307.36 580.5 1289.3 577.33ZM1321.7 578.363 1339.75 581.534 1338.96 586.048 1320.9 582.878ZM1353.3 583.911 1371.35 587.081 1370.56 591.596 1352.5 588.425ZM1384.9 589.459 1402.95 592.629 1402.16 597.143 1384.1 593.973ZM1416.5 595.007 1434.55 598.177 1433.76 602.691 1415.7 599.521ZM1448.1 600.554 1466.15 603.724 1465.36 608.239 1447.3 605.069ZM1479.7 606.102 1497.75 609.272 1496.96 613.786 1478.9 610.616ZM1511.3 611.65 1529.35 614.82 1528.56 619.334 1510.5 616.164ZM1542.9 617.198 1560.95 620.368 1560.16 624.882 1542.1 621.712ZM1574.5 622.745 1592.55 625.915 1591.76 630.43 1573.7 627.26ZM1606.1 628.293 1624.15 631.463 1623.36 635.977 1605.3 632.807ZM1637.7 633.841 1655.75 637.011 1654.96 641.525 1636.91 638.355ZM1669.3 639.388 1687.35 642.559 1686.56 647.073 1668.5 643.903ZM1700.9 644.936 1718.95 648.106 1718.16 652.621 1700.1 649.451ZM1732.5 650.484 1750.55 653.654 1749.76 658.168 1731.7 654.998ZM1764.1 656.032 1782.15 659.202 1781.36 663.716 1763.3 660.546ZM1795.7 661.579 1813.75 664.75 1812.96 669.264 1794.91 666.094ZM1827.3 667.127 1845.35 670.297 1844.56 674.812 1826.51 671.641ZM1858.9 672.675 1876.95 675.845 1876.16 680.359 1858.1 677.189ZM1890.5 678.223 1908.55 681.393 1907.76 685.907 1889.71 682.737ZM1922.1 683.77 1940.15 686.941 1939.36 691.455 1921.3 688.285ZM1953.7 689.318 1971.75 692.488 1970.96 697.003 1952.91 693.832ZM1985.3 694.866 2003.35 698.036 2002.56 702.55 1984.51 699.38ZM2016.9 700.414 2034.95 703.584 2034.16 708.098 2016.11 704.928ZM2048.5 705.961 2066.55 709.131 2065.76 713.646 2047.71 710.476ZM2080.1 711.509 2098.15 714.679 2097.36 719.194 2079.31 716.023ZM2111.7 717.057 2129.75 720.227 2128.96 724.741 2110.91 721.571ZM2143.3 722.605 2161.35 725.775 2160.56 730.289 2142.51 727.119ZM2174.9 728.152 2192.96 731.322 2192.16 735.837 2174.11 732.667ZM2206.5 733.7 2224.56 736.87 2223.76 741.384 2205.71 738.214ZM2238.1 739.248 2256.16 742.418 2255.36 746.932 2237.31 743.762ZM2269.7 744.795 2287.76 747.966 2286.96 752.48 2268.91 749.31ZM2301.3 750.343 2319.36 753.513 2318.56 758.028 2300.51 754.858ZM2332.9 755.891 2350.96 759.061 2350.16 763.575 2332.11 760.405ZM2364.5 761.439 2382.56 764.609 2381.76 769.123 2363.71 765.953ZM2396.1 766.986 2414.16 770.157 2413.36 774.671 2395.31 771.501ZM2427.7 772.534 2445.76 775.704 2444.96 780.219 2426.91 777.048ZM2459.3 778.082 2477.36 781.252 2476.56 785.766 2458.51 782.596ZM2490.9 783.63 2508.96 786.8 2508.16 791.314 2490.11 788.144ZM2522.5 789.177 2540.56 792.348 2539.76 796.862 2521.71 793.692ZM2554.1 794.725 2554.18 794.739 2553.39 799.254 2553.31 799.24ZM2551.64 782.66 2576.35 800.958 2546.89 809.746Z" /><path
+       id="path52"
+       transform="matrix(-1 0 0 1 2577.05 1101.5)"
+       fill="#003967"
+       d="M0.305813-2.27117 18.4752 0.175336 17.8635 4.71768-0.305813 2.27117ZM32.1022 2.01022 50.2716 4.45672 49.6599 8.99906 31.4906 6.55256ZM63.8986 6.2916 82.0679 8.73811 81.4563 13.2804 63.287 10.8339ZM95.695 10.573 113.864 13.0195 113.253 17.5618 95.0833 15.1153ZM127.491 14.8544 145.661 17.3009 145.049 21.8432 126.88 19.3967ZM159.288 19.1358 177.457 21.5823 176.845 26.1246 158.676 23.6781ZM191.084 23.4171 209.253 25.8636 208.642 30.406 190.472 27.9595ZM222.88 27.6985 241.05 30.145 240.438 34.6874 222.269 32.2409ZM254.677 31.9799 272.846 34.4264 272.235 38.9688 254.065 36.5223ZM286.473 36.2613 304.643 38.7078 304.031 43.2501 285.862 40.8036ZM318.27 40.5427 336.439 42.9892 335.827 47.5315 317.658 45.085ZM350.066 44.8241 368.235 47.2706 367.624 51.8129 349.454 49.3664ZM381.862 49.1054 400.032 51.552 399.42 56.0943 381.251 53.6478ZM413.659 53.3868 431.828 55.8333 431.216 60.3757 413.047 57.9292ZM445.455 57.6682 463.624 60.1147 463.013 64.6571 444.843 62.2106ZM477.251 61.9496 495.421 64.3961 494.809 68.9384 476.64 66.4919ZM509.048 66.231 527.217 68.6775 526.606 73.2198 508.436 70.7733ZM540.844 70.5124 559.014 72.9589 558.402 77.5012 540.233 75.0547ZM572.641 74.7938 590.81 77.2403 590.198 81.7826 572.029 79.3361ZM604.437 79.0751 622.606 81.5217 621.995 86.064 603.825 83.6175ZM636.233 83.3565 654.403 85.803 653.791 90.3454 635.622 87.8989ZM668.03 87.6379 686.199 90.0844 685.587 94.6268 667.418 92.1803ZM699.826 91.9193 717.995 94.3658 717.384 98.9081 699.215 96.4616ZM731.622 96.2007 749.792 98.6472 749.18 103.19 731.011 100.743ZM763.419 100.482 781.588 102.929 780.977 107.471 762.807 105.024ZM795.215 104.763 813.385 107.21 812.773 111.752 794.604 109.306ZM827.012 109.045 845.181 111.491 844.569 116.034 826.4 113.587ZM858.808 113.326 876.978 115.773 876.366 120.315 858.197 117.869ZM890.605 117.608 908.774 120.054 908.162 124.596 889.993 122.15ZM922.401 121.889 940.57 124.335 939.959 128.878 921.789 126.431ZM954.198 126.17 972.367 128.617 971.755 133.159 953.586 130.713ZM985.994 130.452 1004.16 132.898 1003.55 137.441 985.382 134.994ZM1017.79 134.733 1035.96 137.18 1035.35 141.722 1017.18 139.275ZM1049.59 139.015 1067.76 141.461 1067.14 146.003 1048.98 143.557ZM1081.38 143.296 1099.55 145.742 1098.94 150.285 1080.77 147.838ZM1113.18 147.577 1131.35 150.024 1130.74 154.566 1112.57 152.12ZM1144.98 151.859 1163.15 154.305 1162.53 158.848 1144.36 156.401ZM1176.77 156.14 1194.94 158.587 1194.33 163.129 1176.16 160.682ZM1208.57 160.421 1226.74 162.868 1226.13 167.41 1207.96 164.964ZM1240.36 164.703 1258.53 167.149 1257.92 171.692 1239.75 169.245ZM1272.16 168.984 1290.33 171.431 1289.72 175.973 1271.55 173.527ZM1303.96 173.266 1322.13 175.712 1321.52 180.254 1303.35 177.808ZM1335.75 177.547 1353.92 179.993 1353.31 184.536 1335.14 182.089ZM1367.55 181.828 1385.72 184.275 1385.11 188.817 1366.94 186.371ZM1399.35 186.11 1417.52 188.556 1416.9 193.099 1398.74 190.652ZM1431.14 190.391 1449.31 192.838 1448.7 197.38 1430.53 194.934ZM1462.94 194.673 1481.11 197.119 1480.5 201.661 1462.33 199.215ZM1494.74 198.954 1512.91 201.4 1512.29 205.943 1494.12 203.496ZM1526.53 203.235 1544.7 205.682 1544.09 210.224 1525.92 207.778ZM1558.33 207.517 1576.5 209.963 1575.89 214.506 1557.72 212.059ZM1590.12 211.798 1608.29 214.245 1607.68 218.787 1589.51 216.34ZM1621.92 216.079 1640.09 218.526 1639.48 223.068 1621.31 220.622ZM1637.13 206.566 1662.55 223.862 1633.46 233.82Z" /><path
+       id="path54"
+       transform="matrix(-1 0 0 1 3693.32 1052.5)"
+       fill="#003967"
+       d="M0.223679-2.28072 18.4695-0.491293 18.0221 4.07016-0.223679 2.28072ZM32.1538 0.850781 50.3996 2.64021 49.9523 7.20166 31.7065 5.41223ZM64.084 3.98229 82.3298 5.77172 81.8824 10.3332 63.6366 8.54373ZM96.0141 7.11379 114.26 8.90322 113.813 13.4647 95.5667 11.6752ZM127.944 10.2453 146.19 12.0347 145.743 16.5962 127.497 14.8067ZM159.874 13.3768 178.12 15.1662 177.673 19.7277 159.427 17.9382ZM191.805 16.5083 210.05 18.2977 209.603 22.8592 191.357 21.0698ZM223.735 19.6398 241.98 21.4292 241.533 25.9907 223.287 24.2013ZM255.665 22.7713 273.911 24.5607 273.463 29.1222 255.217 27.3328ZM287.595 25.9028 305.841 27.6923 305.393 32.2537 287.148 30.4643ZM319.525 29.0343 337.771 30.8238 337.323 35.3852 319.078 33.5958ZM351.455 32.1658 369.701 33.9553 369.254 38.5167 351.008 36.7273ZM383.385 35.2973 401.631 37.0868 401.184 41.6482 382.938 39.8588ZM415.315 38.4288 433.561 40.2183 433.114 44.7797 414.868 42.9903ZM447.246 41.5603 465.491 43.3498 465.044 47.9112 446.798 46.1218ZM479.176 44.6919 497.422 46.4813 496.974 51.0427 478.728 49.2533ZM511.106 47.8234 529.352 49.6128 528.904 54.1742 510.659 52.3848ZM543.036 50.9549 561.282 52.7443 560.835 57.3058 542.589 55.5163ZM574.966 54.0864 593.212 55.8758 592.765 60.4373 574.519 58.6478ZM606.896 57.2179 625.142 59.0073 624.695 63.5688 606.449 61.7793ZM638.827 60.3494 657.072 62.1388 656.625 66.7003 638.379 64.9108ZM670.757 63.4809 689.003 65.2703 688.555 69.8318 670.309 68.0423ZM702.687 66.6124 720.933 68.4018 720.485 72.9633 702.24 71.1739ZM734.617 69.7439 752.863 71.5333 752.416 76.0948 734.17 74.3054ZM766.547 72.8754 784.793 74.6648 784.346 79.2263 766.1 77.4369ZM798.477 76.0069 816.723 77.7963 816.276 82.3578 798.03 80.5684ZM830.407 79.1384 848.653 80.9278 848.206 85.4893 829.96 83.6999ZM862.338 82.2699 880.583 84.0594 880.136 88.6208 861.89 86.8314ZM894.268 85.4014 912.513 87.1909 912.066 91.7523 893.82 89.9629ZM926.198 88.5329 944.444 90.3224 943.996 94.8838 925.75 93.0944ZM958.128 91.6644 976.374 93.4539 975.926 98.0153 957.681 96.2259ZM990.058 94.7959 1008.3 96.5854 1007.86 101.147 989.611 99.3574ZM1021.99 97.9274 1040.23 99.7169 1039.79 104.278 1021.54 102.489ZM1053.92 101.059 1072.16 102.848 1071.72 107.41 1053.47 105.62ZM1085.85 104.19 1104.09 105.98 1103.65 110.541 1085.4 108.752ZM1117.78 107.322 1136.02 109.111 1135.58 113.673 1117.33 111.883ZM1149.71 110.453 1167.95 112.243 1167.51 116.804 1149.26 115.015ZM1181.64 113.585 1199.88 115.374 1199.44 119.936 1181.19 118.146ZM1213.57 116.716 1231.81 118.506 1231.37 123.067 1213.12 121.278ZM1245.5 119.848 1263.74 121.637 1263.3 126.199 1245.05 124.409ZM1277.43 122.979 1295.68 124.769 1295.23 129.33 1276.98 127.541ZM1309.36 126.111 1327.61 127.9 1327.16 132.462 1308.91 130.672ZM1341.29 129.242 1359.54 131.032 1359.09 135.593 1340.84 133.804ZM1373.22 132.374 1391.47 134.163 1391.02 138.725 1372.77 136.935ZM1405.15 135.505 1423.4 137.295 1422.95 141.856 1404.7 140.067ZM1437.08 138.637 1455.33 140.426 1454.88 144.988 1436.63 143.198ZM1469.01 141.768 1487.26 143.558 1486.81 148.119 1468.56 146.33ZM1500.94 144.9 1519.19 146.689 1518.74 151.251 1500.49 149.461ZM1532.87 148.031 1551.12 149.821 1550.67 154.382 1532.42 152.593ZM1564.8 151.163 1583.05 152.952 1582.6 157.514 1564.35 155.724ZM1596.73 154.294 1614.98 156.084 1614.53 160.645 1596.28 158.856ZM1628.66 157.426 1646.91 159.215 1646.46 163.777 1628.21 161.987ZM1660.59 160.557 1678.84 162.347 1678.39 166.908 1660.14 165.119ZM1692.52 163.689 1710.77 165.478 1710.32 170.04 1692.07 168.25ZM1724.45 166.82 1742.7 168.61 1742.25 173.171 1724 171.382ZM1756.38 169.952 1774.63 171.741 1774.18 176.303 1755.93 174.513ZM1788.31 173.084 1806.56 174.873 1806.11 179.434 1787.86 177.645ZM1820.24 176.215 1838.49 178.004 1838.04 182.566 1819.79 180.776ZM1852.17 179.347 1870.42 181.136 1869.97 185.697 1851.72 183.908ZM1884.1 182.478 1902.35 184.267 1901.9 188.829 1883.65 187.039ZM1916.03 185.61 1934.28 187.399 1933.83 191.96 1915.58 190.171ZM1947.96 188.741 1966.21 190.53 1965.76 195.092 1947.51 193.302ZM1979.89 191.873 1998.14 193.662 1997.69 198.223 1979.44 196.434ZM2011.82 195.004 2030.07 196.793 2029.62 201.355 2011.37 199.566ZM2043.75 198.136 2062 199.925 2061.55 204.486 2043.31 202.697ZM2075.68 201.267 2093.93 203.057 2093.48 207.618 2075.24 205.829ZM2107.61 204.399 2125.86 206.188 2125.41 210.749 2107.17 208.96ZM2139.54 207.53 2157.79 209.32 2157.34 213.881 2139.1 212.092ZM2171.47 210.662 2189.72 212.451 2189.27 217.012 2171.03 215.223ZM2203.4 213.793 2221.65 215.583 2221.2 220.144 2202.96 218.355ZM2235.33 216.925 2253.58 218.714 2253.13 223.275 2234.89 221.486ZM2267.26 220.056 2285.51 221.846 2285.06 226.407 2266.82 224.618ZM2299.19 223.188 2317.44 224.977 2316.99 229.539 2298.75 227.749ZM2331.12 226.319 2349.37 228.109 2348.92 232.67 2330.68 230.881ZM2363.05 229.451 2381.3 231.24 2380.85 235.802 2362.61 234.012ZM2394.98 232.582 2413.23 234.372 2412.78 238.933 2394.54 237.144ZM2426.91 235.714 2445.16 237.503 2444.71 242.065 2426.47 240.275ZM2458.84 238.845 2477.09 240.635 2476.64 245.196 2458.4 243.407ZM2490.77 241.977 2509.02 243.766 2508.57 248.328 2490.33 246.538ZM2522.7 245.108 2540.95 246.898 2540.5 251.459 2522.26 249.67ZM2554.63 248.24 2572.88 250.029 2572.43 254.591 2554.19 252.801ZM2586.56 251.371 2604.81 253.161 2604.36 257.722 2586.12 255.933ZM2618.49 254.503 2636.74 256.292 2636.29 260.854 2618.05 259.064ZM2650.43 257.634 2668.67 259.424 2668.22 263.985 2649.98 262.196ZM2682.36 260.766 2700.6 262.555 2700.15 267.117 2681.91 265.327ZM2714.29 263.897 2732.53 265.687 2732.08 270.248 2713.84 268.459ZM2746.22 267.029 2756.22 268.01 2755.77 272.571 2745.77 271.59ZM2752.79 256.16 2778.82 272.529 2750.11 283.529Z" /><path
+       id="path56"
+       fill="#63666A"
+       d="M1914.53 945.208 1932.86 945.421 1932.81 950.004 1914.47 949.791ZM1946.61 945.581 1964.94 945.794 1964.89 950.377 1946.55 950.164ZM1978.69 945.954 1997.02 946.167 1996.97 950.75 1978.64 950.537ZM2010.77 946.327 2029.1 946.54 2029.05 951.123 2010.72 950.91ZM2042.85 946.7 2061.18 946.913 2061.13 951.496 2042.8 951.283ZM2074.93 947.073 2093.26 947.286 2093.21 951.869 2074.88 951.656ZM2107.01 947.446 2125.35 947.659 2125.29 952.242 2106.96 952.029ZM2139.09 947.819 2157.43 948.032 2157.37 952.615 2139.04 952.402ZM2171.18 948.192 2189.51 948.405 2189.45 952.988 2171.12 952.775ZM2203.26 948.564 2221.59 948.778 2221.54 953.361 2203.2 953.147ZM2235.34 948.937 2250.5 949.114 2250.45 953.697 2235.28 953.52ZM2246.05 937.603 2273.39 951.671 2245.73 965.101Z" /><text
+       id="text58"
+       transform="matrix(1 0 0 1 2945.81 935)"
+       font-size="55"
+       font-weight="700"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Not consumed</text>
+<path
+       id="path60"
+       transform="matrix(1 0 0 -1 2879 950.275)"
+       fill="#63666A"
+       d="M0.117146-5.15492 41.3565-4.21775 41.1222 6.09209-0.117146 5.15492ZM72.286-3.51487 113.525-2.5777 113.291 7.73214 72.0517 6.79497ZM144.455-1.87482 185.694-0.937654 185.46 9.37218 144.221 8.43501ZM216.624-0.234776 257.863 0.702394 257.629 11.0122 216.389 10.0751ZM288.793 1.40527 330.032 2.34244 329.798 12.6523 288.558 11.7151ZM360.961 3.04532 402.201 3.98249 401.967 14.2923 360.727 13.3552ZM433.13 4.68537 470.489 5.53436 470.255 15.8442 432.896 14.9952ZM465.568-4.89263 496.147 11.275 464.866 26.0369Z" /><path
+       id="path62"
+       fill-rule="evenodd"
+       fill="none"
+       stroke-miterlimit="8"
+       stroke-width="4.58333"
+       stroke="#212322"
+       d="M2229.48 937.978 2673.33 630.043 3601.57 1967.99 3157.72 2275.92Z" /><path
+       id="path64"
+       fill-rule="evenodd"
+       fill="#92D050"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M2653.5 1505.5C2653.5 1422.66 2789.38 1355.5 2957 1355.5 3124.62 1355.5 3260.5 1422.66 3260.5 1505.5 3260.5 1588.34 3124.62 1655.5 2957 1655.5 2789.38 1655.5 2653.5 1588.34 2653.5 1505.5Z" /><text
+       id="text66"
+       transform="matrix(1 0 0 1 2777.09 1532)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Feature</text>
+<text
+       id="text68"
+       transform="matrix(1 0 0 1 3029.75 1532)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text70"
+       transform="matrix(1 0 0 1 3054.38 1532)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">2b</text>
+<path
+       id="path72"
+       fill-rule="evenodd"
+       fill="#92D050"
+       stroke-miterlimit="8"
+       stroke-width="6.875"
+       stroke="#212322"
+       d="M2956.5 1942C2956.5 1858.88 3092.38 1791.5 3260 1791.5 3427.62 1791.5 3563.5 1858.88 3563.5 1942 3563.5 2025.12 3427.62 2092.5 3260 2092.5 3092.38 2092.5 2956.5 2025.12 2956.5 1942Z" /><text
+       id="text74"
+       transform="matrix(1 0 0 1 3082.34 1969)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Feature</text>
+<text
+       id="text76"
+       transform="matrix(1 0 0 1 3334.99 1969)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">-</text>
+<text
+       id="text78"
+       transform="matrix(1 0 0 1 3359.63 1969)"
+       font-size="73"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">2c</text>
+<path
+       id="path80"
+       fill="#003967"
+       d="M2794.5 1054.49 2814.58 1090.53 2805.57 1095.55 2785.5 1059.51ZM2829.63 1117.56 2849.7 1153.59 2840.69 1158.61 2820.62 1122.57ZM2864.76 1180.62 2884.83 1216.66 2875.82 1221.68 2855.75 1185.64ZM2899.88 1243.68 2919.96 1279.72 2910.95 1284.74 2890.88 1248.7ZM2935.01 1306.75 2947.9 1329.89 2938.89 1334.91 2926 1311.77ZM2954.4 1320.37 2955.94 1354.92 2927.37 1335.42Z" /><path
+       id="path82"
+       fill="#003967"
+       d="M3175.63 1608.72 3193.86 1645.72 3184.61 1650.28 3166.37 1613.28ZM3207.53 1673.47 3225.76 1710.48 3216.51 1715.03 3198.28 1678.03ZM3239.44 1738.23 3253.05 1765.85 3243.8 1770.41 3230.19 1742.79ZM3260.02 1756.67 3259.82 1791.25 3232.27 1770.34Z" /><text
+       id="text84"
+       transform="matrix(0.494621 0.869109 -0.869109 0.494621 2827.66 1101)"
+       font-size="55"
+       font-weight="700"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Consumed</text>
+<text
+       id="text86"
+       transform="matrix(0.993011 0.118018 -0.118018 0.993011 2156.49 595)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">rte_edge == 3</text>
+<text
+       id="text88"
+       transform="matrix(0.998819 0.0485938 -0.0485938 0.998819 1925.41 932)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">edge == 0</text>
+<text
+       id="text90"
+       transform="matrix(0.977645 0.210262 -0.210262 0.977645 1670.89 687)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">rte_edge == 2</text>
+<text
+       id="text92"
+       transform="matrix(0.922018 0.387147 -0.387147 0.922018 1082.78 630)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">rte_edge == 1</text>
+<text
+       id="text94"
+       transform="matrix(-1.83697e-16 -1 1 -1.83697e-16 974.705 1097)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">rte_edge == 0</text>
+<text
+       id="text96"
+       transform="matrix(-1.83697e-16 -1 1 -1.83697e-16 896.661 1024)"
+       font-size="64"
+       font-weight="400"
+       font-family="Arial,Arial_MSFontService,sans-serif"
+       fill="#212322">Static Path</text>
+</g></svg>
-- 
2.43.0


      parent reply	other threads:[~2024-10-14 14:34 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-07  7:31 [RFC PATCH 0/3] add feature arc in rte_graph Nitin Saxena
2024-09-07  7:31 ` [RFC PATCH 1/3] graph: add feature arc support Nitin Saxena
2024-09-11  4:41   ` Kiran Kumar Kokkilagadda
2024-10-10  4:42     ` Nitin Saxena
2024-09-07  7:31 ` [RFC PATCH 2/3] graph: add feature arc option in graph create Nitin Saxena
2024-09-07  7:31 ` [RFC PATCH 3/3] graph: add IPv4 output feature arc Nitin Saxena
2024-10-08  8:04 ` [RFC PATCH 0/3] add feature arc in rte_graph David Marchand
2024-10-08 14:26   ` [EXTERNAL] " Nitin Saxena
2024-10-14 11:11   ` Nitin Saxena
2024-10-16  9:24     ` David Marchand
2024-10-16  9:38       ` Robin Jarry
2024-10-16 13:50         ` Nitin Saxena
2024-10-17  7:03           ` Nitin Saxena
2024-10-17  7:50             ` Robin Jarry
2024-10-17  8:32               ` [EXTERNAL] " Christophe Fontaine
2024-10-17 10:56                 ` Nitin Saxena
2024-10-17  8:48               ` [EXTERNAL] " Nitin Saxena
2024-10-08 13:30 ` [RFC PATCH v2 0/5] " Nitin Saxena
2024-10-08 13:30   ` [RFC PATCH v2 1/5] graph: add feature arc support Nitin Saxena
2024-10-08 13:30   ` [RFC PATCH v2 2/5] graph: add feature arc option in graph create Nitin Saxena
2024-10-08 13:30   ` [RFC PATCH v2 3/5] graph: add IPv4 output feature arc Nitin Saxena
2024-10-08 13:30   ` [RFC PATCH v2 4/5] test/graph_feature_arc: add functional tests Nitin Saxena
2024-10-08 13:30   ` [RFC PATCH v2 5/5] docs: add programming guide for feature arc Nitin Saxena
2024-10-09 13:29   ` [PATCH v3 0/5] add feature arc in rte_graph Nitin Saxena
2024-10-09 13:29     ` [PATCH v3 1/5] graph: add feature arc support Nitin Saxena
2024-10-09 13:29     ` [PATCH v3 2/5] graph: add feature arc option in graph create Nitin Saxena
2024-10-09 13:30     ` [PATCH v3 3/5] graph: add IPv4 output feature arc Nitin Saxena
2024-10-09 13:30     ` [PATCH v3 4/5] test/graph_feature_arc: add functional tests Nitin Saxena
2024-10-09 13:30     ` [PATCH v3 5/5] docs: add programming guide for feature arc Nitin Saxena
2024-10-09 14:21     ` [PATCH v3 0/5] add feature arc in rte_graph Christophe Fontaine
2024-10-10  4:13       ` [EXTERNAL] " Nitin Saxena
2024-10-09 17:37     ` Stephen Hemminger
2024-10-10  4:24       ` [EXTERNAL] " Nitin Saxena
2024-10-10 13:31     ` [PATCH v4 " Nitin Saxena
2024-10-10 13:31       ` [PATCH v4 1/5] graph: add feature arc support Nitin Saxena
2024-10-10 13:31       ` [PATCH v4 2/5] graph: add feature arc option in graph create Nitin Saxena
2024-10-10 13:31       ` [PATCH v4 3/5] graph: add IPv4 output feature arc Nitin Saxena
2024-10-10 13:31       ` [PATCH v4 4/5] test/graph_feature_arc: add functional tests Nitin Saxena
2024-10-10 13:31       ` [PATCH v4 5/5] docs: add programming guide for feature arc Nitin Saxena
2024-10-14 14:33       ` [PATCH v5 0/5] add feature arc in rte_graph Nitin Saxena
2024-10-14 14:33         ` [PATCH v5 1/5] graph: add feature arc support Nitin Saxena
2024-10-14 14:33         ` [PATCH v5 2/5] graph: add feature arc option in graph create Nitin Saxena
2024-10-14 14:33         ` [PATCH v5 3/5] graph: add IPv4 output feature arc Nitin Saxena
2024-10-14 14:33         ` [PATCH v5 4/5] test/graph_feature_arc: add functional tests Nitin Saxena
2024-10-14 19:54           ` Stephen Hemminger
2024-10-14 14:33         ` Nitin Saxena [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241014143401.3135897-6-nsaxena@marvell.com \
    --to=nsaxena@marvell.com \
    --cc=cfontain@redhat.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=kirankumark@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=nsaxena16@gmail.com \
    --cc=rjarry@redhat.com \
    --cc=yanzhirun_163@163.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).