diff --git a/test/case/ietf_interfaces/bridge_basic/topology.dot b/test/case/ietf_interfaces/bridge_basic/topology.dot index c2b75ac2..1ccf9220 100644 --- a/test/case/ietf_interfaces/bridge_basic/topology.dot +++ b/test/case/ietf_interfaces/bridge_basic/topology.dot @@ -9,16 +9,16 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data } | target\n10.0.0.2/24 (br0)", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color="lightgray"] + host:mgmt -- target:mgmt [requires="mgmt", color=lightgray] host:data -- target:data [color=black, fontcolor=black, taillabel="10.0.0.1/24"] } diff --git a/test/case/ietf_interfaces/bridge_fwd_dual_dut/topology.dot b/test/case/ietf_interfaces/bridge_fwd_dual_dut/topology.dot index ce90105e..0a522fb2 100644 --- a/test/case/ietf_interfaces/bridge_fwd_dual_dut/topology.dot +++ b/test/case/ietf_interfaces/bridge_fwd_dual_dut/topology.dot @@ -11,26 +11,26 @@ graph "2x4" { pos="0,15!", height=3, - kind="controller", + requires="controller", ]; dut1 [ label="{ mgmt | data1 } | { dut1 \n\n| link }", pos="4,15.68!", - kind="infix", + requires="infix", ]; dut2 [ label="{ mgmt | data1 | data2 } | { link | \n dut2 }", pos="4,14.43!", height=1.2, - kind="infix", + requires="infix", ]; - host:mgmt1 -- dut1:mgmt [kind=mgmt, color=lightgrey] + host:mgmt1 -- dut1:mgmt [requires="mgmt", color=lightgrey] host:data11 -- dut1:data1 [color=black, fontcolor=black, taillabel="10.0.0.2"] - host:mgmt2 -- dut2:mgmt [kind=mgmt, color=lightgrey] + host:mgmt2 -- dut2:mgmt [requires="mgmt", color=lightgrey] host:data21 -- dut2:data1 [color=black, fontcolor=black, taillabel="10.0.0.3"] host:data22 -- dut2:data2 [color=black, fontcolor=black, taillabel="10.0.0.4"] diff --git a/test/case/ietf_interfaces/bridge_fwd_sgl_dut/topology.dot b/test/case/ietf_interfaces/bridge_fwd_sgl_dut/topology.dot index 893adc73..b84b7199 100644 --- a/test/case/ietf_interfaces/bridge_fwd_sgl_dut/topology.dot +++ b/test/case/ietf_interfaces/bridge_fwd_sgl_dut/topology.dot @@ -9,17 +9,17 @@ graph "1x3" { host [ label="host | { mgmt | data1 | data2 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data1 | data2 } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- target:mgmt [requires="mgmt", color=lightgrey] host:data1 -- target:data1 [color=black, fontcolor=black, taillabel="10.0.0.1"] host:data2 -- target:data2 [color=black, fontcolor=black, taillabel="10.0.0.2"] } diff --git a/test/case/ietf_interfaces/bridge_stp_basic/topology.dot b/test/case/ietf_interfaces/bridge_stp_basic/topology.dot index b467d13c..9504d560 100644 --- a/test/case/ietf_interfaces/bridge_stp_basic/topology.dot +++ b/test/case/ietf_interfaces/bridge_stp_basic/topology.dot @@ -9,34 +9,34 @@ graph "stp" { host [ label="{ { mgmtd | d | mgmta | a | b | mgmtb | c | mgmtc } | host }", color="grey",fontcolor="grey",pos="9,0!", - kind="controller", + requires="controller", ]; A [ label="{ A | { mgmt | h } } | { b | c | d }", pos="6,6!", - kind="infix", + requires="infix", ]; B [ label="{ a | d | c } | { B | { h | mgmt } }", pos="12,6!", - kind="infix", + requires="infix", ]; C [ label="{ b | a | d } | { C | { h | mgmt } }", pos="12,3!", - kind="infix", + requires="infix", ]; D [ label="{ D | { mgmt | h } } | { a | b | c }", pos="6,3!", - kind="infix", + requires="infix", ]; - host:mgmta -- A:mgmt [kind=mgmt, color="lightgrey"] - host:mgmtb -- B:mgmt [kind=mgmt, color="lightgrey"] - host:mgmtc -- C:mgmt [kind=mgmt, color="lightgrey"] - host:mgmtd -- D:mgmt [kind=mgmt, color="lightgrey"] + host:mgmta -- A:mgmt [requires="mgmt", color="lightgrey"] + host:mgmtb -- B:mgmt [requires="mgmt", color="lightgrey"] + host:mgmtc -- C:mgmt [requires="mgmt", color="lightgrey"] + host:mgmtd -- D:mgmt [requires="mgmt", color="lightgrey"] host:a -- A:h [color="cornflowerblue"] host:b -- B:h [color="cornflowerblue"] diff --git a/test/case/ietf_interfaces/bridge_veth/topology.dot b/test/case/ietf_interfaces/bridge_veth/topology.dot index 1597ff1c..fa042284 100644 --- a/test/case/ietf_interfaces/bridge_veth/topology.dot +++ b/test/case/ietf_interfaces/bridge_veth/topology.dot @@ -9,16 +9,16 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data } | target(br0:veth)\n10.0.0.2/24", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color="lightgray"] + host:mgmt -- target:mgmt [requires="mgmt", color="lightgray"] host:data -- target:data [color=black, fontcolor=black, taillabel="10.0.0.1/24"] } diff --git a/test/case/ietf_interfaces/bridge_vlan/topology.dot b/test/case/ietf_interfaces/bridge_vlan/topology.dot index 3301cbda..f5cec2fe 100644 --- a/test/case/ietf_interfaces/bridge_vlan/topology.dot +++ b/test/case/ietf_interfaces/bridge_vlan/topology.dot @@ -9,23 +9,24 @@ graph "2x2" { host [ label="host | { mgmt1 | data | mgmt2 }", pos="0,16!", - kind="controller", + requires="controller", ]; dut1 [ label="{ mgmt | data | link} | dut1\n(10.0.0.2) ", pos="10,16!", - kind="infix", + requires="infix", ]; dut2 [ label="{ link | mgmt } | dut2\n(10.0.0.3)", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt1 -- dut1:mgmt [kind=mgmt, color="lightgray"] - host:mgmt2 -- dut2:mgmt [kind=mgmt, color="lightgray"] + + host:mgmt1 -- dut1:mgmt [requires="mgmt", color="lightgray"] + host:mgmt2 -- dut2:mgmt [requires="mgmt", color="lightgray"] host:data -- dut1:data [color=black] dut1:link -- dut2:link [color=black] diff --git a/test/case/ietf_interfaces/bridge_vlan_separation/topology.dot b/test/case/ietf_interfaces/bridge_vlan_separation/topology.dot index 852ba0ee..ba8eeb9c 100644 --- a/test/case/ietf_interfaces/bridge_vlan_separation/topology.dot +++ b/test/case/ietf_interfaces/bridge_vlan_separation/topology.dot @@ -9,28 +9,28 @@ graph "2x4" { host [ label="host | { mgmt1 | data10 | data11 | <> \n\n\n | mgmt2 | data20 | data21 }", pos="0,15!", - kind="controller", + requires="controller", ]; dut1 [ label="{ mgmt | data1 | data2 } | { \n dut1 \n\n | link }", pos="2,15.25!", fontsize=12, - kind="infix", + requires="infix", ]; dut2 [ label="{ mgmt | data1| data2 } | { link | \n dut2 \n\n }", pos="2,14.75!", fontsize=12, - kind="infix", + requires="infix", ]; - host:mgmt1 -- dut1:mgmt [kind=mgmt, color="lightgray"] + host:mgmt1 -- dut1:mgmt [requires="mgmt", color="lightgray"] host:data10 -- dut1:data1 [color=purple, fontcolor=purple, taillabel="10.0.0.1", headlabel="VLAN10 U"] host:data11 -- dut1:data2 [color=darkgreen, fontcolor=darkgreen, taillabel="10.0.0.2", headlabel="VLAN20 U"] - host:mgmt2 -- dut2:mgmt [kind=mgmt color="lightgrey"] + host:mgmt2 -- dut2:mgmt [requires="mgmt" color="lightgrey"] host:data20 -- dut2:data1 [color=purple, fontcolor=purple, taillabel="10.0.0.3", headlabel="VLAN10 U"] host:data21 -- dut2:data2 [color=darkgreen, fontcolor=darkgreen, taillabel="10.0.0.4", headlabel="VLAN20 U"] diff --git a/test/case/ietf_interfaces/iface_enable_disable/topology.dot b/test/case/ietf_interfaces/iface_enable_disable/topology.dot index 27b10ed7..e25785a8 100644 --- a/test/case/ietf_interfaces/iface_enable_disable/topology.dot +++ b/test/case/ietf_interfaces/iface_enable_disable/topology.dot @@ -9,27 +9,27 @@ graph "2x4" { host [ label="host | { mgmt1 | data | mgmt2 }", pos="0,15!", - kind="controller", + requires="controller", ]; target1 [ label="{ mgmt | data | link } | { \n dut1 \n\n }", pos="8,15!", - kind="infix", + requires="infix", ]; target2 [ label="{ link | mgmt } | { \n dut2 \n\n }", pos="8,12!", - kind="infix", + requires="infix", ]; - host:mgmt1 -- target1:mgmt [kind=mgmt, color="lightgrey"] + host:mgmt1 -- target1:mgmt [requires="mgmt", color="lightgrey"] host:data -- target1:data [color=black, fontcolor=black, taillabel="10.10.10.1/24"] - host:mgmt2 -- target2:mgmt [kind=mgmt, color="lightgrey"] + host:mgmt2 -- target2:mgmt [requires="mgmt", color="lightgrey"] target1:link -- target2:link [color=black, fontcolor=black, headlabel="10.10.10.2/24"] } \ No newline at end of file diff --git a/test/case/ietf_interfaces/igmp_basic/topology.dot b/test/case/ietf_interfaces/igmp_basic/topology.dot index 55a85886..ccd51d35 100644 --- a/test/case/ietf_interfaces/igmp_basic/topology.dot +++ b/test/case/ietf_interfaces/igmp_basic/topology.dot @@ -9,17 +9,17 @@ graph "1x4" { host [ label="host | { mgmt | data1 | data2 | data3 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data1 | data2 | data3 } | target \n\n(br0)\n10.0.0.1/24", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color="lightgray"] + host:mgmt -- target:mgmt [requires="mgmt", color="lightgray"] host:data1 -- target:data1 [color=black, fontcolor=black, taillabel="10.0.0.2/24"] host:data2 -- target:data2 [color=black, fontcolor=black, taillabel="10.0.0.3/24"] host:data3 -- target:data3 [color=black, fontcolor=black, taillabel="10.0.0.4/24"] diff --git a/test/case/ietf_interfaces/igmp_vlan/topology.dot b/test/case/ietf_interfaces/igmp_vlan/topology.dot index 8f5db791..9f378d26 100644 --- a/test/case/ietf_interfaces/igmp_vlan/topology.dot +++ b/test/case/ietf_interfaces/igmp_vlan/topology.dot @@ -9,28 +9,28 @@ graph "2x4" { host [ label="host | { mgmt1 | data11 | data12 | <> \n\n\n | mgmt2 | data21 | data22 }", pos="0,15!", - kind="controller", + requires="controller", ]; dut1 [ label="{ mgmt | data1 | data2 } | { dut1 \nVLAN55: 10.0.1.1 \nVLAN77: 10.0.2.1 | link }", pos="3,15.4!", fontsize=12, - kind="infix", + requires="infix", ]; dut2 [ label="{ mgmt | data1 | data2 } | { link | dut2 \nVLAN55: 10.0.1.2 \nVLAN77: 10.0.2.2\n }", pos="3,14.6!", fontsize=12, - kind="infix", + requires="infix", ]; - host:mgmt1 -- dut1:mgmt [kind=mgmt, color=lightgrey] + host:mgmt1 -- dut1:mgmt [requires="mgmt", color=lightgrey] host:data11 -- dut1:data1 [color=purple, fontcolor=purple, taillabel="10.0.1.11", headlabel="VLAN55 U"] host:data12 -- dut1:data2 [color=darkgreen, fontcolor=darkgreen, taillabel="10.0.2.11", headlabel="VLAN77 U"] - host:mgmt2 -- dut2:mgmt [kind=mgmt, color=lightgrey] + host:mgmt2 -- dut2:mgmt [requires="mgmt", color=lightgrey] host:data21 -- dut2:data1 [color=purple, fontcolor=purple, taillabel="10.0.1.22", headlabel="VLAN55 U"] host:data22 -- dut2:data2 [color=darkgreen, fontcolor=darkgreen, taillabel="10.0.2.22", headlabel="VLAN77 U"] diff --git a/test/case/ietf_interfaces/routing_basic/topology.dot b/test/case/ietf_interfaces/routing_basic/topology.dot index cfe40656..d83b3780 100644 --- a/test/case/ietf_interfaces/routing_basic/topology.dot +++ b/test/case/ietf_interfaces/routing_basic/topology.dot @@ -8,17 +8,17 @@ graph "routing_basic" { host [ label="host | { mgmt | data1 | data2 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data1 | data2 } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color="lightgray"] + host:mgmt -- target:mgmt [requires="mgmt", color="lightgray"] host:data1 -- target:data1 [color=black, fontcolor=black, fontsize=12, taillabel=".10", label="192.168.0.0/24", headlabel=".1"] host:data2 -- target:data2 [color=black, fontcolor=black, fontsize=12, taillabel=".10", label="10.0.0.0/24", headlabel=".1"] } \ No newline at end of file diff --git a/test/case/ietf_interfaces/tunnel_basic/topology.dot b/test/case/ietf_interfaces/tunnel_basic/topology.dot index ed68c3dd..25d37e7d 100644 --- a/test/case/ietf_interfaces/tunnel_basic/topology.dot +++ b/test/case/ietf_interfaces/tunnel_basic/topology.dot @@ -9,26 +9,26 @@ graph "gre-basic" { host [ label="host | { mgmt1 } | { data } | { mgmt2 }" pos="3,0!", - kind="controller", + requires="controller", ]; left [ label="{ left } | { mgmt } | { data } | { link }", pos="0, -3!", - kind="infix", + requires="infix", ]; right [ label="{ link } | { mgmt } | { right }", pos="8,-3!", - kind="infix", + requires="infix", ]; - host:mgmt1 -- left:mgmt [kind=mgmt, color="lightgray"] + host:mgmt1 -- left:mgmt [requires="mgmt", color="lightgray"] host:data -- left:data [headlabel=".1", label="192.168.10.0/24" taillabel=".2 ", labeldistance=1, fontcolor="black", color="black"] - host:mgmt2 -- right:mgmt [kind=mgmt, color="lightgray"] + host:mgmt2 -- right:mgmt [requires="mgmt", color="lightgray"] left:link -- right:link [headlabel=".1\n\n", label="192.168.50.0/24", taillabel="\n.2", labeldistance=1, fontcolor="black", color="black"] diff --git a/test/case/ietf_interfaces/tunnel_bridged/topology.dot b/test/case/ietf_interfaces/tunnel_bridged/topology.dot index d3dd36aa..0cfddc50 100644 --- a/test/case/ietf_interfaces/tunnel_bridged/topology.dot +++ b/test/case/ietf_interfaces/tunnel_bridged/topology.dot @@ -9,26 +9,26 @@ graph "gre-basic" { host [ label="host | { mgmt1 } | { data } | { mgmt2 }" pos="3,0!", - kind="controller", + requires="controller", ]; left [ label="{ left } | { mgmt } | { data } | { link }", pos="0, -3!", - kind="infix", + requires="infix", ]; right [ label="{ link } | { mgmt } | { right }", pos="8,-3!", - kind="infix", + requires="infix", ]; - host:mgmt1 -- left:mgmt [kind=mgmt, color="lightgray"] + host:mgmt1 -- left:mgmt [requires="mgmt", color="lightgray"] host:data -- left:data [taillabel="192.168.10.2/24    ", fontcolor="black", color="black"] - host:mgmt2 -- right:mgmt [kind=mgmt, color="lightgray"] + host:mgmt2 -- right:mgmt [requires="mgmt", color="lightgray"] left:link -- right:link [headlabel=".1\n\n", label="192.168.50.0/24", taillabel="\n.2", labeldistance=1, fontcolor="black", color="black"] diff --git a/test/case/ietf_interfaces/verify_all_interface_types/topology.dot b/test/case/ietf_interfaces/verify_all_interface_types/topology.dot index 80f83749..085c632a 100644 --- a/test/case/ietf_interfaces/verify_all_interface_types/topology.dot +++ b/test/case/ietf_interfaces/verify_all_interface_types/topology.dot @@ -9,17 +9,17 @@ graph "1x3" { host [ label="host | { mgmt | data1 | data2 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | ethX | ethQ } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- target:mgmt [requires="mgmt", color=lightgrey] host:data1 -- target:ethX [color=black] host:data2 -- target:ethQ [color=black] } diff --git a/test/case/ietf_interfaces/veth_delete/topology.dot b/test/case/ietf_interfaces/veth_delete/topology.dot index 5ba58dbf..10fb0dee 100644 --- a/test/case/ietf_interfaces/veth_delete/topology.dot +++ b/test/case/ietf_interfaces/veth_delete/topology.dot @@ -9,17 +9,17 @@ graph "1x3" { host [ label="host | { mgmt | data1 | data2 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data1 | data2 } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- target:mgmt [requires="mgmt", color=lightgrey] host:data1 -- target:data1 [color=black] host:data2 -- target:data2 [color=black] } diff --git a/test/case/ietf_interfaces/vlan_ping/topology.dot b/test/case/ietf_interfaces/vlan_ping/topology.dot index f5b0fae3..e61f554d 100644 --- a/test/case/ietf_interfaces/vlan_ping/topology.dot +++ b/test/case/ietf_interfaces/vlan_ping/topology.dot @@ -9,16 +9,16 @@ graph "1x2" { host [ label="host | { mgmt | data\n(vlan10) }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data\n(vlan10) } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color="lightgray"] + host:mgmt -- target:mgmt [requires="mgmt", color="lightgray"] host:data -- target:data [color=black, fontcolor=black, fontsize=12, taillabel="10.0.0.1/24", headlabel="10.0.0.2/24"] } diff --git a/test/case/ietf_interfaces/vlan_qos/topology.dot b/test/case/ietf_interfaces/vlan_qos/topology.dot index 7d923d09..4efe0fee 100644 --- a/test/case/ietf_interfaces/vlan_qos/topology.dot +++ b/test/case/ietf_interfaces/vlan_qos/topology.dot @@ -9,17 +9,17 @@ graph "1x3" { host [ label="host | { mgmt | data0 | data1 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data0 | data1 } | target", pos="15,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- target:mgmt [requires="mgmt", color=lightgrey] host:data0 -- target:data0 [color=black, fontcolor=black, fontsize=12, taillabel="(vlan10) 192.168.10.2/24", headlabel="192.168.10.1/24 (vlan10)"] host:data1 -- target:data1 [color=black, fontcolor=black, fontsize=12, taillabel="(vlan11) 192.168.11.2/24", headlabel="192.168.11.1/24 (vlan11)"] } \ No newline at end of file diff --git a/test/case/ietf_routing/ospf_basic/topology.dot b/test/case/ietf_routing/ospf_basic/topology.dot index e8838240..d7b6006b 100644 --- a/test/case/ietf_routing/ospf_basic/topology.dot +++ b/test/case/ietf_routing/ospf_basic/topology.dot @@ -10,23 +10,24 @@ graph "2x2" { PC [ label="PC | { mgmt1 | data | mgmt2 }", pos="20,80!", - kind="controller", + requires="controller", ]; R1 [ label="{ mgmt | data | link} | R1 \n 192.168.100.1/32 \n(lo)", pos="250,80!", - kind="infix", + requires="infix", ]; R2 [ label="{ link | mgmt | data } | R2 \n 192.168.200.1/32 \n(lo)", pos="250,30!", - kind="infix", + requires="infix", ]; - PC:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] + + PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] PC:data -- R1:data [color="black", headlabel="192.168.10.1/24", taillabel="192.168.10.2/24", fontcolor="black"] R1:link -- R2:link [headlabel="192.168.50.2/24", taillabel="192.168.50.1/24", labeldistance=1, fontcolor="black", color="black"] } diff --git a/test/case/ietf_routing/ospf_bfd/topology.dot b/test/case/ietf_routing/ospf_bfd/topology.dot index f6f59985..2da6dbf0 100644 --- a/test/case/ietf_routing/ospf_bfd/topology.dot +++ b/test/case/ietf_routing/ospf_bfd/topology.dot @@ -11,23 +11,23 @@ graph "ospf-bfd" { label=" { { R1 | slow } | { mgmt |

h1 | fast } }", pos="0,6!", - kind="infix", + requires="infix", ]; R2 [ label="{ { slow | R2 } | { fast |

h2 | mgmt } }", pos="18,6!", - kind="infix", + requires="infix", ]; PC [ label="{ { R1mgmt |

h1 | R1fast | R2fast |

h2 | R2mgmt } | PC }", pos="9,0!", - kind="controller", + requires="controller", ]; - PC:R1mgmt -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:R2mgmt -- R2:mgmt [kind=mgmt, color="lightgray"] + PC:R1mgmt -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:R2mgmt -- R2:mgmt [requires="mgmt", color="lightgray"] PC:h1 -- R1:h1 PC:h2 -- R2:h2 diff --git a/test/case/ietf_routing/ospf_default_route_advertise/topology.dot b/test/case/ietf_routing/ospf_default_route_advertise/topology.dot index 4d044aa9..e217c945 100644 --- a/test/case/ietf_routing/ospf_default_route_advertise/topology.dot +++ b/test/case/ietf_routing/ospf_default_route_advertise/topology.dot @@ -10,23 +10,24 @@ graph "2x2" { PC [ label="PC | { mgmt1 | data1 | data2 | mgmt2 }", pos="20,80!", - kind="controller", + requires="controller", ]; R1 [ label="{ mgmt | data | link } | R1 \n 192.168.100.1/32 \n 10.10.10.10/32\n(lo)", pos="250,85!", - kind="infix", + requires="infix", ]; R2 [ label="{ link | data | mgmt } | R2 \n 192.168.200.1/32 \n(lo)", pos="250,30!", - kind="infix", + requires="infix", ]; - PC:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] + + PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] PC:data1 -- R1:data [color="black", headlabel="192.168.10.1/24", taillabel="192.168.10.2/24", fontcolor="black"] PC:data2 -- R2:data [color="black", headlabel="192.168.20.1/24", taillabel="192.168.20.2/24", fontcolor="black"] R1:link -- R2:link [headlabel="192.168.50.2/24", taillabel="192.168.50.1/24", labeldistance=1, fontcolor="black", color="black"] diff --git a/test/case/ietf_routing/ospf_multiarea/topology.dot b/test/case/ietf_routing/ospf_multiarea/topology.dot index b2a3edaf..aae051fe 100644 --- a/test/case/ietf_routing/ospf_multiarea/topology.dot +++ b/test/case/ietf_routing/ospf_multiarea/topology.dot @@ -11,38 +11,38 @@ graph "ring-4-duts" { PC [ label=" { PC | { mgmt4 | data4 | mgmt1 |                                                                       | mgmt2 | data3 | mgmt3 } }", pos="150,200!" - kind="controller", + requires="controller", ]; R1 [ label="{ { mgmt } | R1 \n 10.0.0.1/32 \n(lo) } | { ring1 | cross | ring2 }", pos="50,150!", - kind="infix", + requires="infix", ]; R4 [ label="{ { mgmt | data } | R4 \n 10.0.0.4/32 \n(lo) } | { ring1 | cross | ring2 }", pos="50,50!" - kind="infix", + requires="infix", ]; R2 [ label="{ ring2 | cross | ring1 } | { { mgmt } | R2 \n10.0.0.2/32 \n(lo) }", pos="250,150!" - kind="infix", + requires="infix", ]; R3 [ label="{ ring2 | cross | ring1 } | { { data | mgmt } | R3 \n10.0.0.3/32 \n(lo) }", pos="250,50!" - kind="infix", + requires="infix", ]; # Management Connections - PC:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt3 -- R3:mgmt [kind=mgmt, color="lightgray", overlap=false, weight=0.1] - PC:mgmt4 -- R4:mgmt [kind=mgmt, color="lightgray", overlap=false, weight=0.1] + 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"] diff --git a/test/case/ietf_routing/ospf_unnumbered_interface/topology.dot b/test/case/ietf_routing/ospf_unnumbered_interface/topology.dot index edf7d453..7ea3f3ce 100644 --- a/test/case/ietf_routing/ospf_unnumbered_interface/topology.dot +++ b/test/case/ietf_routing/ospf_unnumbered_interface/topology.dot @@ -10,23 +10,24 @@ graph "2x2" { PC [ label="PC | { mgmt1 | data | mgmt2 }", pos="20,80!", - kind="controller", + requires="controller", ]; R1 [ label="{ mgmt | data | link} | R1 \n 192.168.100.1/32 \n(lo)", pos="250,80!", - kind="infix", + requires="infix", ]; R2 [ label="{ link | mgmt | data } | R2 \n 192.168.200.1/32 \n(lo)", pos="250,30!", - kind="infix", + requires="infix", ]; - PC:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] + + PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] PC:data -- R1:data [color="black", headlabel="192.168.10.1/24", taillabel="192.168.10.2/24", fontcolor="black"] R1:link -- R2:link [headlabel="10.0.0.2/32", taillabel="10.0.0.1/32", labeldistance=1, fontcolor="black", color="black"] } diff --git a/test/case/ietf_routing/route_pref_255/topology.dot b/test/case/ietf_routing/route_pref_255/topology.dot index 034d8a1c..5df03b25 100644 --- a/test/case/ietf_routing/route_pref_255/topology.dot +++ b/test/case/ietf_routing/route_pref_255/topology.dot @@ -11,25 +11,25 @@ graph "route-preference" { [ label="PC | { mgmt1 | data1 | data2 | mgmt2 }", pos="20,58!", - kind="controller", + requires="controller", ]; R1 [ label="{ mgmt | data | link } | R1", pos="80,60!", - kind="infix", + requires="infix", ]; R2 [ label="{ link | data | mgmt } | R2", pos="80,42!", - kind="infix", + requires="infix", ]; - PC:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] + PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] PC:data1 -- R1:data [color="black", headlabel="192.168.10.1/24", taillabel="192.168.10.11/24", fontcolor="black"] PC:data2 -- R2:data [color="black", headlabel="192.168.20.2/24", taillabel="192.168.20.22/24", fontcolor="black"] diff --git a/test/case/ietf_routing/route_pref_dhcp/topology.dot b/test/case/ietf_routing/route_pref_dhcp/topology.dot index 8c4e3ba2..cca40627 100644 --- a/test/case/ietf_routing/route_pref_dhcp/topology.dot +++ b/test/case/ietf_routing/route_pref_dhcp/topology.dot @@ -11,25 +11,25 @@ graph "route-preference" { [ label="PC | { mgmt1 | data11 | data12 | <> \n | data2 | mgmt2 }", pos="20,50!", - kind="controller", + requires="controller", ]; R1 [ label="{ mgmt | data1 | data2 | link } | R1 \n 192.168.100.1/32 \n(lo)", pos="60,51.8!", - kind="infix", + requires="infix", ]; R2 [ label="{ link | data | mgmt } | R2 \n 192.168.200.1/32 \n(lo)", pos="60,42!", - kind="infix", + requires="infix", ]; - PC:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] + PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] PC:data11 -- R1:data1 [color="black", headlabel="192.168.10.1/24", taillabel="192.168.10.3/24", fontcolor="black"] PC:data12 -- R1:data2 [color="black", headlabel="192.168.30.1/24", taillabel="192.168.30.3/24", fontcolor="black"] diff --git a/test/case/ietf_routing/route_pref_ospf/topology.dot b/test/case/ietf_routing/route_pref_ospf/topology.dot index 7f9110f7..4ccc514c 100644 --- a/test/case/ietf_routing/route_pref_ospf/topology.dot +++ b/test/case/ietf_routing/route_pref_ospf/topology.dot @@ -11,25 +11,25 @@ graph "route-preference" { [ label="PC | { mgmt1 | data1 | <> \n\n | R1_ospf | R2_ospf | <> \n\n | data2 | mgmt2 }", pos="20,50!", - kind="controller", + requires="controller", ]; R1 [ label="{ mgmt | data | ospf | link } | R1", pos="70,58!", - kind="infix", + requires="infix", ]; R2 [ label="{ link | ospf | data | mgmt } | R2", pos="70,42!", - kind="infix", + requires="infix", ]; - PC:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] + PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] PC:data1 -- R1:data [color="black", headlabel="192.168.10.1/24", taillabel="192.168.10.11/24", fontcolor="black"] PC:data2 -- R2:data [color="black", headlabel="192.168.20.2/24", taillabel="192.168.20.22/24", fontcolor="black"] diff --git a/test/case/ietf_routing/static_routing/topology.dot b/test/case/ietf_routing/static_routing/topology.dot index b226c02c..0c26336d 100644 --- a/test/case/ietf_routing/static_routing/topology.dot +++ b/test/case/ietf_routing/static_routing/topology.dot @@ -10,23 +10,23 @@ graph "2x2" { PC [ label="PC | { mgmt1 | data | mgmt2 }", pos="20,80!", - kind="controller", + requires="controller", ]; R1 [ label="{ mgmt | data | link} | R1 \n 192.168.100.1/32 \n(lo)", pos="250,80!", - kind="infix", + requires="infix", ]; R2 [ label="{ link | mgmt } | R2 \n 192.168.200.1/32 \n(lo)", pos="250,30!", - kind="infix", + requires="infix", ]; - PC:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - PC:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] + PC:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + PC:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] PC:data -- R1:data [headlabel=".1", taillabel=".2", label="192.168.10.0/24", fontcolor="black", color="black"] R1:link -- R2:link [headlabel=".2", taillabel=".1", label="192.168.50.0/24", labeldistance=1, fontcolor="black", color="black"] } diff --git a/test/case/ietf_syslog/remote/topology.dot b/test/case/ietf_syslog/remote/topology.dot index c879ac08..3ba42e6a 100644 --- a/test/case/ietf_syslog/remote/topology.dot +++ b/test/case/ietf_syslog/remote/topology.dot @@ -9,22 +9,23 @@ graph "2x2" { host [ label="host | { mgmt1 | mgmt2 }", pos="0,12!", - kind="controller", + requires="controller", ]; client [ label="{ mgmt | link} | client", pos="15,18!", - kind="infix", + requires="infix", ]; server [ label="{ link | mgmt } | server", pos="15,6!", - kind="infix", + requires="infix", ]; - host:mgmt1 -- client:mgmt [kind=mgmt, color=lightgrey] - host:mgmt2 -- server:mgmt [kind=mgmt, color=lightgrey] + + host:mgmt1 -- client:mgmt [requires="mgmt", color=lightgrey] + host:mgmt2 -- server:mgmt [requires="mgmt", color=lightgrey] client:link -- server:link [color=black, fontcolor=black, taillabel="10.0.0.2/24", headlabel="10.0.0.1/24"] } diff --git a/test/case/infix_containers/container_bridge/topology.dot b/test/case/infix_containers/container_bridge/topology.dot index 3b5d8be7..baa41a49 100644 --- a/test/case/infix_containers/container_bridge/topology.dot +++ b/test/case/infix_containers/container_bridge/topology.dot @@ -9,16 +9,16 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- target:mgmt [requires="mgmt", color=lightgrey] host:data -- target:data [color=black, fontcolor=black, fontsize=12, taillabel="10.0.0.1/24", headlabel="10.0.0.2/24"] } \ No newline at end of file diff --git a/test/case/infix_containers/container_firewall_basic/topology.dot b/test/case/infix_containers/container_firewall_basic/topology.dot index 19ab7860..73aca1c8 100644 --- a/test/case/infix_containers/container_firewall_basic/topology.dot +++ b/test/case/infix_containers/container_firewall_basic/topology.dot @@ -9,16 +9,16 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | ext0 } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- target:mgmt [requires="mgmt", color=lightgrey] host:data -- target:ext0 [color=black, headlabel=".1 ", taillabel=" .2", label="\n 192.168.0.1/24 "] } diff --git a/test/case/infix_dhcp/dhcp_basic/topology.dot b/test/case/infix_dhcp/dhcp_basic/topology.dot index 4df22214..2843c60e 100644 --- a/test/case/infix_dhcp/dhcp_basic/topology.dot +++ b/test/case/infix_dhcp/dhcp_basic/topology.dot @@ -9,15 +9,15 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,20!", - kind="controller", + requires="controller", ]; client [ label="{ mgmt | data } | client", pos="200,20!", - kind="infix", + requires="infix", ]; - host:mgmt -- client:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- client:mgmt [requires="mgmt", color=lightgrey] host:data -- client:data [color=black, taillabel="10.0.0.1/24", headlabel="10.0.0.42/24"] } diff --git a/test/case/infix_dhcp/dhcp_router/topology.dot b/test/case/infix_dhcp/dhcp_router/topology.dot index e7eb7366..7fdb1840 100644 --- a/test/case/infix_dhcp/dhcp_router/topology.dot +++ b/test/case/infix_dhcp/dhcp_router/topology.dot @@ -9,15 +9,15 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,20!", - kind="controller", + requires="controller", ]; client [ label="{ mgmt | data } | client", pos="200,20!", - kind="infix", + requires="infix", ]; - host:mgmt -- client:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- client:mgmt [requires="mgmt", color=lightgrey] host:data -- client:data [color=black, taillabel="192.168.0.1/24"] } diff --git a/test/case/infix_dhcp/dhcp_routes/topology.dot b/test/case/infix_dhcp/dhcp_routes/topology.dot index e7eb7366..7fdb1840 100644 --- a/test/case/infix_dhcp/dhcp_routes/topology.dot +++ b/test/case/infix_dhcp/dhcp_routes/topology.dot @@ -9,15 +9,15 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,20!", - kind="controller", + requires="controller", ]; client [ label="{ mgmt | data } | client", pos="200,20!", - kind="infix", + requires="infix", ]; - host:mgmt -- client:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- client:mgmt [requires="mgmt", color=lightgrey] host:data -- client:data [color=black, taillabel="192.168.0.1/24"] } diff --git a/test/case/infix_services/mdns_allow_deny/topology.dot b/test/case/infix_services/mdns_allow_deny/topology.dot index 8d305e75..b463ca88 100644 --- a/test/case/infix_services/mdns_allow_deny/topology.dot +++ b/test/case/infix_services/mdns_allow_deny/topology.dot @@ -9,17 +9,17 @@ graph "1x4" { host [ label="host | { mgmt | eth1 | eth2 | eth3 }", pos="0,12!", - kind="controller", + requires="controller", ]; dut [ label="{ mgmt | p1 | p2 | p3 } | dut \n\n(br0)\n10.0.p.1/24", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- dut:mgmt [kind=mgmt, color="lightgray"] + host:mgmt -- dut:mgmt [requires="mgmt", color="lightgray"] host:eth1 -- dut:p1 [color=black, fontcolor=black, taillabel="10.0.1.2/24"] host:eth2 -- dut:p2 [color=black, fontcolor=black, taillabel="10.0.2.2/24"] host:eth3 -- dut:p3 [color=black, fontcolor=black, taillabel="10.0.3.2/24"] diff --git a/test/case/infix_services/services_basic/topology.dot b/test/case/infix_services/services_basic/topology.dot index eba5b382..2e4c6fe7 100644 --- a/test/case/infix_services/services_basic/topology.dot +++ b/test/case/infix_services/services_basic/topology.dot @@ -9,16 +9,15 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data } | target", pos="10,12!", - - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color=lightgrey] host:data -- target:data [color=black, fontcolor=black, fontsize=12, taillabel="10.0.0.1/24", headlabel="10.0.0.10/24"] + host:mgmt -- target:mgmt [requires="mgmt", color="lightgrey"] } diff --git a/test/case/infix_services/ssh_server_config/topology.dot b/test/case/infix_services/ssh_server_config/topology.dot index 6506bc45..671ed493 100644 --- a/test/case/infix_services/ssh_server_config/topology.dot +++ b/test/case/infix_services/ssh_server_config/topology.dot @@ -9,16 +9,16 @@ graph "1x3" { host [ label="host | { mgmt | data1 | data2 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data1 | data2 } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color="lightgray"] + host:mgmt -- target:mgmt [requires="mgmt", color="lightgray"] host:data1 -- target:data1 [color="black"] host:data2 -- target:data2 [color="black"] } diff --git a/test/case/use_case/ospf_container/topology.dot b/test/case/use_case/ospf_container/topology.dot index 7c73948d..eb68ade5 100644 --- a/test/case/use_case/ospf_container/topology.dot +++ b/test/case/use_case/ospf_container/topology.dot @@ -11,37 +11,37 @@ graph "ospf_containers" { host [ label=" { { R1ring1 | R1ring2 | data1 | mgmt1 | mgmt2 | data2 | R2ring1 | R2ring2 | data3 | mgmt3 | R3ring1 | R3ring2 | mgmt4 | data4 } | host } ", pos="0,5!" - kind="controller", + requires="controller", ]; R1 [ label="{{ link } | R1 | { ring1 | ring2 | data | mgmt }}" pos="-1,6!" - kind="infix", + requires="infix", ]; R2 [ label="{{ link } | R2 | { mgmt | data | ring1 | ring2 }}" pos="0,6!", - kind="infix", + requires="infix", ]; R3 [ label="{ link | R3 | { data | mgmt | ring1 | ring2 }}" pos="1,6!" - kind="infix", + requires="infix", ]; ABR [ label="{ ABR | { link1 | link2 | link3 | mgmt | data }}" pos="2,6.5!" - kind="infix", + requires="infix", ]; - host:mgmt1 -- R1:mgmt [kind=mgmt, color="lightgray"] - host:mgmt2 -- R2:mgmt [kind=mgmt, color="lightgray"] - host:mgmt3 -- R3:mgmt [kind=mgmt, color="lightgray"] - host:mgmt4 -- ABR:mgmt [kind=mgmt, color="lightgray"] + host:mgmt1 -- R1:mgmt [requires="mgmt", color="lightgray"] + host:mgmt2 -- R2:mgmt [requires="mgmt", color="lightgray"] + host:mgmt3 -- R3:mgmt [requires="mgmt", color="lightgray"] + host:mgmt4 -- ABR:mgmt [requires="mgmt", color="lightgray"] # host-Dut links host:data1 -- R1:data diff --git a/test/infamy/topologies/1x1.dot b/test/infamy/topologies/1x1.dot index 27381d87..e6a0d803 100644 --- a/test/infamy/topologies/1x1.dot +++ b/test/infamy/topologies/1x1.dot @@ -9,15 +9,15 @@ graph "1x1" { host [ label="host | { mgmt }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color="lightgray"] + host:mgmt -- target:mgmt [requires="mgmt", color="lightgray"] } diff --git a/test/infamy/topologies/1x2.dot b/test/infamy/topologies/1x2.dot index 73cae852..ebb673d5 100644 --- a/test/infamy/topologies/1x2.dot +++ b/test/infamy/topologies/1x2.dot @@ -9,16 +9,16 @@ graph "1x2" { host [ label="host | { mgmt | data }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt, color=lightgrey] + host:mgmt -- target:mgmt [requires="mgmt", color=lightgrey] host:data -- target:data [color=black] } diff --git a/test/infamy/topologies/1x3.dot b/test/infamy/topologies/1x3.dot index 92333199..2ba60559 100644 --- a/test/infamy/topologies/1x3.dot +++ b/test/infamy/topologies/1x3.dot @@ -9,17 +9,17 @@ graph "1x3" { host [ label="host | { tgt | data0 | data1 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data0 | data1 } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:tgt -- target:mgmt [kind=mgmt] + host:tgt -- target:mgmt [requires="mgmt"] host:data0 -- target:data0 [color=black] host:data1 -- target:data1 [color=black] } \ No newline at end of file diff --git a/test/infamy/topologies/1x4.dot b/test/infamy/topologies/1x4.dot index 7b5240c6..3fcec8b9 100644 --- a/test/infamy/topologies/1x4.dot +++ b/test/infamy/topologies/1x4.dot @@ -9,17 +9,17 @@ graph "1x4" { host [ label="host | { mgmt | data1 | data2 | data3 }", pos="0,12!", - kind="controller", + requires="controller", ]; target [ label="{ mgmt | data1 | data2 | data3 } | target", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt -- target:mgmt [kind=mgmt] + host:mgmt -- target:mgmt [requires="mgmt"] host:data1 -- target:data1 [color=black] host:data2 -- target:data2 [color=black] host:data3 -- target:data3 [color=black] diff --git a/test/infamy/topologies/2x2.dot b/test/infamy/topologies/2x2.dot index 7e2404f9..c3e0c067 100644 --- a/test/infamy/topologies/2x2.dot +++ b/test/infamy/topologies/2x2.dot @@ -9,23 +9,23 @@ graph "2x2" { host [ label="host | { mgmt1 | data1 | mgmt2 | data2 }", pos="0,15.7!", - kind="controller", + requires="controller", ]; target1 [ label="{ mgmt | data | target2} | target1", pos="10,16!", - kind="infix", + requires="infix", ]; target2 [ label="{ target1 | mgmt | data } | target2", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt1 -- target1:mgmt [kind=mgmt] - host:mgmt2 -- target2:mgmt [kind=mgmt] + 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] diff --git a/test/infamy/topologies/2x4.dot b/test/infamy/topologies/2x4.dot index 2ec9e335..dd7dfc67 100644 --- a/test/infamy/topologies/2x4.dot +++ b/test/infamy/topologies/2x4.dot @@ -9,28 +9,28 @@ graph "2x4" { host [ label="host | { mgmt1 | data10 | data11 | <> \n\n\n\n\n\n | mgmt2 | data20 | data21 }", pos="0,15!", - kind="controller", + requires="controller", ]; dut1 [ label="{ mgmt | data0 | data1 } | { \n dut1 \n\n | data2 }", pos="10,18!", - kind="infix", + requires="infix", ]; dut2 [ label="{ mgmt | data0 | data1 } | { data2 | \n dut2 \n\n }", pos="10,12!", - kind="infix", + requires="infix", ]; - host:mgmt1 -- dut1:mgmt [kind=mgmt] + host:mgmt1 -- dut1:mgmt [requires="mgmt"] host:data10 -- dut1:data0 [color=black] host:data11 -- dut1:data1 [color=black] - host:mgmt2 -- dut2:mgmt [kind=mgmt] + host:mgmt2 -- dut2:mgmt [requires="mgmt"] host:data20 -- dut2:data0 [color=black] host:data21 -- dut2:data1 [color=black] diff --git a/test/infamy/topology.py b/test/infamy/topology.py index c4d55d15..b3c9b26e 100644 --- a/test/infamy/topology.py +++ b/test/infamy/topology.py @@ -1,6 +1,8 @@ import networkx as nx from networkx.algorithms import isomorphism +from itertools import permutations +import json def _qstrip(text): if text is None: @@ -11,29 +13,27 @@ def _qstrip(text): return text +def compatible(physical, logical): + provides_set = set(physical.get("provides", "").split()) + requires_set = set(logical.get("requires", "").split()) + + return requires_set.issubset(provides_set) def map_edges(les, pes): - acc = [] - les = sorted(list(les.values()), key=lambda x: x.get("kind", ""), reverse=True) - pes = sorted(list(pes.values()), key=lambda x: x.get("kind", ""), reverse=True) - - for i in range(len(les)): - if pes[i].get("kind") != les[i].get("kind"): - return None - - acc.append((les[i], pes[i])) - - return acc + les = les.values() + pes = pes.values() + for perm in permutations(pes, len(les)): + candidate = tuple(zip(les, perm)) + if all(map(lambda pair: compatible(pair[1], pair[0]), candidate)): + return candidate def match_node(pn, ln): - return pn.get("kind") == ln.get("kind") - + return compatible(pn, ln) def match_edge(pes, les): return map_edges(les, pes) is not None - class Topology: def __init__(self, dotg): self.dotg = dotg @@ -139,15 +139,16 @@ class Topology: return None def get_mgmt_link(self, src, dst): - return self.get_link(src, dst, lambda e: e.get("kind") == "mgmt") + return self.get_link(src, dst, lambda e: compatible(e, {"requires": "mgmt"})) def get_ctrl(self): - ns = self.get_nodes(lambda _, attrs: attrs.get("kind") == "controller") + ns = self.get_nodes(lambda _, attrs: compatible(attrs, {"requires": "controller"})) assert len(ns) == 1 return ns[0] def get_infixen(self): - return self.get_nodes(lambda _, attrs: attrs.get("kind") == "infix") + return self.get_nodes(lambda _, attrs: compatible(attrs, {"requires": "infix"})) + def get_attr(self, name, default=None): return _qstrip(self.dotg.get_attributes().get(name, default)) diff --git a/test/virt/quad/topology.dot.in b/test/virt/quad/topology.dot.in index de3d5534..b5b56612 100644 --- a/test/virt/quad/topology.dot.in +++ b/test/virt/quad/topology.dot.in @@ -15,13 +15,13 @@ graph "quad" { host [ label="host | { d1a | d1b | d1c | d1d | d2a | d2b | d2c | d2d | d3a | d3b | d3c | d3d | d4a | d4b | d4c | d4d }", color="grey",fontcolor="grey",pos="0,15!", - kind="controller", + provides="controller", ]; dut1 [ label="{ e1 | e2 | e3 } | dut1 | { e4 | e5 | e6 | e7 | e8}", pos="10,18!", - kind="infix", + provides="infix", qn_console=9001, qn_mem="384M", qn_usb="dut1.usb" @@ -29,7 +29,7 @@ graph "quad" { dut2 [ label="{ e1 | e2 | e3 } | dut2 | { e4 | e5 | e6 | e7 | e8}", pos="10,12!", - kind="infix", + provides="infix", qn_console=9002, qn_mem="384M", qn_usb="dut2.usb" @@ -37,7 +37,7 @@ graph "quad" { dut3 [ label="{ e1 | e2 | e3 } | dut2 | { e4 | e5 | e6 | e7 | e8}", pos="10,12!", - kind="infix", + provides="infix", qn_console=9003, qn_mem="384M", qn_usb="dut3.usb" @@ -46,31 +46,31 @@ graph "quad" { dut4 [ label="{ e1 | e2 | e3 } | dut2 | { e4 | e5 | e6 | e7 | e8}", pos="10,12!", - kind="infix", + provides="infix", qn_console=9004, qn_mem="384M", qn_usb="dut4.usb" ]; - host:d1a -- dut1:e1 [kind=mgmt] - host:d1b -- dut1:e2 - host:d1c -- dut1:e3 - host:d1d -- dut1:e4 + host:d1a -- dut1:e1 [provides="mgmt"] + host:d1b -- dut1:e2 [provides="ieee-mc"] + host:d1c -- dut1:e3 [provides="ieee-mc"] + host:d1d -- dut1:e4 [provides="ieee-mc"] - host:d2a -- dut2:e1 [kind=mgmt] - host:d2b -- dut2:e2 - host:d2c -- dut2:e3 - host:d2d -- dut2:e4 + host:d2a -- dut2:e1 [provides="mgmt"] + host:d2b -- dut2:e2 [provides="ieee-mc"] + host:d2c -- dut2:e3 [provides="ieee-mc"] + host:d2d -- dut2:e4 [provides="ieee-mc"] - host:d3a -- dut3:e1 [kind=mgmt] - host:d3b -- dut3:e2 - host:d3c -- dut3:e3 - host:d3d -- dut3:e4 + host:d3a -- dut3:e1 [provides="mgmt"] + host:d3b -- dut3:e2 [provides="ieee-mc"] + host:d3c -- dut3:e3 [provides="ieee-mc"] + host:d3d -- dut3:e4 [provides="ieee-mc"] - host:d4a -- dut4:e1 [kind=mgmt] - host:d4b -- dut4:e2 - host:d4c -- dut4:e3 - host:d4d -- dut4:e4 + host:d4a -- dut4:e1 [provides="mgmt"] + host:d4b -- dut4:e2 [provides="ieee-mc"] + host:d4c -- dut4:e3 [provides="ieee-mc"] + host:d4d -- dut4:e4 [provides="ieee-mc"] # Ring dut1:e5 -- dut2:e6