Files
infix/test/case/use_case/ospf_container/topology.dot
T
Ahmed Karic 3e0b816351 test: Match on edge attributes when mapping topologies
Implemented logic to check if the system supports required services.
Logical edges with 'requires' fields are mapped only if physical edges
provide corresponding services. If not, the test is skipped.
This ensures that tests only run when the required services are available
in the test system configuration.

Fixes #654
2025-01-24 11:51:55 +01:00

63 lines
1.7 KiB
Plaintext

graph "ospf_containers" {
layout="neato";
overlap=false;
esep="+20";
splines=true;
size=10;
node [ shape=record, fontname="DejaVu Sans Mono, Book"];
edge [color="black", penwidth="2", fontname="DejaVu Serif, Book"];
host [
label=" { { <R1ring1> R1ring1 | <R1ring2> R1ring2 | <data1> data1 | <mgmt1> mgmt1 | <mgmt2> mgmt2 | <data2> data2 | <R2ring1> R2ring1 | <R2ring2> R2ring2 | <data3> data3 | <mgmt3> mgmt3 | <R3ring1> R3ring1 | <R3ring2> R3ring2 | <mgmt4> mgmt4 | <data4> data4 } | host } ",
pos="0,5!"
requires="controller",
];
R1 [
label="{{ <link> link } | R1 | {<ring1> ring1 | <ring2> ring2 | <data> data | <mgmt> mgmt }}"
pos="-1,6!"
requires="infix",
];
R2 [
label="{{ <link> link } | R2 | { <mgmt> mgmt | <data> data | <ring1> ring1 | <ring2> ring2 }}"
pos="0,6!",
requires="infix",
];
R3 [
label="{ <link> link | R3 | { <data> data | <mgmt> mgmt | <ring1> ring1 | <ring2> ring2 }}"
pos="1,6!"
requires="infix",
];
ABR [
label="{ ABR | {<link1> link1 | <link2> link2 |<link3> link3 | <mgmt> mgmt | <data> data }}"
pos="2,6.5!"
requires="infix",
];
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
host:data2 -- R2:data
host:data3 -- R3:data
host:data4 -- ABR:data
host:R1ring1 -- R1:ring1
host:R2ring1 -- R2:ring1
host:R3ring1 -- R3:ring1
host:R1ring2 -- R1:ring2
host:R2ring2 -- R2:ring2
host:R3ring2 -- R3:ring2
R1:link -- ABR:link1
R2:link -- ABR:link2
R3:link -- ABR:link3
}