diff --git a/images/Makefile b/images/Makefile new file mode 100644 index 0000000..f6e210e --- /dev/null +++ b/images/Makefile @@ -0,0 +1,12 @@ + +all: + +%.tmp.dot: %.tt pve_network_templates.tt + tpage $*.tt >$*.tmp.dot + +%.svg: %.tmp.dot + dot $*.tmp.dot -T svg -o $*.svg + + +clean: + rm -f *.tmp.dot diff --git a/images/pve_network_templates.tt b/images/pve_network_templates.tt new file mode 100644 index 0000000..bf2ef89 --- /dev/null +++ b/images/pve_network_templates.tt @@ -0,0 +1,56 @@ +[% BLOCK switch_ports %] + + + + [% FOREACH p IN draw_ports %] + + + [% END %] + + +
[% p %]
+[% END %] + +[% MACRO switch BLOCK %] +[% id %] [ + shape=plaintext + label=< + + [% IF top_ports %] + + [% END %] + + [% IF ports %] + + [% END %] +
[% PROCESS switch_ports draw_ports=top_ports %]
+ + [% IF subtitle %] + + [% END %] +
[% title %]
[% subtitle %]
[% PROCESS switch_ports draw_ports=ports %]
> + + ] +[% END %] + +[% MACRO server BLOCK %] +[% id %] [ + shape=plaintext + label=< + + [% IF top_ports %] + + [% END %] + + [% IF ports %] + + [% END %] +
[% PROCESS switch_ports draw_ports=top_ports %]
+ + [% IF subtitle %] + + [% END %] +
[% title %]
[% subtitle %]
[% PROCESS switch_ports draw_ports=ports %]
> + + ] +[% END %] diff --git a/images/simple-clos-network.tt b/images/simple-clos-network.tt new file mode 100644 index 0000000..5b551bc --- /dev/null +++ b/images/simple-clos-network.tt @@ -0,0 +1,98 @@ +[% PROCESS pve_network_templates.tt %] + +graph clos_network { + splines=line + node [shape=record]; + edge []; + + [% switch( + id="spine01", + title="Spine01 65021", + subtitle="10.0.0.21/32", + top_ports='', + ports=[1,2,3,4]) + %] + + [% switch( + id="spine02" + title="Spine02 65022" + subtitle="10.0.0.22/32" + top_ports='' + ports=[1,2,3,4]) + %] + + [% switch( + id="leaf01" + title="Leaf01 65011" + subtitle="10.0.0.11/32" + top_ports=[51,52] + ports=[1]) + %] + + [% switch( + id="leaf02" + title="Leaf02 65012" + subtitle="10.0.0.12/32" + top_ports=[51,52] + ports=[1]) + %] + + [% switch( + id="leaf03" + title="Leaf03 65013" + subtitle="10.0.0.13/32" + top_ports=[51,52] + ports=[1]) + %] + + [% switch( + id="leaf04" + title="Leaf04 65014" + subtitle="10.0.0.14/32" + top_ports=[51,52] + ports=[1]) + %] + + spine01:1 -- leaf01:51 + spine01:2 -- leaf02:51 + spine01:3 -- leaf03:51 + spine01:4 -- leaf04:51 + + spine02:1 -- leaf01:52 + spine02:2 -- leaf02:52 + spine02:3 -- leaf03:52 + spine02:4 -- leaf04:52 + + [% server( + id="server01" + title="server01" + top_ports='eth1' + ports='') + %] + + [% server( + id="server02" + title="server02" + top_ports='eth1' + ports='') + %] + + [% server( + id="server03" + title="server03" + top_ports='eth1' + ports='') + %] + + [% server( + id="server04" + title="server04" + top_ports='eth1' + ports='') + %] + + leaf01:1 -- server01:eth1 + leaf02:1 -- server02:eth1 + leaf03:1 -- server03:eth1 + leaf04:1 -- server04:eth1 +}