graph "2x2" { layout="neato"; overlap="false"; esep="+20"; node [shape=record, fontname="monospace"]; edge [color="cornflowerblue", penwidth="2"]; host [ label="host | { mgmt1 | data1 | mgmt2 | data2 }", pos="0,12!", kind="controller", ]; target1 [ label="{ mgmt | data | target2} | target1", pos="10,18!", kind="infix", ]; target2 [ label="{ target1 | mgmt | data } | target2", pos="10,6!", kind="infix", ]; host:mgmt1 -- target1:mgmt [kind=mgmt] host:mgmt2 -- target2:mgmt [kind=mgmt] host:data1 -- target1:data host:data2 -- target2:data target1:target2 -- target2:target1 }