59 lines
1.3 KiB
Text
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;
|
|
|
|
|
|
}
|