From 6236eebdb012eb18628c2642f1e0a4bfc94b0238 Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Wed, 8 Aug 2018 12:27:39 -0300 Subject: [PATCH] bfd-topo1: import topology picture Import the graphviz file and the generated picture. Signed-off-by: Rafael Zalamena --- bfd-topo1/test_bfd_topo1.dot | 73 +++++++++++++++++++++++++++++++++++ bfd-topo1/test_bfd_topo1.jpg | Bin 0 -> 25713 bytes 2 files changed, 73 insertions(+) create mode 100644 bfd-topo1/test_bfd_topo1.dot create mode 100644 bfd-topo1/test_bfd_topo1.jpg diff --git a/bfd-topo1/test_bfd_topo1.dot b/bfd-topo1/test_bfd_topo1.dot new file mode 100644 index 0000000..c84ace2 --- /dev/null +++ b/bfd-topo1/test_bfd_topo1.dot @@ -0,0 +1,73 @@ +## Color coding: +######################### +## Main FRR: #f08080 red +## Switches: #d0e0d0 gray +## RIP: #19e3d9 Cyan +## RIPng: #fcb314 dark yellow +## OSPFv2: #32b835 Green +## OSPFv3: #19e3d9 Cyan +## ISIS IPv4 #fcb314 dark yellow +## ISIS IPv6 #9a81ec purple +## BGP IPv4 #eee3d3 beige +## BGP IPv6 #fdff00 yellow +##### Colors (see http://www.color-hex.com/) + +graph template { + label="bfd-topo1"; + + # Routers + r1 [ + shape=doubleoctagon, + label="r1", + fillcolor="#f08080", + style=filled, + ]; + r2 [ + shape=doubleoctagon + label="r2", + fillcolor="#f08080", + style=filled, + ]; + r3 [ + shape=doubleoctagon + label="r3", + fillcolor="#f08080", + style=filled, + ]; + r4 [ + shape=doubleoctagon + label="r4", + fillcolor="#f08080", + style=filled, + ]; + + # Switches + sw1 [ + shape=oval, + label="sw1\n192.168.0.0/24", + fillcolor="#d0e0d0", + style=filled, + ]; + sw2 [ + shape=oval, + label="sw2\n192.168.1.0/24", + fillcolor="#d0e0d0", + style=filled, + ]; + sw3 [ + shape=oval, + label="sw3\n192.168.2.0/24", + fillcolor="#d0e0d0", + style=filled, + ]; + + # Connections + r1 -- sw1 [label="eth0\n.1"]; + r2 -- sw1 [label="eth0\n.2"]; + + r3 -- sw2 [label="eth0\n.1"]; + r2 -- sw2 [label="eth1\n.2"]; + + r4 -- sw3 [label="eth0\n.1"]; + r2 -- sw3 [label="eth2\n.2"]; +} diff --git a/bfd-topo1/test_bfd_topo1.jpg b/bfd-topo1/test_bfd_topo1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4d6d56e072811cc01ecd576104f8c25749c51faf GIT binary patch literal 25713 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