diff options
Diffstat (limited to 'src/testing/netjail_stop.sh')
-rwxr-xr-x | src/testing/netjail_stop.sh | 49 |
1 files changed, 41 insertions, 8 deletions
diff --git a/src/testing/netjail_stop.sh b/src/testing/netjail_stop.sh index 08f68cf7f..abfaf3acf 100755 --- a/src/testing/netjail_stop.sh +++ b/src/testing/netjail_stop.sh | |||
@@ -1,24 +1,57 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | . "./../testing/netjail_core.sh" | 2 | . "./../testing/netjail_core.sh" |
3 | . "./../testing/topo.sh" | ||
3 | 4 | ||
4 | set -eu | 5 | set -eu |
5 | set -x | 6 | set -x |
6 | 7 | ||
7 | export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" | 8 | export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" |
8 | 9 | ||
9 | LOCAL_M=$1 | 10 | filename=$1 |
10 | GLOBAL_N=$2 | 11 | PREFIX=$2 |
11 | NETWORK_NET=$(netjail_print_name "n" $GLOBAL_N $LOCAL_M) | ||
12 | 12 | ||
13 | shift 2 | 13 | read_topology $filename |
14 | |||
15 | declare -A NODES | ||
16 | declare -A NODE_LINKS | ||
17 | |||
18 | netjail_bridge_name | ||
19 | NETWORK_NET=$RESULT | ||
20 | |||
21 | for X in $(seq $KNOWN); do | ||
22 | netjail_node_name | ||
23 | KNOWN_NODES[$X]=$RESULT | ||
24 | netjail_node_link_bridge_name | ||
25 | KNOWN_LINKS[$X]=$RESULT | ||
26 | netjail_node_unlink_bridge ${KNOWN_LINKS[$X]} | ||
27 | netjail_node_clear ${KNOWN_NODES[$X]} | ||
28 | done | ||
14 | 29 | ||
15 | for N in $(seq $GLOBAL_N); do | 30 | for N in $(seq $GLOBAL_N); do |
31 | netjail_node_name | ||
32 | ROUTERS[$N]=$RESULT | ||
33 | netjail_node_link_bridge_name | ||
34 | NETWORK_LINKS[$N]=$RESULT | ||
35 | netjail_bridge_name | ||
36 | ROUTER_NETS[$N]=$RESULT | ||
37 | netjail_node_link_bridge_name | ||
38 | ROUTER_LINKS[$N]=$RESULT | ||
39 | |||
40 | netjail_node_unlink_bridge ${ROUTER_LINKS[$N]} | ||
41 | |||
16 | for M in $(seq $LOCAL_M); do | 42 | for M in $(seq $LOCAL_M); do |
17 | netjail_node_clear $(netjail_print_name "N" $N $M) | 43 | netjail_node_name |
44 | NODES[$N,$M]=$RESULT | ||
45 | netjail_node_link_bridge_name | ||
46 | NODE_LINKS[$N,$M]=$RESULT | ||
47 | netjail_node_unlink_bridge ${NODE_LINKS[$N,$M]} | ||
48 | netjail_node_clear ${NODES[$N,$M]} | ||
18 | done | 49 | done |
50 | |||
19 | 51 | ||
20 | netjail_bridge_clear $(netjail_print_name "r" $N) | 52 | netjail_bridge_clear ${ROUTER_NETS[$N]} |
21 | netjail_node_clear $(netjail_print_name "R" $N) | 53 | netjail_node_unlink_bridge ${NETWORK_LINKS[$N]} |
54 | netjail_node_clear ${ROUTERS[$N]} | ||
22 | done | 55 | done |
23 | 56 | ||
24 | netjail_bridge_clear $NETWORK_NET | 57 | netjail_bridge_clear $NETWORK_NET |