graph "3x1" {
	layout="neato";
	overlap="false";
	esep="+20";
	size=10

        node [shape=record, fontname="DejaVu Sans Mono, Book"];
	edge [color="cornflowerblue", penwidth="2", fontname="DejaVu Serif, Book"];

	PC [
	    label="PC | { <mgmt1> mgmt1 | <data1> data1 | \n\n\n\n | <mgmt2> mgmt2 | <mgmt3> mgmt3 | <data2> data2 }",
	    pos="20,30!",
	    requires="controller",
	];

        R1 [
	    label="{ <mgmt> mgmt | <data> data | <link> link } | R1 \n 10.0.1.1/32 \n(lo)",
	    pos="160,60!",
	    requires="infix",
	];
	R2 [
	    label="{ <link1> link1 | <mgmt> mgmt | <link2> link2 } | R2 \n 10.0.2.1/32 \n(lo) \n(br0: 10.0.123.2/24)",
	    pos="160,30!",
	    requires="infix",
	];
	R3 [
	    label="{ <link> link | <mgmt> mgmt | <data> data } | R3 \n 10.0.3.1/32 \n(lo)",
	    pos="160,0!",
	    requires="infix",
	];

	PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"]
	PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"]
	PC:mgmt3 -- R3:mgmt [requires="mgmt", color="lightgray"]
	PC:data1 -- R1:data  [taillabel="10.0.10.2/24", headlabel="10.0.10.1/24"]
	R3:data  -- PC:data2 [taillabel="10.0.30.1/24", headlabel="10.0.30.2/24"]
	R1:link  -- R2:link1 [taillabel="10.0.123.1/24"]
	R3:link  -- R2:link2 [taillabel="10.0.123.3/24"]
}
