194 lines
10 KiB
XML
194 lines
10 KiB
XML
|
<?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 2.40.1 (20161225.0304)
|
||
|
-->
|
||
|
<!-- Title: G Pages: 1 -->
|
||
|
<svg width="404pt" height="720pt"
|
||
|
viewBox="0.00 0.00 404.25 720.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
|
<g id="graph0" class="graph" transform="scale(.75 .75) rotate(0) translate(4 956)">
|
||
|
<title>G</title>
|
||
|
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-956 535,-956 535,4 -4,4"/>
|
||
|
<g id="clust1" class="cluster">
|
||
|
<title>cluster_nat64</title>
|
||
|
<polygon fill="none" stroke="#000000" points="226,-227 226,-816 511,-816 511,-227 226,-227"/>
|
||
|
<text text-anchor="middle" x="368.5" y="-800.8" font-family="Times,serif" font-size="14.00" fill="#000000">P4 Switch</text>
|
||
|
</g>
|
||
|
<g id="clust2" class="cluster">
|
||
|
<title>cluster_p4controller</title>
|
||
|
<polygon fill="none" stroke="#000000" points="8,-8 8,-375 218,-375 218,-8 8,-8"/>
|
||
|
<text text-anchor="middle" x="113" y="-359.8" font-family="Times,serif" font-size="14.00" fill="#000000">P4 Controller</text>
|
||
|
</g>
|
||
|
<!-- v4host -->
|
||
|
<g id="node1" class="node">
|
||
|
<title>v4host</title>
|
||
|
<polygon fill="none" stroke="#000000" points="482.5,-125 411.5,-125 411.5,-89 482.5,-89 482.5,-125"/>
|
||
|
<text text-anchor="middle" x="447" y="-103.3" font-family="Times,serif" font-size="14.00" fill="#000000">IPv4 Host</text>
|
||
|
</g>
|
||
|
<!-- v6host -->
|
||
|
<g id="node2" class="node">
|
||
|
<title>v6host</title>
|
||
|
<polygon fill="none" stroke="#000000" points="494.5,-952 423.5,-952 423.5,-916 494.5,-916 494.5,-952"/>
|
||
|
<text text-anchor="middle" x="459" y="-930.3" font-family="Times,serif" font-size="14.00" fill="#000000">IPv6 Host</text>
|
||
|
</g>
|
||
|
<!-- v6packet -->
|
||
|
<g id="node9" class="node">
|
||
|
<title>v6packet</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="459" cy="-861" rx="53.0913" ry="18"/>
|
||
|
<text text-anchor="middle" x="459" y="-857.3" font-family="Times,serif" font-size="14.00" fill="#000000">IPv6 Packet</text>
|
||
|
</g>
|
||
|
<!-- v6host->v6packet -->
|
||
|
<g id="edge1" class="edge">
|
||
|
<title>v6host->v6packet</title>
|
||
|
<path fill="none" stroke="#000000" d="M459,-915.9551C459,-907.8828 459,-898.1764 459,-889.1817"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="462.5001,-889.0903 459,-879.0904 455.5001,-889.0904 462.5001,-889.0903"/>
|
||
|
</g>
|
||
|
<!-- parser -->
|
||
|
<g id="node3" class="node">
|
||
|
<title>parser</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="459" cy="-767" rx="32.4942" ry="18"/>
|
||
|
<text text-anchor="middle" x="459" y="-763.3" font-family="Times,serif" font-size="14.00" fill="#000000">Parser</text>
|
||
|
</g>
|
||
|
<!-- v4packet -->
|
||
|
<g id="node7" class="node">
|
||
|
<title>v4packet</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="447" cy="-656" rx="53.0913" ry="18"/>
|
||
|
<text text-anchor="middle" x="447" y="-652.3" font-family="Times,serif" font-size="14.00" fill="#000000">IPv6 Packet</text>
|
||
|
</g>
|
||
|
<!-- parser->v4packet -->
|
||
|
<g id="edge3" class="edge">
|
||
|
<title>parser->v4packet</title>
|
||
|
<path fill="none" stroke="#000000" d="M457.0184,-748.6706C455.1225,-731.1329 452.2357,-704.4306 450.0472,-684.1867"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="453.4993,-683.5542 448.9447,-673.9883 446.5399,-684.3066 453.4993,-683.5542"/>
|
||
|
</g>
|
||
|
<!-- deparser -->
|
||
|
<g id="node4" class="node">
|
||
|
<title>deparser</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="283" cy="-420" rx="42.4939" ry="18"/>
|
||
|
<text text-anchor="middle" x="283" y="-416.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deparser</text>
|
||
|
</g>
|
||
|
<!-- controller -->
|
||
|
<g id="node13" class="node">
|
||
|
<title>controller</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="113" cy="-326" rx="96.6831" ry="18"/>
|
||
|
<text text-anchor="middle" x="113" y="-322.3" font-family="Times,serif" font-size="14.00" fill="#000000">Controller Reads Packet</text>
|
||
|
</g>
|
||
|
<!-- deparser->controller -->
|
||
|
<g id="edge6" class="edge">
|
||
|
<title>deparser->controller</title>
|
||
|
<path fill="none" stroke="#000000" d="M257.1807,-405.7234C229.5362,-390.4377 185.3121,-365.9844 153.1247,-348.1866"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="154.4171,-344.9018 143.9722,-343.1258 151.0298,-351.0277 154.4171,-344.9018"/>
|
||
|
</g>
|
||
|
<!-- translation -->
|
||
|
<g id="node5" class="node">
|
||
|
<title>translation</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="447" cy="-420" rx="50.8918" ry="18"/>
|
||
|
<text text-anchor="middle" x="447" y="-416.3" font-family="Times,serif" font-size="14.00" fill="#000000">Translation</text>
|
||
|
</g>
|
||
|
<!-- deparser2 -->
|
||
|
<g id="node14" class="node">
|
||
|
<title>deparser2</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="447" cy="-253" rx="42.4939" ry="18"/>
|
||
|
<text text-anchor="middle" x="447" y="-249.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deparser</text>
|
||
|
</g>
|
||
|
<!-- translation->deparser2 -->
|
||
|
<g id="edge12" class="edge">
|
||
|
<title>translation->deparser2</title>
|
||
|
<path fill="none" stroke="#000000" d="M447,-401.8102C447,-372.8234 447,-315.9192 447,-281.4916"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="450.5001,-281.1674 447,-271.1674 443.5001,-281.1674 450.5001,-281.1674"/>
|
||
|
</g>
|
||
|
<!-- mismatch -->
|
||
|
<g id="node6" class="node">
|
||
|
<title>mismatch</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="304" cy="-531" rx="69.5877" ry="18"/>
|
||
|
<text text-anchor="middle" x="304" y="-527.3" font-family="Times,serif" font-size="14.00" fill="#000000">Table Mismatch</text>
|
||
|
</g>
|
||
|
<!-- mismatch->deparser -->
|
||
|
<g id="edge5" class="edge">
|
||
|
<title>mismatch->deparser</title>
|
||
|
<path fill="none" stroke="#000000" d="M300.5323,-512.6706C297.199,-495.0521 292.116,-468.1843 288.2798,-447.9073"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="291.7012,-447.1634 286.4032,-437.9883 284.8232,-448.4647 291.7012,-447.1634"/>
|
||
|
</g>
|
||
|
<!-- v4packet->mismatch -->
|
||
|
<g id="edge4" class="edge">
|
||
|
<title>v4packet->mismatch</title>
|
||
|
<path fill="none" stroke="#000000" d="M427.7144,-639.1419C402.9067,-617.4569 359.6599,-579.6537 331.433,-554.9799"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="333.7302,-552.3392 323.8976,-548.393 329.1232,-557.6096 333.7302,-552.3392"/>
|
||
|
<text text-anchor="middle" x="387.5" y="-589.8" font-family="Times,serif" font-size="14.00" fill="#000000">1.</text>
|
||
|
</g>
|
||
|
<!-- tablematch -->
|
||
|
<g id="node11" class="node">
|
||
|
<title>tablematch</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="447" cy="-531" rx="55.7903" ry="18"/>
|
||
|
<text text-anchor="middle" x="447" y="-527.3" font-family="Times,serif" font-size="14.00" fill="#000000">Table Match</text>
|
||
|
</g>
|
||
|
<!-- v4packet->tablematch -->
|
||
|
<g id="edge10" class="edge">
|
||
|
<title>v4packet->tablematch</title>
|
||
|
<path fill="none" stroke="#000000" d="M447,-637.8239C447,-617.2723 447,-583.5472 447,-559.4893"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="450.5001,-559.198 447,-549.198 443.5001,-559.198 450.5001,-559.198"/>
|
||
|
<text text-anchor="middle" x="452.5" y="-589.8" font-family="Times,serif" font-size="14.00" fill="#000000">2.</text>
|
||
|
</g>
|
||
|
<!-- v4packet2 -->
|
||
|
<g id="node8" class="node">
|
||
|
<title>v4packet2</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="447" cy="-180" rx="53.0913" ry="18"/>
|
||
|
<text text-anchor="middle" x="447" y="-176.3" font-family="Times,serif" font-size="14.00" fill="#000000">IPv4 Packet</text>
|
||
|
</g>
|
||
|
<!-- v4packet2->v4host -->
|
||
|
<g id="edge14" class="edge">
|
||
|
<title>v4packet2->v4host</title>
|
||
|
<path fill="none" stroke="#000000" d="M447,-161.9551C447,-153.8828 447,-144.1764 447,-135.1817"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="450.5001,-135.0903 447,-125.0904 443.5001,-135.0904 450.5001,-135.0903"/>
|
||
|
</g>
|
||
|
<!-- v6packet->parser -->
|
||
|
<g id="edge2" class="edge">
|
||
|
<title>v6packet->parser</title>
|
||
|
<path fill="none" stroke="#000000" d="M459,-842.8759C459,-829.3516 459,-810.6192 459,-795.1514"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="462.5001,-795.0685 459,-785.0685 455.5001,-795.0685 462.5001,-795.0685"/>
|
||
|
</g>
|
||
|
<!-- tableentry -->
|
||
|
<g id="node10" class="node">
|
||
|
<title>tableentry</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="127" cy="-180" rx="77.9862" ry="18"/>
|
||
|
<text text-anchor="middle" x="127" y="-176.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create Table Entry</text>
|
||
|
</g>
|
||
|
<!-- reinject -->
|
||
|
<g id="node12" class="node">
|
||
|
<title>reinject</title>
|
||
|
<ellipse fill="none" stroke="#000000" cx="133" cy="-34" rx="65.7887" ry="18"/>
|
||
|
<text text-anchor="middle" x="133" y="-30.3" font-family="Times,serif" font-size="14.00" fill="#000000">Reinject Packet</text>
|
||
|
</g>
|
||
|
<!-- tableentry->reinject -->
|
||
|
<g id="edge8" class="edge">
|
||
|
<title>tableentry->reinject</title>
|
||
|
<path fill="none" stroke="#000000" d="M127.7478,-161.8042C128.7718,-136.8868 130.6208,-91.8938 131.8293,-62.4877"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="135.3291,-62.5604 132.2428,-52.4251 128.335,-62.2729 135.3291,-62.5604"/>
|
||
|
</g>
|
||
|
<!-- tablematch->translation -->
|
||
|
<g id="edge11" class="edge">
|
||
|
<title>tablematch->translation</title>
|
||
|
<path fill="none" stroke="#000000" d="M447,-512.6706C447,-495.2373 447,-468.7482 447,-448.5489"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="450.5001,-448.3566 447,-438.3566 443.5001,-448.3567 450.5001,-448.3566"/>
|
||
|
</g>
|
||
|
<!-- reinject->parser -->
|
||
|
<g id="edge9" class="edge">
|
||
|
<title>reinject->parser</title>
|
||
|
<path fill="none" stroke="#000000" d="M196.0643,-39.1621C308.2895,-49.2036 531,-73.3679 531,-107 531,-711.5 531,-711.5 531,-711.5 531,-731.1222 514.0179,-744.7755 496.5486,-753.6294"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="495.0677,-750.458 487.4563,-757.8281 498.0024,-756.8132 495.0677,-750.458"/>
|
||
|
</g>
|
||
|
<!-- controller->tableentry -->
|
||
|
<g id="edge7" class="edge">
|
||
|
<title>controller->tableentry</title>
|
||
|
<path fill="none" stroke="#000000" d="M114.7448,-307.8042C117.1341,-282.8868 121.4485,-237.8938 124.2683,-208.4877"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="127.7626,-208.7136 125.2332,-198.4251 120.7946,-208.0453 127.7626,-208.7136"/>
|
||
|
</g>
|
||
|
<!-- deparser2->v4packet2 -->
|
||
|
<g id="edge13" class="edge">
|
||
|
<title>deparser2->v4packet2</title>
|
||
|
<path fill="none" stroke="#000000" d="M447,-234.9551C447,-226.8828 447,-217.1764 447,-208.1817"/>
|
||
|
<polygon fill="#000000" stroke="#000000" points="450.5001,-208.0903 447,-198.0904 443.5001,-208.0904 450.5001,-208.0903"/>
|
||
|
</g>
|
||
|
</g>
|
||
|
</svg>
|