#!/usr/bin/env bash set -eu common() { local n n=$1 vdn-config $n GUEST_SYS "debian/buster" vdn-config $n MODE "tgz2" vdn-config $n MEMORY "384" vdn-config $n HDA "DebianBuster.disk" vdn-config $n EXTRA_ETH_DEFAULT_ROUTE 0 #vdn-config $n SET_PROXY "1" } commonRouters() { local n n=$1 common $n vdn-config -a $n EXTRA_SERVICES "zebra ripd ospfd" } commonStations() { local n n=$1 common $n vdn-config -a $n EXTRA_SERVICES "" } build() { local n n=s1; vdn-build $n; commonStations $n vdn-config $n NETWORKS "NET_1#192.168.1.2" vdn-config $n MEMORY "512" n=s2; vdn-build $n; commonStations $n vdn-config $n NETWORKS "NET_4#192.168.6.2" n=r1; vdn-build $n; commonRouters $n vdn-config $n NETWORKS "NET_1#192.168.1.1 NET_2#192.168.2.1 NET_5#192.168.3.1" n=r2; vdn-build $n; commonRouters $n vdn-config $n NETWORKS "NET_2#192.168.2.2 NET_3#192.168.4.1 NET_6#192.168.5.1" n=r3; vdn-build $n; commonRouters $n vdn-config $n NETWORKS "NET_4#192.168.6.2 NET_3#192.168.4.2 NET_7#192.168.7.1" vdn-config $n EXTRA_ETH_DEFAULT_ROUTE 1 vdn-config $n EXTRA_ETH_MASQUERADING 1 n=r4; vdn-build $n; commonRouters $n vdn-config $n NETWORKS "NET_5#192.168.3.2 NET_8#192.168.8.1" n=r5; vdn-build $n; commonRouters $n vdn-config $n NETWORKS "NET_8#192.168.8.2 NET_6#192.168.5.2 NET_7#192.168.7.2" }