test: update infix-interfaces topologies
@@ -1,13 +1,13 @@
|
||||
graph "1x2" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+80";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <tgt> tgt | <data> | data }",
|
||||
label="host | { <tgt> tgt | <data> data }",
|
||||
pos="0,12!",
|
||||
kind="controller",
|
||||
];
|
||||
@@ -20,5 +20,5 @@ graph "1x2" {
|
||||
];
|
||||
|
||||
host:tgt -- target:mgmt [kind=mgmt]
|
||||
host:data -- target:data
|
||||
host:data -- target:data [color=black, fontcolor=black, taillabel="10.0.0.1/24", headlabel="10.0.0.2/24"]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.5 KiB |
@@ -8,7 +8,7 @@
|
||||
# | | | | | |
|
||||
# | | | | | |
|
||||
# ,-----------------------------------------------------------------------------------------,
|
||||
# | host:mgmt0 host:data0 host:data1 host:data2 host:data3 host:mgmt1 |
|
||||
# | host:mgmt0 host:data10 host:data11 host:data20 host:data21 host:mgmt1 |
|
||||
# | [10.0.0.2] [10.0.0.3] [10.0.0.4] |
|
||||
# | (ns11) (ns20) (ns21) |
|
||||
# | |
|
||||
@@ -28,7 +28,6 @@ with infamy.Test() as test:
|
||||
dut2 = env.attach("dut2", "mgmt")
|
||||
|
||||
with test.step("Configure a bridge with triple physical port"):
|
||||
_, tport10 = env.ltop.xlate("dut1", "data0")
|
||||
_, tport11 = env.ltop.xlate("dut1", "data1")
|
||||
_, tport12 = env.ltop.xlate("dut1", "data2")
|
||||
_, tport20 = env.ltop.xlate("dut2", "data0")
|
||||
@@ -47,21 +46,13 @@ with infamy.Test() as test:
|
||||
"vlan": [
|
||||
{
|
||||
"vid": 10,
|
||||
"untagged": [ tport10, tport11 ],
|
||||
"untagged": [ tport11 ],
|
||||
"tagged": [ "br0", tport12 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": tport10,
|
||||
"enabled": True,
|
||||
"infix-interfaces:bridge-port": {
|
||||
"pvid": 10,
|
||||
"bridge": "br0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": tport11,
|
||||
"enabled": True,
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
graph "2x4" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+26";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <mgmt1> mgmt1 | <data10> data10 | <data11> data11 | <mgmt2> mgmt2 | <data20> data20 | <data21> data21 }",
|
||||
label="host | { <mgmt1> mgmt1 | <data11> data11 | <> \n\n\n| <mgmt2> mgmt2 | <data20> data20 | <data21> data21 }",
|
||||
pos="0,15!",
|
||||
height=3,
|
||||
|
||||
kind="controller",
|
||||
];
|
||||
|
||||
dut1 [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | dut1 | { <data2> data2 }",
|
||||
pos="10,18!",
|
||||
|
||||
kind="infix",
|
||||
label="{ <mgmt> mgmt | <data1> data1 } | { dut1 \n\n| <data2> data2 }",
|
||||
pos="4,15.68!",
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
dut2 [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | dut2 | { <data2> data2 }",
|
||||
pos="10,12!",
|
||||
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | { <data2> data2 | \n dut2 }",
|
||||
pos="4,14.43!",
|
||||
height=1.2,
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:mgmt1 -- dut1:mgmt [kind=mgmt]
|
||||
host:data10 -- dut1:data0
|
||||
host:data11 -- dut1:data1
|
||||
host:data11 -- dut1:data1 [color=black, fontcolor=black, taillabel="10.0.0.2"]
|
||||
|
||||
host:mgmt2 -- dut2:mgmt [kind=mgmt]
|
||||
host:data20 -- dut2:data0
|
||||
host:data21 -- dut2:data1
|
||||
host:data20 -- dut2:data0 [color=black, fontcolor=black, taillabel="10.0.0.3"]
|
||||
host:data21 -- dut2:data1 [color=black, fontcolor=black, taillabel="10.0.0.4"]
|
||||
|
||||
dut1:data2 -- dut2:data2
|
||||
}
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
@@ -1,7 +1,7 @@
|
||||
graph "1x3" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+80";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
@@ -20,6 +20,6 @@ graph "1x3" {
|
||||
];
|
||||
|
||||
host:tgt -- target:mgmt [kind=mgmt]
|
||||
host:data0 -- target:data0
|
||||
host:data1 -- target:data1
|
||||
host:data0 -- target:data0 [color=black, fontcolor=black, taillabel="10.0.0.1"]
|
||||
host:data1 -- target:data1 [color=black, fontcolor=black, taillabel="10.0.0.2"]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 7.6 KiB |
@@ -1,24 +1,24 @@
|
||||
graph "1x2" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+80";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <tgt> tgt | <data> | data }",
|
||||
label="host | { <tgt> tgt | <data> data }",
|
||||
pos="0,12!",
|
||||
kind="controller",
|
||||
];
|
||||
|
||||
target [
|
||||
label="{ <mgmt> mgmt | <data> data } | target",
|
||||
label="{ <mgmt> mgmt | <data> data } | target(br0:veth)\n10.0.0.2/24",
|
||||
pos="10,12!",
|
||||
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:tgt -- target:mgmt [kind=mgmt]
|
||||
host:data -- target:data
|
||||
host:data -- target:data [color=black, fontcolor=black, taillabel="10.0.0.1/24"]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 9.4 KiB |
@@ -17,13 +17,13 @@ import infamy
|
||||
with infamy.Test() as test:
|
||||
with test.step("Initialize"):
|
||||
env = infamy.Env()
|
||||
dut1 = env.attach("target1", "mgmt")
|
||||
dut2 = env.attach("target2", "mgmt")
|
||||
dut1 = env.attach("dut1", "mgmt")
|
||||
dut2 = env.attach("dut2", "mgmt")
|
||||
|
||||
with test.step("Topology setup"):
|
||||
_, dut1_e0 = env.ltop.xlate("target1", "data")
|
||||
_, dut1_e1 = env.ltop.xlate("target1", "target2")
|
||||
_, dut2_e0 = env.ltop.xlate("target2", "target1")
|
||||
_, dut1_e0 = env.ltop.xlate("dut1", "data")
|
||||
_, dut1_e1 = env.ltop.xlate("dut1", "to_dut2")
|
||||
_, dut2_e0 = env.ltop.xlate("dut2", "to_dut1")
|
||||
|
||||
dut1.put_config_dict("ietf-interfaces", {
|
||||
"interfaces": {
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
graph "2x2" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+40";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <mgmt1> mgmt1 | <data1> data1 | <mgmt2> mgmt2 | <data2> data2 }",
|
||||
pos="0,12!",
|
||||
label="host | { <mgmt1> mgmt1 | <data1> data1 | <mgmt2> mgmt2 }",
|
||||
pos="0,16!",
|
||||
kind="controller",
|
||||
];
|
||||
|
||||
target1 [
|
||||
label="{ <mgmt> mgmt | <data> data | <target2> target2} | target1",
|
||||
pos="10,18!",
|
||||
dut1 [
|
||||
label="{ <mgmt> mgmt | <data> data | <to_dut2> to_dut2} | dut1\n(10.0.0.2) ",
|
||||
pos="10,16!",
|
||||
|
||||
kind="infix",
|
||||
];
|
||||
target2 [
|
||||
label="{ <target1> target1 |<mgmt> mgmt | <data> data } | target2",
|
||||
pos="10,6!",
|
||||
dut2 [
|
||||
label="{ <to_dut1> to_dut1 | <mgmt> mgmt } | dut2\n(10.0.0.3)",
|
||||
pos="10,12!",
|
||||
|
||||
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
|
||||
host:mgmt1 -- dut1:mgmt [kind=mgmt]
|
||||
host:mgmt2 -- dut2:mgmt [kind=mgmt]
|
||||
host:data1 -- dut1:data [color=black]
|
||||
|
||||
dut1:to_dut2 -- dut2:to_dut1
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 20 KiB |
@@ -1,38 +1,38 @@
|
||||
graph "2x4" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+22";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <mgmt1> mgmt1 | <data10> data10 | <data11> data11 | <mgmt2> mgmt2 | <data20> data20 | <data21> data21 }",
|
||||
label="host | { <mgmt1> mgmt1 | <data10> data10 | <data11> data11 | <> \n\n\n | <mgmt2> mgmt2 | <data20> data20 | <data21> data21 }",
|
||||
pos="0,15!",
|
||||
kind="controller",
|
||||
];
|
||||
|
||||
dut1 [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | dut1 | { <data2> data2 }",
|
||||
pos="10,18!",
|
||||
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | { \n dut1 \n\n | <data2> data2 }",
|
||||
pos="2,15.25!",
|
||||
fontsize=12,
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
dut2 [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | dut2 | { <data2> data2 }",
|
||||
pos="10,12!",
|
||||
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | { <data2> data2 | \n dut2 \n\n }",
|
||||
pos="2,14.75!",
|
||||
fontsize=12,
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:mgmt1 -- dut1:mgmt [kind=mgmt]
|
||||
host:data10 -- dut1:data0
|
||||
host:data11 -- dut1:data1
|
||||
host:data10 -- dut1:data0 [color=purple, fontcolor=purple, taillabel="10.0.0.1", headlabel="VLAN10 U"]
|
||||
host:data11 -- dut1:data1 [color=darkgreen, fontcolor=darkgreen, taillabel="10.0.0.2", headlabel="VLAN20 U"]
|
||||
|
||||
host:mgmt2 -- dut2:mgmt [kind=mgmt]
|
||||
host:data20 -- dut2:data0
|
||||
host:data21 -- dut2:data1
|
||||
host:data20 -- dut2:data0 [color=purple, fontcolor=purple, taillabel="10.0.0.3", headlabel="VLAN10 U"]
|
||||
host:data21 -- dut2:data1 [color=darkgreen, fontcolor=darkgreen, taillabel="10.0.0.4", headlabel="VLAN20 U"]
|
||||
|
||||
dut1:data2 -- dut2:data2
|
||||
dut1:data2 -- dut2:data2 [color=black, fontcolor=black, fontsize=12, label="VLAN 10,20 T"]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 30 KiB |
@@ -1,24 +0,0 @@
|
||||
graph "1x2" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <tgt> tgt | <data> | data }",
|
||||
pos="0,12!",
|
||||
kind="controller",
|
||||
];
|
||||
|
||||
target [
|
||||
label="{ <mgmt> mgmt | <data> data } | target",
|
||||
pos="10,12!",
|
||||
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:tgt -- target:mgmt [kind=mgmt]
|
||||
host:data -- target:data
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
../bridge_basic/topology.dot
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.5 KiB |
@@ -1,7 +1,7 @@
|
||||
graph "1x4" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+80";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
@@ -13,14 +13,14 @@ graph "1x4" {
|
||||
];
|
||||
|
||||
target [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 | <data2> data2 } | target",
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 | <data2> data2 } | target \n\n(br0)\n10.0.0.1/24",
|
||||
pos="10,12!",
|
||||
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:tgt -- target:mgmt [kind=mgmt]
|
||||
host:data0 -- target:data0
|
||||
host:data1 -- target:data1
|
||||
host:data2 -- target:data2
|
||||
host:data0 -- target:data0 [color=black, fontcolor=black, taillabel="10.0.0.2/24"]
|
||||
host:data1 -- target:data1 [color=black, fontcolor=black, taillabel="10.0.0.3/24"]
|
||||
host:data2 -- target:data2 [color=black, fontcolor=black, taillabel="10.0.0.4/24"]
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,38 +1,38 @@
|
||||
graph "2x4" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+23";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <mgmt1> mgmt1 | <data10> data10 | <data11> data11 | <mgmt2> mgmt2 | <data20> data20 | <data21> data21 }",
|
||||
label="host | { <mgmt1> mgmt1 | <data10> data10 | <data11> data11 | <> \n\n\n | <mgmt2> mgmt2 | <data20> data20 | <data21> data21 }",
|
||||
pos="0,15!",
|
||||
kind="controller",
|
||||
];
|
||||
|
||||
dut1 [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | dut1 | { <data2> data2 }",
|
||||
pos="10,18!",
|
||||
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | { dut1 \nVLAN55: 10.0.1.1 \nVLAN77: 10.0.2.1 | <data2> data2 }",
|
||||
pos="3,15.4!",
|
||||
fontsize=12,
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
dut2 [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | dut2 | { <data2> data2 }",
|
||||
pos="10,12!",
|
||||
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | { <data2> data2 | dut2 \nVLAN55: 10.0.1.2 \nVLAN77: 10.0.2.2\n }",
|
||||
pos="3,14.6!",
|
||||
fontsize=12,
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:mgmt1 -- dut1:mgmt [kind=mgmt]
|
||||
host:data10 -- dut1:data0
|
||||
host:data11 -- dut1:data1
|
||||
host:data10 -- dut1:data0 [color=purple, fontcolor=purple, taillabel="10.0.1.11", headlabel="VLAN55 U"]
|
||||
host:data11 -- dut1:data1 [color=darkgreen, fontcolor=darkgreen, taillabel="10.0.2.11", headlabel="VLAN77 U"]
|
||||
|
||||
host:mgmt2 -- dut2:mgmt [kind=mgmt]
|
||||
host:data20 -- dut2:data0
|
||||
host:data21 -- dut2:data1
|
||||
host:data20 -- dut2:data0 [color=purple, fontcolor=purple, taillabel="10.0.1.22", headlabel="VLAN55 U"]
|
||||
host:data21 -- dut2:data1 [color=darkgreen, fontcolor=darkgreen, taillabel="10.0.2.22", headlabel="VLAN77 U"]
|
||||
|
||||
dut1:data2 -- dut2:data2
|
||||
dut1:data2 -- dut2:data2 [color=black, fontcolor=black, label="VLAN 1,2 T"]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 40 KiB |
@@ -1,24 +0,0 @@
|
||||
graph "1x2" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <tgt> tgt | <data> | data }",
|
||||
pos="0,12!",
|
||||
kind="controller",
|
||||
];
|
||||
|
||||
target [
|
||||
label="{ <mgmt> mgmt | <data> data } | target",
|
||||
pos="10,12!",
|
||||
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:tgt -- target:mgmt [kind=mgmt]
|
||||
host:data -- target:data
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
../bridge_basic/topology.dot
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.5 KiB |
@@ -1,26 +0,0 @@
|
||||
graph "1x4" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
|
||||
host [
|
||||
label="host | { <tgt> tgt | <data0> data0 | <data1> data1 | <data2> data2 }",
|
||||
pos="0,12!",
|
||||
kind="controller",
|
||||
];
|
||||
|
||||
target [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 | <data2> data2 } | target",
|
||||
pos="10,12!",
|
||||
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:tgt -- target:mgmt [kind=mgmt]
|
||||
host:data0 -- target:data0
|
||||
host:data1 -- target:data1
|
||||
host:data2 -- target:data2
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
../igmp_basic/topology.dot
|
||||
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,7 +1,7 @@
|
||||
graph "1x3" {
|
||||
layout="neato";
|
||||
overlap="false";
|
||||
esep="+20";
|
||||
esep="+150";
|
||||
|
||||
node [shape=record, fontname="monospace"];
|
||||
edge [color="cornflowerblue", penwidth="2"];
|
||||
@@ -14,12 +14,12 @@ graph "1x3" {
|
||||
|
||||
target [
|
||||
label="{ <mgmt> mgmt | <data0> data0 | <data1> data1 } | target",
|
||||
pos="10,12!",
|
||||
pos="15,12!",
|
||||
|
||||
kind="infix",
|
||||
];
|
||||
|
||||
host:tgt -- target:mgmt [kind=mgmt]
|
||||
host:data0 -- target:data0
|
||||
host:data1 -- target:data1
|
||||
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)"]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 18 KiB |