From: Ankur Dwivedi <adwivedi@marvell.com>
To: <dev@dpdk.org>
Cc: <jerinj@marvell.com>, <vladimir.medvedkin@intel.com>,
<ndabilpuram@marvell.com>, <pbhagavatula@marvell.com>,
<skori@marvell.com>, <rkudurumalla@marvell.com>,
<nsaxena@marvell.com>, Ankur Dwivedi <adwivedi@marvell.com>
Subject: [PATCH v3 14/14] doc: add FIB nodes in graph guide
Date: Mon, 2 Jun 2025 12:06:39 +0530 [thread overview]
Message-ID: <20250602063639.198550-15-adwivedi@marvell.com> (raw)
In-Reply-To: <20250602063639.198550-1-adwivedi@marvell.com>
Adds the ip4_lookup_fib and ip6_lookup_fib nodes in inbuilt nodes section
of graph guide.
Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
---
doc/guides/prog_guide/graph_lib.rst | 32 ++++
.../img/graph_inbuilt_node_flow.svg | 150 +++++++++---------
2 files changed, 108 insertions(+), 74 deletions(-)
diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst
index dc6c8c0712..7b5c93f73f 100644
--- a/doc/guides/prog_guide/graph_lib.rst
+++ b/doc/guides/prog_guide/graph_lib.rst
@@ -458,6 +458,22 @@ On LPM lookup failure, objects are redirected to pkt_drop node.
To achieve home run, node use ``rte_node_stream_move()`` as mentioned in above
sections.
+ip4_lookup_fib
+~~~~~~~~~~~~~~
+This node is an intermediate node that does FIB lookup for the received
+ipv4 packets and the result determines each packets next node.
+
+On successful FIB lookup, the result contains the ``next_node`` id and
+``next-hop`` id with which the packet needs to be further processed.
+
+On FIB lookup failure, objects are redirected to pkt_drop node.
+``rte_node_ip4_fib_route_add()`` is control path API to add ipv4 routes.
+To achieve home run, node use ``rte_node_stream_move()`` as mentioned in above
+sections.
+
+This node is used only when lookup mode is given as FIB in the application.
+Otherwise, the ip4_lookup node is used by default which does LPM lookup.
+
ip4_rewrite
~~~~~~~~~~~
This node gets packets from ``ip4_lookup`` node with next-hop id for each
@@ -487,6 +503,22 @@ On LPM lookup failure, objects are redirected to ``pkt_drop`` node.
To achieve home run, node use ``rte_node_stream_move()``
as mentioned in above sections.
+ip6_lookup_fib
+~~~~~~~~~~~~~~
+This node is an intermediate node that does FIB lookup for the received
+IPv6 packets and the result determines each packets next node.
+
+On successful FIB lookup, the result contains the ``next_node`` ID
+and `next-hop`` ID with which the packet needs to be further processed.
+
+On FIB lookup failure, objects are redirected to ``pkt_drop`` node.
+``rte_node_ip6_fib_route_add()`` is control path API to add IPv6 routes.
+To achieve home run, node use ``rte_node_stream_move()`` as mentioned in
+above sections.
+
+This node is used only when lookup mode is given as FIB in the application.
+Otherwise, the ip6_lookup node is used by default which does LPM lookup.
+
ip6_rewrite
~~~~~~~~~~~
This node gets packets from ``ip6_lookup`` node with next-hop ID
diff --git a/doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg b/doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg
index 7c451371a7..f654d581e0 100644
--- a/doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg
+++ b/doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 8.0.5 (0)
+<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- SPDX-License-Identifier: BSD-3-Clause -->
<!-- Copyright(C) 2023 Marvell International Ltd. -->
@@ -20,6 +20,8 @@ digraph dpdk_inbuilt_nodes_flow {
pkt_drop [color="cyan"]
kernel_tx [color="blue"]
pkt_cls [color="red"]
+ ip4_lookup [label="ip4_lookup / ip4_lookup_fib"]
+ ip6_lookup [label="ip6_lookup / ip6_lookup_fib"]
ethdev_rx -> pkt_cls
kernel_rx -> pkt_cls
@@ -48,58 +50,58 @@ digraph dpdk_inbuilt_nodes_flow {
-->
<!-- input nodes -->
<!-- Title: dpdk_inbuilt_nodes_flow Pages: 1 -->
-<svg width="631pt" height="437pt"
- viewBox="0.00 0.00 630.95 437.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="777pt" height="437pt"
+ viewBox="0.00 0.00 776.95 437.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 433)">
<title>dpdk_inbuilt_nodes_flow</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-433 626.95,-433 626.95,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-433 772.95,-433 772.95,4 -4,4"/>
<!-- ethdev_rx -->
<g id="node1" class="node">
<title>ethdev_rx</title>
-<ellipse fill="none" stroke="green" cx="261.95" cy="-411" rx="56.59" ry="18"/>
-<text text-anchor="middle" x="261.95" y="-407.3" font-family="Times,serif" font-size="14.00">ethdev_rx</text>
+<ellipse fill="none" stroke="green" cx="317.95" cy="-411" rx="56.59" ry="18"/>
+<text text-anchor="middle" x="317.95" y="-407.3" font-family="Times,serif" font-size="14.00">ethdev_rx</text>
</g>
<!-- pkt_cls -->
<g id="node6" class="node">
<title>pkt_cls</title>
-<ellipse fill="none" stroke="red" cx="261.95" cy="-338" rx="42.79" ry="18"/>
-<text text-anchor="middle" x="261.95" y="-334.3" font-family="Times,serif" font-size="14.00">pkt_cls</text>
+<ellipse fill="none" stroke="red" cx="317.95" cy="-338" rx="42.79" ry="18"/>
+<text text-anchor="middle" x="317.95" y="-334.3" font-family="Times,serif" font-size="14.00">pkt_cls</text>
</g>
<!-- ethdev_rx->pkt_cls -->
<g id="edge1" class="edge">
<title>ethdev_rx->pkt_cls</title>
-<path fill="none" stroke="black" d="M261.95,-392.81C261.95,-384.79 261.95,-375.05 261.95,-366.07"/>
-<polygon fill="black" stroke="black" points="265.45,-366.03 261.95,-356.03 258.45,-366.03 265.45,-366.03"/>
+<path fill="none" stroke="black" d="M317.95,-392.81C317.95,-384.79 317.95,-375.05 317.95,-366.07"/>
+<polygon fill="black" stroke="black" points="321.45,-366.03 317.95,-356.03 314.45,-366.03 321.45,-366.03"/>
</g>
<!-- kernel_rx -->
<g id="node2" class="node">
<title>kernel_rx</title>
-<ellipse fill="none" stroke="green" cx="53.95" cy="-178" rx="53.89" ry="18"/>
-<text text-anchor="middle" x="53.95" y="-174.3" font-family="Times,serif" font-size="14.00">kernel_rx</text>
+<ellipse fill="none" stroke="green" cx="142.95" cy="-178" rx="53.89" ry="18"/>
+<text text-anchor="middle" x="142.95" y="-174.3" font-family="Times,serif" font-size="14.00">kernel_rx</text>
</g>
<!-- kernel_rx->pkt_cls -->
<g id="edge2" class="edge">
<title>kernel_rx->pkt_cls</title>
-<path fill="none" stroke="black" d="M74.75,-194.8C112.31,-223.33 191.45,-283.45 233.8,-315.62"/>
-<polygon fill="black" stroke="black" points="231.92,-318.59 242,-321.85 236.16,-313.01 231.92,-318.59"/>
+<path fill="none" stroke="black" d="M144.85,-196.26C147.86,-216.03 155.42,-248.32 173.95,-269 199.67,-297.7 240.08,-315.31 271.55,-325.4"/>
+<polygon fill="black" stroke="black" points="270.84,-328.84 281.43,-328.41 272.89,-322.14 270.84,-328.84"/>
</g>
<!-- ethdev_tx -->
<g id="node3" class="node">
<title>ethdev_tx</title>
-<ellipse fill="none" stroke="magenta" cx="347.95" cy="-91" rx="55.79" ry="18"/>
-<text text-anchor="middle" x="347.95" y="-87.3" font-family="Times,serif" font-size="14.00">ethdev_tx</text>
+<ellipse fill="none" stroke="magenta" cx="442.95" cy="-91" rx="55.79" ry="18"/>
+<text text-anchor="middle" x="442.95" y="-87.3" font-family="Times,serif" font-size="14.00">ethdev_tx</text>
</g>
<!-- pkt_drop -->
<g id="node4" class="node">
<title>pkt_drop</title>
-<ellipse fill="none" stroke="cyan" cx="404.95" cy="-18" rx="51.99" ry="18"/>
-<text text-anchor="middle" x="404.95" y="-14.3" font-family="Times,serif" font-size="14.00">pkt_drop</text>
+<ellipse fill="none" stroke="cyan" cx="499.95" cy="-18" rx="51.99" ry="18"/>
+<text text-anchor="middle" x="499.95" y="-14.3" font-family="Times,serif" font-size="14.00">pkt_drop</text>
</g>
<!-- ethdev_tx->pkt_drop -->
<g id="edge14" class="edge">
<title>ethdev_tx->pkt_drop</title>
-<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M361.45,-73.17C368.55,-64.33 377.39,-53.33 385.23,-43.55"/>
-<polygon fill="cyan" stroke="cyan" points="388,-45.69 391.53,-35.71 382.54,-41.31 388,-45.69"/>
+<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M456.45,-73.17C463.55,-64.33 472.39,-53.33 480.23,-43.55"/>
+<polygon fill="cyan" stroke="cyan" points="483,-45.69 486.53,-35.71 477.54,-41.31 483,-45.69"/>
</g>
<!-- kernel_tx -->
<g id="node5" class="node">
@@ -110,156 +112,156 @@ digraph dpdk_inbuilt_nodes_flow {
<!-- kernel_tx->kernel_rx -->
<g id="edge16" class="edge">
<title>kernel_tx->kernel_rx</title>
-<path fill="none" stroke="red" stroke-dasharray="5,2" d="M53.95,-232.81C53.95,-224.79 53.95,-215.05 53.95,-206.07"/>
-<polygon fill="red" stroke="red" points="57.45,-206.03 53.95,-196.03 50.45,-206.03 57.45,-206.03"/>
+<path fill="none" stroke="red" stroke-dasharray="5,2" d="M73.7,-234.24C85.83,-224.57 101.55,-212.02 114.95,-201.33"/>
+<polygon fill="red" stroke="red" points="117.31,-203.93 122.94,-194.96 112.94,-198.46 117.31,-203.93"/>
</g>
<!-- pkt_cls->pkt_drop -->
<g id="edge15" class="edge">
<title>pkt_cls->pkt_drop</title>
-<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M304.77,-335.88C400.4,-332.2 622.95,-316.71 622.95,-252 622.95,-252 622.95,-252 622.95,-90 622.95,-56.33 527.72,-36.15 463.14,-26.34"/>
-<polygon fill="cyan" stroke="cyan" points="463.46,-22.85 453.06,-24.85 462.44,-29.77 463.46,-22.85"/>
+<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M359.57,-333.53C471.21,-323.65 768.95,-293.43 768.95,-252 768.95,-252 768.95,-252 768.95,-90 768.95,-47.3 640.63,-29.71 561.24,-22.92"/>
+<polygon fill="cyan" stroke="cyan" points="561.11,-19.4 550.86,-22.07 560.54,-26.37 561.11,-19.4"/>
</g>
<!-- pkt_cls->kernel_tx -->
<g id="edge5" class="edge">
<title>pkt_cls->kernel_tx</title>
-<path fill="none" stroke="blue" d="M219.14,-335.96C164.86,-333.64 75.77,-326.15 54.95,-302 49.6,-295.81 48.06,-287.4 48.24,-279.24"/>
-<polygon fill="blue" stroke="blue" points="51.73,-279.54 49.23,-269.24 44.76,-278.84 51.73,-279.54"/>
-<text text-anchor="middle" x="107.45" y="-290.8" font-family="Times,serif" font-size="14.00">exception pkts</text>
+<path fill="none" stroke="blue" d="M275.65,-334.79C200.84,-330.45 51.54,-319.65 35.95,-302 29.84,-295.09 31.24,-285.97 35.22,-277.4"/>
+<polygon fill="blue" stroke="blue" points="38.4,-278.88 40.31,-268.46 32.32,-275.42 38.4,-278.88"/>
+<text text-anchor="middle" x="88.45" y="-290.8" font-family="Times,serif" font-size="14.00">exception pkts</text>
</g>
<!-- ip4_lookup -->
<g id="node7" class="node">
<title>ip4_lookup</title>
-<ellipse fill="none" stroke="black" cx="261.95" cy="-251" rx="60.39" ry="18"/>
-<text text-anchor="middle" x="261.95" y="-247.3" font-family="Times,serif" font-size="14.00">ip4_lookup</text>
+<ellipse fill="none" stroke="black" cx="317.95" cy="-251" rx="135.38" ry="18"/>
+<text text-anchor="middle" x="317.95" y="-247.3" font-family="Times,serif" font-size="14.00">ip4_lookup / ip4_lookup_fib</text>
</g>
<!-- pkt_cls->ip4_lookup -->
<g id="edge3" class="edge">
<title>pkt_cls->ip4_lookup</title>
-<path fill="none" stroke="black" d="M261.95,-319.8C261.95,-308.16 261.95,-292.55 261.95,-279.24"/>
-<polygon fill="black" stroke="black" points="265.45,-279.18 261.95,-269.18 258.45,-279.18 265.45,-279.18"/>
-<text text-anchor="middle" x="277.45" y="-290.8" font-family="Times,serif" font-size="14.00">ipv4</text>
+<path fill="none" stroke="black" d="M317.95,-319.8C317.95,-308.16 317.95,-292.55 317.95,-279.24"/>
+<polygon fill="black" stroke="black" points="321.45,-279.18 317.95,-269.18 314.45,-279.18 321.45,-279.18"/>
+<text text-anchor="middle" x="333.45" y="-290.8" font-family="Times,serif" font-size="14.00">ipv4</text>
</g>
<!-- ip6_lookup -->
<g id="node8" class="node">
<title>ip6_lookup</title>
-<ellipse fill="none" stroke="black" cx="492.95" cy="-251" rx="60.39" ry="18"/>
-<text text-anchor="middle" x="492.95" y="-247.3" font-family="Times,serif" font-size="14.00">ip6_lookup</text>
+<ellipse fill="none" stroke="black" cx="605.95" cy="-251" rx="135.38" ry="18"/>
+<text text-anchor="middle" x="605.95" y="-247.3" font-family="Times,serif" font-size="14.00">ip6_lookup / ip6_lookup_fib</text>
</g>
<!-- pkt_cls->ip6_lookup -->
<g id="edge4" class="edge">
<title>pkt_cls->ip6_lookup</title>
-<path fill="none" stroke="black" d="M293.1,-325.54C332.57,-311.01 400.93,-285.86 446.54,-269.07"/>
-<polygon fill="black" stroke="black" points="448.02,-272.26 456.2,-265.52 445.61,-265.69 448.02,-272.26"/>
-<text text-anchor="middle" x="407.45" y="-290.8" font-family="Times,serif" font-size="14.00">ipv6</text>
+<path fill="none" stroke="black" d="M352.11,-326.92C399.09,-313.05 484.45,-287.86 543.12,-270.54"/>
+<polygon fill="black" stroke="black" points="544.42,-273.81 553.02,-267.62 542.44,-267.09 544.42,-273.81"/>
+<text text-anchor="middle" x="495.45" y="-290.8" font-family="Times,serif" font-size="14.00">ipv6</text>
</g>
<!-- ip4_lookup->pkt_drop -->
<g id="edge7" class="edge">
<title>ip4_lookup->pkt_drop</title>
-<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M258.85,-232.91C253.68,-198.83 247.1,-121.54 282.95,-73 299.1,-51.12 326.1,-37.95 350.6,-30.11"/>
-<polygon fill="cyan" stroke="cyan" points="351.6,-33.46 360.19,-27.26 349.61,-26.75 351.6,-33.46"/>
+<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M322.89,-232.88C335.16,-190.88 366.75,-85.24 377.95,-73 396.35,-52.86 423.64,-39.83 447.75,-31.62"/>
+<polygon fill="cyan" stroke="cyan" points="449.04,-34.88 457.5,-28.49 446.91,-28.21 449.04,-34.88"/>
</g>
<!-- ip4_rewrite -->
<g id="node9" class="node">
<title>ip4_rewrite</title>
-<ellipse fill="none" stroke="black" cx="347.95" cy="-178" rx="63.89" ry="18"/>
-<text text-anchor="middle" x="347.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip4_rewrite</text>
+<ellipse fill="none" stroke="black" cx="442.95" cy="-178" rx="63.89" ry="18"/>
+<text text-anchor="middle" x="442.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip4_rewrite</text>
</g>
<!-- ip4_lookup->ip4_rewrite -->
<g id="edge6" class="edge">
<title>ip4_lookup->ip4_rewrite</title>
-<path fill="none" stroke="black" d="M281.46,-233.89C292.92,-224.42 307.6,-212.31 320.25,-201.87"/>
-<polygon fill="black" stroke="black" points="322.73,-204.36 328.21,-195.29 318.27,-198.96 322.73,-204.36"/>
+<path fill="none" stroke="black" d="M347.25,-233.35C365.11,-223.21 388.07,-210.17 407.02,-199.41"/>
+<polygon fill="black" stroke="black" points="408.99,-202.31 415.96,-194.33 405.53,-196.23 408.99,-202.31"/>
</g>
<!-- ip4_local -->
<g id="node11" class="node">
<title>ip4_local</title>
-<ellipse fill="none" stroke="black" cx="176.95" cy="-178" rx="51.19" ry="18"/>
-<text text-anchor="middle" x="176.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip4_local</text>
+<ellipse fill="none" stroke="black" cx="271.95" cy="-178" rx="51.19" ry="18"/>
+<text text-anchor="middle" x="271.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip4_local</text>
</g>
<!-- ip4_lookup->ip4_local -->
<g id="edge17" class="edge">
<title>ip4_lookup->ip4_local</title>
-<path fill="none" stroke="black" d="M242.66,-233.89C231.17,-224.29 216.41,-211.96 203.79,-201.42"/>
-<polygon fill="black" stroke="black" points="205.78,-198.53 195.86,-194.8 201.29,-203.9 205.78,-198.53"/>
+<path fill="none" stroke="black" d="M306.81,-232.81C301.33,-224.35 294.61,-213.98 288.54,-204.61"/>
+<polygon fill="black" stroke="black" points="291.35,-202.52 282.98,-196.03 285.48,-206.32 291.35,-202.52"/>
</g>
<!-- ip6_lookup->pkt_drop -->
<g id="edge11" class="edge">
<title>ip6_lookup->pkt_drop</title>
-<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M524.51,-235.44C540.02,-226.46 557.22,-213.31 565.95,-196 573.15,-181.71 572.55,-174.57 565.95,-160 540.59,-104.08 480.88,-61.6 441.74,-38.51"/>
-<polygon fill="cyan" stroke="cyan" points="443.16,-35.29 432.75,-33.34 439.67,-41.36 443.16,-35.29"/>
+<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M630.47,-233.24C642.05,-223.81 654.68,-210.93 660.95,-196 667.14,-181.25 667.55,-174.57 660.95,-160 635.59,-104.08 575.88,-61.6 536.74,-38.51"/>
+<polygon fill="cyan" stroke="cyan" points="538.16,-35.29 527.75,-33.34 534.67,-41.36 538.16,-35.29"/>
</g>
<!-- ip6_rewrite -->
<g id="node10" class="node">
<title>ip6_rewrite</title>
-<ellipse fill="none" stroke="black" cx="492.95" cy="-178" rx="63.89" ry="18"/>
-<text text-anchor="middle" x="492.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip6_rewrite</text>
+<ellipse fill="none" stroke="black" cx="587.95" cy="-178" rx="63.89" ry="18"/>
+<text text-anchor="middle" x="587.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip6_rewrite</text>
</g>
<!-- ip6_lookup->ip6_rewrite -->
<g id="edge10" class="edge">
<title>ip6_lookup->ip6_rewrite</title>
-<path fill="none" stroke="black" d="M492.95,-232.81C492.95,-224.79 492.95,-215.05 492.95,-206.07"/>
-<polygon fill="black" stroke="black" points="496.45,-206.03 492.95,-196.03 489.45,-206.03 496.45,-206.03"/>
+<path fill="none" stroke="black" d="M601.59,-232.81C599.53,-224.7 597.03,-214.84 594.73,-205.78"/>
+<polygon fill="black" stroke="black" points="598.11,-204.86 592.26,-196.03 591.33,-206.58 598.11,-204.86"/>
</g>
<!-- ip4_rewrite->ethdev_tx -->
<g id="edge8" class="edge">
<title>ip4_rewrite->ethdev_tx</title>
-<path fill="none" stroke="green" d="M347.95,-159.8C347.95,-148.16 347.95,-132.55 347.95,-119.24"/>
-<polygon fill="green" stroke="green" points="351.45,-119.18 347.95,-109.18 344.45,-119.18 351.45,-119.18"/>
+<path fill="none" stroke="green" d="M442.95,-159.8C442.95,-148.16 442.95,-132.55 442.95,-119.24"/>
+<polygon fill="green" stroke="green" points="446.45,-119.18 442.95,-109.18 439.45,-119.18 446.45,-119.18"/>
</g>
<!-- ip4_rewrite->pkt_drop -->
<g id="edge9" class="edge">
<title>ip4_rewrite->pkt_drop</title>
-<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M370.32,-161.1C385.53,-148.83 404.37,-130.37 412.95,-109 421.04,-88.82 418.02,-64.12 413.56,-45.7"/>
-<polygon fill="cyan" stroke="cyan" points="416.9,-44.66 410.91,-35.93 410.15,-46.49 416.9,-44.66"/>
+<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M465.32,-161.1C480.53,-148.83 499.37,-130.37 507.95,-109 516.04,-88.82 513.02,-64.12 508.56,-45.7"/>
+<polygon fill="cyan" stroke="cyan" points="511.9,-44.66 505.91,-35.93 505.15,-46.49 511.9,-44.66"/>
</g>
<!-- ip6_rewrite->ethdev_tx -->
<g id="edge12" class="edge">
<title>ip6_rewrite->ethdev_tx</title>
-<path fill="none" stroke="green" d="M466.35,-161.41C442.8,-147.6 408.27,-127.36 382.57,-112.3"/>
-<polygon fill="green" stroke="green" points="384.28,-109.24 373.88,-107.21 380.74,-115.28 384.28,-109.24"/>
+<path fill="none" stroke="green" d="M561.35,-161.41C537.8,-147.6 503.27,-127.36 477.57,-112.3"/>
+<polygon fill="green" stroke="green" points="479.28,-109.24 468.88,-107.21 475.74,-115.28 479.28,-109.24"/>
</g>
<!-- ip6_rewrite->pkt_drop -->
<g id="edge13" class="edge">
<title>ip6_rewrite->pkt_drop</title>
-<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M485.15,-159.86C473.93,-135.7 452.15,-90.48 429.95,-54 427.97,-50.75 425.78,-47.4 423.55,-44.13"/>
-<polygon fill="cyan" stroke="cyan" points="426.28,-41.92 417.67,-35.75 420.55,-45.94 426.28,-41.92"/>
+<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M580.15,-159.86C568.93,-135.7 547.15,-90.48 524.95,-54 522.97,-50.75 520.78,-47.4 518.55,-44.13"/>
+<polygon fill="cyan" stroke="cyan" points="521.28,-41.92 512.67,-35.75 515.55,-45.94 521.28,-41.92"/>
</g>
<!-- ip4_local->pkt_drop -->
<g id="edge18" class="edge">
<title>ip4_local->pkt_drop</title>
-<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M191.02,-160.51C195.47,-154.86 200.21,-148.35 203.95,-142 225.57,-105.29 209.02,-81.03 241.95,-54 257.83,-40.96 306.22,-31.62 346.19,-25.89"/>
-<polygon fill="cyan" stroke="cyan" points="346.72,-29.35 356.14,-24.51 345.75,-22.41 346.72,-29.35"/>
+<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M286.02,-160.51C290.47,-154.86 295.21,-148.35 298.95,-142 320.57,-105.29 304.02,-81.03 336.95,-54 352.83,-40.96 401.22,-31.62 441.19,-25.89"/>
+<polygon fill="cyan" stroke="cyan" points="441.72,-29.35 451.14,-24.51 440.75,-22.41 441.72,-29.35"/>
</g>
<!-- udp4_input -->
<g id="node12" class="node">
<title>udp4_input</title>
-<ellipse fill="none" stroke="black" cx="126.95" cy="-91" rx="63.09" ry="18"/>
-<text text-anchor="middle" x="126.95" y="-87.3" font-family="Times,serif" font-size="14.00">udp4_input</text>
+<ellipse fill="none" stroke="black" cx="221.95" cy="-91" rx="63.09" ry="18"/>
+<text text-anchor="middle" x="221.95" y="-87.3" font-family="Times,serif" font-size="14.00">udp4_input</text>
</g>
<!-- ip4_local->udp4_input -->
<g id="edge19" class="edge">
<title>ip4_local->udp4_input</title>
-<path fill="none" stroke="black" d="M167.07,-160.21C159.99,-148.18 150.33,-131.75 142.26,-118.03"/>
-<polygon fill="black" stroke="black" points="145.06,-115.89 136.97,-109.05 139.03,-119.44 145.06,-115.89"/>
-<text text-anchor="middle" x="177.45" y="-130.8" font-family="Times,serif" font-size="14.00">udpv4</text>
+<path fill="none" stroke="black" d="M262.07,-160.21C254.99,-148.18 245.33,-131.75 237.26,-118.03"/>
+<polygon fill="black" stroke="black" points="240.06,-115.89 231.97,-109.05 234.03,-119.44 240.06,-115.89"/>
+<text text-anchor="middle" x="272.45" y="-130.8" font-family="Times,serif" font-size="14.00">udpv4</text>
</g>
<!-- udp4_input->pkt_drop -->
<g id="edge21" class="edge">
<title>udp4_input->pkt_drop</title>
-<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M154.75,-74.82C169.08,-67.56 187.05,-59.32 203.95,-54 250.51,-39.35 305.19,-30.33 345.76,-25.12"/>
-<polygon fill="cyan" stroke="cyan" points="346.26,-28.59 355.75,-23.88 345.4,-21.64 346.26,-28.59"/>
+<path fill="none" stroke="cyan" stroke-dasharray="5,2" d="M249.75,-74.82C264.08,-67.56 282.05,-59.32 298.95,-54 345.51,-39.35 400.19,-30.33 440.76,-25.12"/>
+<polygon fill="cyan" stroke="cyan" points="441.26,-28.59 450.75,-23.88 440.4,-21.64 441.26,-28.59"/>
</g>
<!-- udp_user_node -->
<g id="node13" class="node">
<title>udp_user_node</title>
-<ellipse fill="none" stroke="black" cx="126.95" cy="-18" rx="79.89" ry="18"/>
-<text text-anchor="middle" x="126.95" y="-14.3" font-family="Times,serif" font-size="14.00">udp_user_node</text>
+<ellipse fill="none" stroke="black" cx="221.95" cy="-18" rx="79.89" ry="18"/>
+<text text-anchor="middle" x="221.95" y="-14.3" font-family="Times,serif" font-size="14.00">udp_user_node</text>
</g>
<!-- udp4_input->udp_user_node -->
<g id="edge20" class="edge">
<title>udp4_input->udp_user_node</title>
-<path fill="none" stroke="black" d="M126.95,-72.81C126.95,-64.79 126.95,-55.05 126.95,-46.07"/>
-<polygon fill="black" stroke="black" points="130.45,-46.03 126.95,-36.03 123.45,-46.03 130.45,-46.03"/>
+<path fill="none" stroke="black" d="M221.95,-72.81C221.95,-64.79 221.95,-55.05 221.95,-46.07"/>
+<polygon fill="black" stroke="black" points="225.45,-46.03 221.95,-36.03 218.45,-46.03 225.45,-46.03"/>
</g>
</g>
</svg>
--
2.25.1
next prev parent reply other threads:[~2025-06-02 6:38 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-15 12:10 [PATCH v1 00/12] add lookup fib nodes in graph library Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 01/12] fib: move macro to header file Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 02/12] node: add IP4 lookup FIB node Ankur Dwivedi
2025-04-16 7:32 ` Nitin Saxena
2025-04-16 10:26 ` [EXTERNAL] " Ankur Dwivedi
2025-04-16 9:34 ` Medvedkin, Vladimir
2025-04-16 10:07 ` [EXTERNAL] " Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 03/12] node: add IP4 FIB route add Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 04/12] node: add process callback for IP4 FIB Ankur Dwivedi
2025-04-16 7:54 ` Nitin Saxena
2025-04-16 12:54 ` Medvedkin, Vladimir
2025-04-18 7:38 ` [EXTERNAL] " Ankur Dwivedi
2025-04-19 18:14 ` Vladimir Medvedkin
2025-04-23 9:46 ` Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 05/12] node: add next node in packet classification Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 06/12] app/graph: add IP4 lookup mode command Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 07/12] fib: move macro to header file Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 08/12] node: add IP6 lookup FIB node Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 09/12] node: add IP6 FIB route add Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 10/12] node: add process callback for IP6 FIB Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 11/12] node: add next node in packet classification Ankur Dwivedi
2025-04-15 12:10 ` [PATCH v1 12/12] app/graph: add IP6 lookup mode command Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 00/13] add lookup fib nodes in graph library Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 01/13] fib: move macro to header file Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 02/13] node: add IP4 lookup FIB node Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 03/13] node: add IP4 FIB route add Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 04/13] node: add process callback for IP4 FIB Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 05/13] node: move next nodes to public header file Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 06/13] node: add next node in packet classification Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 07/13] app/graph: add IP4 lookup mode command Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 08/13] fib: move macro to header file Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 09/13] node: add IP6 lookup FIB node Ankur Dwivedi
2025-05-30 10:50 ` Jerin Jacob
2025-05-09 6:44 ` [PATCH v2 10/13] node: add IP6 FIB route add Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 11/13] node: add process callback for IP6 FIB Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 12/13] node: add next node in packet classification Ankur Dwivedi
2025-05-09 6:44 ` [PATCH v2 13/13] app/graph: add IP6 lookup mode command Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 00/14] add lookup fib nodes in graph library Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 01/14] fib: move macro to header file Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 02/14] node: add IP4 lookup FIB node Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 03/14] node: add IP4 FIB route add Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 04/14] node: add process callback for IP4 FIB Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 05/14] node: move next nodes to public header file Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 06/14] node: add next node in packet classification Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 07/14] app/graph: add IP4 lookup mode command Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 08/14] fib: move macro to header file Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 09/14] node: add IP6 lookup FIB node Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 10/14] node: add IP6 FIB route add Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 11/14] node: add process callback for IP6 FIB Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 12/14] node: add next node in packet classification Ankur Dwivedi
2025-06-02 6:36 ` [PATCH v3 13/14] app/graph: add IP6 lookup mode command Ankur Dwivedi
2025-06-02 6:36 ` Ankur Dwivedi [this message]
2025-06-02 8:34 ` [PATCH v3 00/14] add lookup fib nodes in graph library Morten Brørup
2025-06-03 5:44 ` Ankur Dwivedi
[not found] ` <CAG6-93zSt1SGRa0XnJnodCtiOKWUMTYBY26A3qy9cE1hd_K3oQ@mail.gmail.com>
2025-06-03 5:54 ` Nitin Saxena
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=20250602063639.198550-15-adwivedi@marvell.com \
--to=adwivedi@marvell.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=ndabilpuram@marvell.com \
--cc=nsaxena@marvell.com \
--cc=pbhagavatula@marvell.com \
--cc=rkudurumalla@marvell.com \
--cc=skori@marvell.com \
--cc=vladimir.medvedkin@intel.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).