graph "ring-4-duts" { layout="neato"; overlap=false; esep="+20"; splines=true; size=10; node [shape=record, fontname="DejaVu Sans Mono, Book"]; edge [color="cornflowerblue", penwidth="2", fontname="DejaVu Serif, Book"]; PC [ label=" { PC | { mgmt4 | data4 | mgmt1 |                                                                       | mgmt2 | data3 | mgmt3 } }", pos="150,200!" requires="controller", ]; R1 [ label="{ { mgmt } | R1 \n 10.0.0.1/32 \n(lo) } | { ring1 | cross | ring2 }", pos="50,150!", requires="infix", ]; R4 [ label="{ { mgmt | data } | R4 \n 10.0.0.4/32 \n(lo) } | { ring1 | cross | ring2 }", pos="50,50!" requires="infix", ]; R2 [ label="{ ring2 | cross | ring1 } | { { mgmt } | R2 \n10.0.0.2/32 \n(lo) }", pos="250,150!" requires="infix", ]; R3 [ label="{ ring2 | cross | ring1 } | { { data | mgmt } | R3 \n10.0.0.3/32 \n(lo) }", pos="250,50!" requires="infix", ]; # Management Connections PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] PC:mgmt3 -- R3:mgmt [requires="mgmt", color="lightgray", overlap=false, weight=0.1] PC:mgmt4 -- R4:mgmt [requires="mgmt", color="lightgray", overlap=false, weight=0.1] # PC-Dut links PC:data3 -- R3:data [color="purple", headlabel=".1", label="192.168.3.0/24\n(Area 1)", taillabel=".2", labeldistance=2, fontcolor="purple"] PC:data4 -- R4:data [color="black", headlabel=".1", label="192.168.4.0/24 ", taillabel=".2", labeldistance=2, fontcolor="black"] # Ring R1:ring1 -- R2:ring2 [color="blue", headlabel=".2", label="(Area 0)\n10.0.12.0/30", taillabel=".1", labeldistance=2, fontcolor="blue"] R2:ring1 -- R3:ring2 [color="purple", headlabel=".2", label="10.0.23.0/30\n(Area 1)", taillabel=".1", labeljust=r, labeldistance=2, fontcolor="purple"] R4:ring1 -- R1:ring2 [color="brown", headlabel=".2", label="10.0.41.0/30\n(Area 2)", taillabel=".1", labeldistance=2, fontcolor="brown"] # Cross R1:cross -- R3:cross [color="purple", headlabel=".2", label="10.0.13.0/30\n(Area 1)", labeljust=r taillabel=".1", labeldistance=2, fontcolor="purple"] R2:cross -- R4:cross [color="brown", headlabel=".2", label="\n\n10.0.24.0/30\n(Area 2)", labeljust=r taillabel=".1", labeldistance=2, fontcolor="brown"] }