1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 3 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 4<!-- Generated by graphviz version 8.0.5 (0) 5 --> 6<!-- SPDX-License-Identifier: BSD-3-Clause --> 7<!-- Copyright(C) 2023 Marvell International Ltd. --> 8<!-- 9 10Generated with following command 11dot -Tsvg dot.dot -o doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg 12 13cat dot.dot 14digraph dpdk_inbuilt_nodes_flow { 15 comment="input nodes" 16 ethdev_rx [color="green"] 17 kernel_rx [color="green"] 18 19 ethdev_tx [color="magenta"] 20 pkt_drop [color="cyan"] 21 kernel_tx [color="blue"] 22 pkt_cls [color="red"] 23 24 ethdev_rx -> pkt_cls 25 kernel_rx -> pkt_cls 26 pkt_cls -> ip4_lookup [ label="ipv4"] 27 pkt_cls -> ip6_lookup [ label="ipv6"] 28 pkt_cls -> kernel_tx [ label="exception pkts" color="blue"] 29 ip4_lookup -> ip4_rewrite 30 ip4_lookup -> pkt_drop [color="cyan" style="dashed"] 31 ip4_rewrite -> ethdev_tx [color="green"] 32 ip4_rewrite->pkt_drop [color="cyan" style="dashed"] 33 ip6_lookup -> ip6_rewrite 34 ip6_lookup -> pkt_drop [color="cyan" style="dashed"] 35 ip6_rewrite -> ethdev_tx [color="green"] 36 ip6_rewrite -> pkt_drop [color="cyan" style="dashed"] 37 ethdev_tx -> pkt_drop [color="cyan" style="dashed"] 38 pkt_cls->pkt_drop [color="cyan" style="dashed"] 39 kernel_tx -> kernel_rx [color="red" style="dashed"] 40 ip4_lookup -> ip4_local 41 ip4_local -> pkt_drop [color="cyan" style="dashed"] 42 ip4_local -> udp4_input [ label="udpv4"] 43 udp4_input -> udp_user_node 44 udp4_input -> pkt_drop [color="cyan" style="dashed"] 45 46} 47 48 --> 49<!-- input nodes --> 50<!-- Title: dpdk_inbuilt_nodes_flow Pages: 1 --> 51<svg width="631pt" height="437pt" 52 viewBox="0.00 0.00 630.95 437.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 53<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 433)"> 54<title>dpdk_inbuilt_nodes_flow</title> 55<polygon fill="white" stroke="transparent" points="-4,4 -4,-433 626.95,-433 626.95,4 -4,4"/> 56<!-- ethdev_rx --> 57<g id="node1" class="node"> 58<title>ethdev_rx</title> 59<ellipse fill="none" stroke="green" cx="261.95" cy="-411" rx="56.59" ry="18"/> 60<text text-anchor="middle" x="261.95" y="-407.3" font-family="Times,serif" font-size="14.00">ethdev_rx</text> 61</g> 62<!-- pkt_cls --> 63<g id="node6" class="node"> 64<title>pkt_cls</title> 65<ellipse fill="none" stroke="red" cx="261.95" cy="-338" rx="42.79" ry="18"/> 66<text text-anchor="middle" x="261.95" y="-334.3" font-family="Times,serif" font-size="14.00">pkt_cls</text> 67</g> 68<!-- ethdev_rx->pkt_cls --> 69<g id="edge1" class="edge"> 70<title>ethdev_rx->pkt_cls</title> 71<path fill="none" stroke="black" d="M261.95,-392.81C261.95,-384.79 261.95,-375.05 261.95,-366.07"/> 72<polygon fill="black" stroke="black" points="265.45,-366.03 261.95,-356.03 258.45,-366.03 265.45,-366.03"/> 73</g> 74<!-- kernel_rx --> 75<g id="node2" class="node"> 76<title>kernel_rx</title> 77<ellipse fill="none" stroke="green" cx="53.95" cy="-178" rx="53.89" ry="18"/> 78<text text-anchor="middle" x="53.95" y="-174.3" font-family="Times,serif" font-size="14.00">kernel_rx</text> 79</g> 80<!-- kernel_rx->pkt_cls --> 81<g id="edge2" class="edge"> 82<title>kernel_rx->pkt_cls</title> 83<path fill="none" stroke="black" d="M74.75,-194.8C112.31,-223.33 191.45,-283.45 233.8,-315.62"/> 84<polygon fill="black" stroke="black" points="231.92,-318.59 242,-321.85 236.16,-313.01 231.92,-318.59"/> 85</g> 86<!-- ethdev_tx --> 87<g id="node3" class="node"> 88<title>ethdev_tx</title> 89<ellipse fill="none" stroke="magenta" cx="347.95" cy="-91" rx="55.79" ry="18"/> 90<text text-anchor="middle" x="347.95" y="-87.3" font-family="Times,serif" font-size="14.00">ethdev_tx</text> 91</g> 92<!-- pkt_drop --> 93<g id="node4" class="node"> 94<title>pkt_drop</title> 95<ellipse fill="none" stroke="cyan" cx="404.95" cy="-18" rx="51.99" ry="18"/> 96<text text-anchor="middle" x="404.95" y="-14.3" font-family="Times,serif" font-size="14.00">pkt_drop</text> 97</g> 98<!-- ethdev_tx->pkt_drop --> 99<g id="edge14" class="edge"> 100<title>ethdev_tx->pkt_drop</title> 101<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"/> 102<polygon fill="cyan" stroke="cyan" points="388,-45.69 391.53,-35.71 382.54,-41.31 388,-45.69"/> 103</g> 104<!-- kernel_tx --> 105<g id="node5" class="node"> 106<title>kernel_tx</title> 107<ellipse fill="none" stroke="blue" cx="53.95" cy="-251" rx="53.89" ry="18"/> 108<text text-anchor="middle" x="53.95" y="-247.3" font-family="Times,serif" font-size="14.00">kernel_tx</text> 109</g> 110<!-- kernel_tx->kernel_rx --> 111<g id="edge16" class="edge"> 112<title>kernel_tx->kernel_rx</title> 113<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"/> 114<polygon fill="red" stroke="red" points="57.45,-206.03 53.95,-196.03 50.45,-206.03 57.45,-206.03"/> 115</g> 116<!-- pkt_cls->pkt_drop --> 117<g id="edge15" class="edge"> 118<title>pkt_cls->pkt_drop</title> 119<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"/> 120<polygon fill="cyan" stroke="cyan" points="463.46,-22.85 453.06,-24.85 462.44,-29.77 463.46,-22.85"/> 121</g> 122<!-- pkt_cls->kernel_tx --> 123<g id="edge5" class="edge"> 124<title>pkt_cls->kernel_tx</title> 125<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"/> 126<polygon fill="blue" stroke="blue" points="51.73,-279.54 49.23,-269.24 44.76,-278.84 51.73,-279.54"/> 127<text text-anchor="middle" x="107.45" y="-290.8" font-family="Times,serif" font-size="14.00">exception pkts</text> 128</g> 129<!-- ip4_lookup --> 130<g id="node7" class="node"> 131<title>ip4_lookup</title> 132<ellipse fill="none" stroke="black" cx="261.95" cy="-251" rx="60.39" ry="18"/> 133<text text-anchor="middle" x="261.95" y="-247.3" font-family="Times,serif" font-size="14.00">ip4_lookup</text> 134</g> 135<!-- pkt_cls->ip4_lookup --> 136<g id="edge3" class="edge"> 137<title>pkt_cls->ip4_lookup</title> 138<path fill="none" stroke="black" d="M261.95,-319.8C261.95,-308.16 261.95,-292.55 261.95,-279.24"/> 139<polygon fill="black" stroke="black" points="265.45,-279.18 261.95,-269.18 258.45,-279.18 265.45,-279.18"/> 140<text text-anchor="middle" x="277.45" y="-290.8" font-family="Times,serif" font-size="14.00">ipv4</text> 141</g> 142<!-- ip6_lookup --> 143<g id="node8" class="node"> 144<title>ip6_lookup</title> 145<ellipse fill="none" stroke="black" cx="492.95" cy="-251" rx="60.39" ry="18"/> 146<text text-anchor="middle" x="492.95" y="-247.3" font-family="Times,serif" font-size="14.00">ip6_lookup</text> 147</g> 148<!-- pkt_cls->ip6_lookup --> 149<g id="edge4" class="edge"> 150<title>pkt_cls->ip6_lookup</title> 151<path fill="none" stroke="black" d="M293.1,-325.54C332.57,-311.01 400.93,-285.86 446.54,-269.07"/> 152<polygon fill="black" stroke="black" points="448.02,-272.26 456.2,-265.52 445.61,-265.69 448.02,-272.26"/> 153<text text-anchor="middle" x="407.45" y="-290.8" font-family="Times,serif" font-size="14.00">ipv6</text> 154</g> 155<!-- ip4_lookup->pkt_drop --> 156<g id="edge7" class="edge"> 157<title>ip4_lookup->pkt_drop</title> 158<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"/> 159<polygon fill="cyan" stroke="cyan" points="351.6,-33.46 360.19,-27.26 349.61,-26.75 351.6,-33.46"/> 160</g> 161<!-- ip4_rewrite --> 162<g id="node9" class="node"> 163<title>ip4_rewrite</title> 164<ellipse fill="none" stroke="black" cx="347.95" cy="-178" rx="63.89" ry="18"/> 165<text text-anchor="middle" x="347.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip4_rewrite</text> 166</g> 167<!-- ip4_lookup->ip4_rewrite --> 168<g id="edge6" class="edge"> 169<title>ip4_lookup->ip4_rewrite</title> 170<path fill="none" stroke="black" d="M281.46,-233.89C292.92,-224.42 307.6,-212.31 320.25,-201.87"/> 171<polygon fill="black" stroke="black" points="322.73,-204.36 328.21,-195.29 318.27,-198.96 322.73,-204.36"/> 172</g> 173<!-- ip4_local --> 174<g id="node11" class="node"> 175<title>ip4_local</title> 176<ellipse fill="none" stroke="black" cx="176.95" cy="-178" rx="51.19" ry="18"/> 177<text text-anchor="middle" x="176.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip4_local</text> 178</g> 179<!-- ip4_lookup->ip4_local --> 180<g id="edge17" class="edge"> 181<title>ip4_lookup->ip4_local</title> 182<path fill="none" stroke="black" d="M242.66,-233.89C231.17,-224.29 216.41,-211.96 203.79,-201.42"/> 183<polygon fill="black" stroke="black" points="205.78,-198.53 195.86,-194.8 201.29,-203.9 205.78,-198.53"/> 184</g> 185<!-- ip6_lookup->pkt_drop --> 186<g id="edge11" class="edge"> 187<title>ip6_lookup->pkt_drop</title> 188<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"/> 189<polygon fill="cyan" stroke="cyan" points="443.16,-35.29 432.75,-33.34 439.67,-41.36 443.16,-35.29"/> 190</g> 191<!-- ip6_rewrite --> 192<g id="node10" class="node"> 193<title>ip6_rewrite</title> 194<ellipse fill="none" stroke="black" cx="492.95" cy="-178" rx="63.89" ry="18"/> 195<text text-anchor="middle" x="492.95" y="-174.3" font-family="Times,serif" font-size="14.00">ip6_rewrite</text> 196</g> 197<!-- ip6_lookup->ip6_rewrite --> 198<g id="edge10" class="edge"> 199<title>ip6_lookup->ip6_rewrite</title> 200<path fill="none" stroke="black" d="M492.95,-232.81C492.95,-224.79 492.95,-215.05 492.95,-206.07"/> 201<polygon fill="black" stroke="black" points="496.45,-206.03 492.95,-196.03 489.45,-206.03 496.45,-206.03"/> 202</g> 203<!-- ip4_rewrite->ethdev_tx --> 204<g id="edge8" class="edge"> 205<title>ip4_rewrite->ethdev_tx</title> 206<path fill="none" stroke="green" d="M347.95,-159.8C347.95,-148.16 347.95,-132.55 347.95,-119.24"/> 207<polygon fill="green" stroke="green" points="351.45,-119.18 347.95,-109.18 344.45,-119.18 351.45,-119.18"/> 208</g> 209<!-- ip4_rewrite->pkt_drop --> 210<g id="edge9" class="edge"> 211<title>ip4_rewrite->pkt_drop</title> 212<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"/> 213<polygon fill="cyan" stroke="cyan" points="416.9,-44.66 410.91,-35.93 410.15,-46.49 416.9,-44.66"/> 214</g> 215<!-- ip6_rewrite->ethdev_tx --> 216<g id="edge12" class="edge"> 217<title>ip6_rewrite->ethdev_tx</title> 218<path fill="none" stroke="green" d="M466.35,-161.41C442.8,-147.6 408.27,-127.36 382.57,-112.3"/> 219<polygon fill="green" stroke="green" points="384.28,-109.24 373.88,-107.21 380.74,-115.28 384.28,-109.24"/> 220</g> 221<!-- ip6_rewrite->pkt_drop --> 222<g id="edge13" class="edge"> 223<title>ip6_rewrite->pkt_drop</title> 224<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"/> 225<polygon fill="cyan" stroke="cyan" points="426.28,-41.92 417.67,-35.75 420.55,-45.94 426.28,-41.92"/> 226</g> 227<!-- ip4_local->pkt_drop --> 228<g id="edge18" class="edge"> 229<title>ip4_local->pkt_drop</title> 230<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"/> 231<polygon fill="cyan" stroke="cyan" points="346.72,-29.35 356.14,-24.51 345.75,-22.41 346.72,-29.35"/> 232</g> 233<!-- udp4_input --> 234<g id="node12" class="node"> 235<title>udp4_input</title> 236<ellipse fill="none" stroke="black" cx="126.95" cy="-91" rx="63.09" ry="18"/> 237<text text-anchor="middle" x="126.95" y="-87.3" font-family="Times,serif" font-size="14.00">udp4_input</text> 238</g> 239<!-- ip4_local->udp4_input --> 240<g id="edge19" class="edge"> 241<title>ip4_local->udp4_input</title> 242<path fill="none" stroke="black" d="M167.07,-160.21C159.99,-148.18 150.33,-131.75 142.26,-118.03"/> 243<polygon fill="black" stroke="black" points="145.06,-115.89 136.97,-109.05 139.03,-119.44 145.06,-115.89"/> 244<text text-anchor="middle" x="177.45" y="-130.8" font-family="Times,serif" font-size="14.00">udpv4</text> 245</g> 246<!-- udp4_input->pkt_drop --> 247<g id="edge21" class="edge"> 248<title>udp4_input->pkt_drop</title> 249<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"/> 250<polygon fill="cyan" stroke="cyan" points="346.26,-28.59 355.75,-23.88 345.4,-21.64 346.26,-28.59"/> 251</g> 252<!-- udp_user_node --> 253<g id="node13" class="node"> 254<title>udp_user_node</title> 255<ellipse fill="none" stroke="black" cx="126.95" cy="-18" rx="79.89" ry="18"/> 256<text text-anchor="middle" x="126.95" y="-14.3" font-family="Times,serif" font-size="14.00">udp_user_node</text> 257</g> 258<!-- udp4_input->udp_user_node --> 259<g id="edge20" class="edge"> 260<title>udp4_input->udp_user_node</title> 261<path fill="none" stroke="black" d="M126.95,-72.81C126.95,-64.79 126.95,-55.05 126.95,-46.07"/> 262<polygon fill="black" stroke="black" points="130.45,-46.03 126.95,-36.03 123.45,-46.03 130.45,-46.03"/> 263</g> 264</g> 265</svg> 266