master-thesis/doc/graphviz/p4switch-stateful.dot
2019-08-22 13:43:33 +02:00

59 lines
1.3 KiB
Text

digraph G {
rankdir="TB";
v4host [ shape="box" label="IPv4 Host" ];
v6host [ shape="box" label="IPv6 Host" ];
rank=same;
parser [ label="Parser"];
deparser [ label="Deparser"];
translation [ label="Translation"];
mismatch [ label="Table Mismatch"];
v4packet [ label="IPv6 Packet"];
v4packet2 [ label="IPv4 Packet"];
v6packet [ label="IPv6 Packet"];
tableentry [ label="Create Table Entry" ];
tablematch [ label="Table Match" ];
reinject [ label="Reinject packet" ];
controller [ label="Controller Reads Packet" ]
deparser [ label="Deparser"];
deparser2 [ label="Deparser"];
subgraph cluster_nat64 {
label="P4 Switch";
parser;
v4packet;
deparser;
mismatch;
tablematch;
translation;
deparser2;
}
subgraph cluster_p4controller {
label="P4 Controller";
controller;
tableentry;
reinject;
}
v6host->v6packet->parser;
parser->v4packet;
v4packet->mismatch [ label="1." ];
mismatch->deparser->controller;
controller->tableentry->reinject;
reinject->parser;
v4packet->tablematch [ label="2." ];
tablematch->translation->deparser2;
deparser2->v4packet2->v4host;
}