aboutsummaryrefslogtreecommitdiff
path: root/contrib/scripts/netjail/netjail_setup_internet.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/scripts/netjail/netjail_setup_internet.sh')
-rwxr-xr-xcontrib/scripts/netjail/netjail_setup_internet.sh54
1 files changed, 38 insertions, 16 deletions
diff --git a/contrib/scripts/netjail/netjail_setup_internet.sh b/contrib/scripts/netjail/netjail_setup_internet.sh
index 7ff25c014..de8ef8f15 100755
--- a/contrib/scripts/netjail/netjail_setup_internet.sh
+++ b/contrib/scripts/netjail/netjail_setup_internet.sh
@@ -31,6 +31,7 @@ netjail_check_bin $1
31LOCAL_GROUP="192.168.15" 31LOCAL_GROUP="192.168.15"
32GLOBAL_GROUP="92.68.150" 32GLOBAL_GROUP="92.68.150"
33 33
34CLEANUP=0
34echo "Start [local: $LOCAL_GROUP.0/24, global: $GLOBAL_GROUP.0/24, stun: $STUN]" 35echo "Start [local: $LOCAL_GROUP.0/24, global: $GLOBAL_GROUP.0/24, stun: $STUN]"
35 36
36NETWORK_NET=$(netjail_print_name "n" $GLOBAL_N $LOCAL_M) 37NETWORK_NET=$(netjail_print_name "n" $GLOBAL_N $LOCAL_M)
@@ -90,26 +91,47 @@ for N in $(seq $GLOBAL_N); do
90 done 91 done
91done 92done
92 93
93for PID in $WAITING; do wait $PID; done 94cleanup() {
94for PID in $KILLING; do netjail_kill $PID; done 95 if [ $STUN -gt 0 ]; then
95wait 96 STUN_NODE=$(netjail_print_name "S" 254)
96 97
97if [ $STUN -gt 0 ]; then 98 netjail_node_unlink_bridge $STUN_NODE $NETWORK_NET
98 STUN_NODE=$(netjail_print_name "S" 254) 99 netjail_node_clear $STUN_NODE
100 fi
99 101
100 netjail_node_unlink_bridge $STUN_NODE $NETWORK_NET 102 for N in $(seq $GLOBAL_N); do
101 netjail_node_clear $STUN_NODE 103 ROUTER_NET=$(netjail_print_name "r" $N)
102fi
103 104
104for N in $(seq $GLOBAL_N); do 105 for M in $(seq $LOCAL_M); do
105 for M in $(seq $LOCAL_M); do 106 NODE=$(netjail_print_name "N" $N $M)
106 netjail_node_clear $(netjail_print_name "N" $N $M) 107
108 netjail_node_unlink_bridge $NODE $ROUTER_NET
109 netjail_node_clear $NODE
110 done
111
112 ROUTER=$(netjail_print_name "R" $N)
113
114 netjail_bridge_clear $ROUTER_NET
115 netjail_node_unlink_bridge $ROUTER $NETWORK_NET
116 netjail_node_clear $ROUTER
107 done 117 done
108
109 netjail_bridge_clear $(netjail_print_name "r" $N)
110 netjail_node_clear $(netjail_print_name "R" $N)
111done
112 118
113netjail_bridge_clear $NETWORK_NET 119 netjail_bridge_clear $NETWORK_NET
120}
121
122trapped_cleanup() {
123 netjail_killall $WAITING
124 netjail_killall $KILLING
125
126 cleanup
127}
128
129trap 'trapped_cleanup' 2
130
131netjail_waitall $WAITING
132netjail_killall $KILLING
133wait
134
135cleanup
114 136
115echo "Done" 137echo "Done"