graph "2x2" { layout="neato"; overlap="false"; esep="+40"; node [shape=record, fontname="DejaVu Sans Mono, Book"]; edge [color="cornflowerblue", penwidth="2", fontname="DejaVu Serif, Book"]; host [ label="host | { mgmt1 | data1 | mgmt2 | data2 }", pos="0,15.7!", requires="controller", ]; target1 [ label="{ mgmt | data | target2} | target1", pos="10,16!", requires="infix", ]; target2 [ label="{ target1 | mgmt | data } | target2", pos="10,12!", requires="infix", ]; host:mgmt1 -- target1:mgmt [requires="mgmt"] host:mgmt2 -- target2:mgmt [requires="mgmt"] host:data1 -- target1:data [color=black] host:data2 -- target2:data [color=black] target1:target2 -- target2:target1 [color=black] }