digraph G { rankdir="TB"; v4host [ shape="box" label="IPv4 Host" rank="min" ]; v6host [ shape="box" label="IPv6 Host" ]; parser [ label="Parser"]; deparser [ label="Deparser"]; translation [ label="Translation"]; v4packet [ label="IPv4 Packet"]; v6packet [ label="IPv6 Packet"]; subgraph cluster_nat64 { label="P4 Switch"; parser->v4packet->translation->v6packet->deparser; } deparser->v6host; v4host->parser; }