diff options
author | Joe Crayne <joe@jerkface.net> | 2020-01-12 04:10:38 -0500 |
---|---|---|
committer | Joe Crayne <joe@jerkface.net> | 2020-01-12 04:41:59 -0500 |
commit | f71f6139f4401474166a41b8918df7e29318c405 (patch) | |
tree | bdac89df06a3202a22013d7612dbf27331ad2f9d | |
parent | a7cc1e718b87240ef83e2c4abfd4f2efdd6a7e87 (diff) |
Scripts to run a toxcore DHT network on localhost.
-rw-r--r-- | dht/vnet/README.vnet.md | 2 | ||||
-rwxr-xr-x | dht/vnet/build.sh | 4 | ||||
-rwxr-xr-x | dht/vnet/core-build.sh | 183 | ||||
-rwxr-xr-x | dht/vnet/core-clean.sh | 46 | ||||
-rwxr-xr-x | dht/vnet/core-run.sh | 49 | ||||
-rwxr-xr-x | dht/vnet/core-screen-shell.sh | 58 | ||||
-rwxr-xr-x | dht/vnet/run.sh | 2 |
7 files changed, 342 insertions, 2 deletions
diff --git a/dht/vnet/README.vnet.md b/dht/vnet/README.vnet.md index caa84057..9bceb221 100644 --- a/dht/vnet/README.vnet.md +++ b/dht/vnet/README.vnet.md | |||
@@ -65,6 +65,8 @@ environments. The following man pages are relevant: | |||
65 | man 2 clone | 65 | man 2 clone |
66 | man 8 iptables | 66 | man 8 iptables |
67 | man 7 cgroups | 67 | man 7 cgroups |
68 | man 7 network_namespaces | ||
69 | man 1 nsenter | ||
68 | 70 | ||
69 | We need to bootstrap an instance of dhtd off of our test network and also an | 71 | We need to bootstrap an instance of dhtd off of our test network and also an |
70 | instance of uTox (or some other toxcore-based client) and get them to build a | 72 | instance of uTox (or some other toxcore-based client) and get them to build a |
diff --git a/dht/vnet/build.sh b/dht/vnet/build.sh index 5354969a..7f7787f0 100755 --- a/dht/vnet/build.sh +++ b/dht/vnet/build.sh | |||
@@ -72,7 +72,9 @@ buildtaps() { | |||
72 | 72 | ||
73 | buildtaps | 73 | buildtaps |
74 | 74 | ||
75 | num=$(ip addr show wlan0 | sed -n '/\s\+inet 192/ s/\s\+inet 192\.168\.[0-9]*\.\([0-9]*\).*$/\1/ p') | 75 | iface=$(ip route | awk '/^default/{ if ($4 == "dev") print($5); }') |
76 | iface=${iface:-wlan0} | ||
77 | num=$(ip addr show $iface | sed -n '/\s\+inet 192/ s/\s\+inet 192\.168\.[0-9]*\.\([0-9]*\).*$/\1/ p') | ||
76 | num=${num:-88} | 78 | num=${num:-88} |
77 | 79 | ||
78 | ip addr add 80.$num.99.99 dev ep0 | 80 | ip addr add 80.$num.99.99 dev ep0 |
diff --git a/dht/vnet/core-build.sh b/dht/vnet/core-build.sh new file mode 100755 index 00000000..1b8f3d8a --- /dev/null +++ b/dht/vnet/core-build.sh | |||
@@ -0,0 +1,183 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | set -x | ||
4 | |||
5 | buildveths() { | ||
6 | ip link add ve0 type veth peer name vep0 | ||
7 | ip link add ve1 type veth peer name vep1 | ||
8 | ip link add ve2 type veth peer name vep2 | ||
9 | ip link add ve3 type veth peer name vep3 | ||
10 | ip link add ve4 type veth peer name vep4 | ||
11 | ip link add ve5 type veth peer name vep5 | ||
12 | ip link add ve6 type veth peer name vep6 | ||
13 | ip link add ve7 type veth peer name vep7 | ||
14 | ip link add ve8 type veth peer name vep8 | ||
15 | ip link add ve9 type veth peer name vep9 | ||
16 | ip link add veA type veth peer name vepA | ||
17 | ip link add veB type veth peer name vepB | ||
18 | ip link add veC type veth peer name vepC | ||
19 | ip link add veD type veth peer name vepD | ||
20 | ip link add veE type veth peer name vepE | ||
21 | ip link add veF type veth peer name vepF | ||
22 | |||
23 | ip netns add vep0; ip link set vep0 netns vep0 | ||
24 | ip netns add vep1; ip link set vep1 netns vep1 | ||
25 | ip netns add vep2; ip link set vep2 netns vep2 | ||
26 | ip netns add vep3; ip link set vep3 netns vep3 | ||
27 | ip netns add vep4; ip link set vep4 netns vep4 | ||
28 | ip netns add vep5; ip link set vep5 netns vep5 | ||
29 | ip netns add vep6; ip link set vep6 netns vep6 | ||
30 | ip netns add vep7; ip link set vep7 netns vep7 | ||
31 | ip netns add vep8; ip link set vep8 netns vep8 | ||
32 | ip netns add vep9; ip link set vep9 netns vep9 | ||
33 | ip netns add vepA; ip link set vepA netns vepA | ||
34 | ip netns add vepB; ip link set vepB netns vepB | ||
35 | ip netns add vepC; ip link set vepC netns vepC | ||
36 | ip netns add vepD; ip link set vepD netns vepD | ||
37 | ip netns add vepE; ip link set vepE netns vepE | ||
38 | ip netns add vepF; ip link set vepF netns vepF | ||
39 | } | ||
40 | |||
41 | buildveths | ||
42 | |||
43 | iface=$(ip route | awk '/^default/{ if ($4 == "dev") print($5); }') | ||
44 | iface=${iface:-wlan0} | ||
45 | num=$(ip addr show $iface | sed -n '/\s\+inet 192/ s/\s\+inet 192\.168\.[0-9]*\.\([0-9]*\).*$/\1/ p') | ||
46 | num=${num:-88} | ||
47 | |||
48 | ip addr add 60.$num.99.98/31 dev ve0 | ||
49 | ip addr add 61.$num.99.98/31 dev ve1 | ||
50 | ip addr add 62.$num.99.98/31 dev ve2 | ||
51 | ip addr add 63.$num.99.98/31 dev ve3 | ||
52 | ip addr add 64.$num.99.98/31 dev ve4 | ||
53 | ip addr add 65.$num.99.98/31 dev ve5 | ||
54 | ip addr add 66.$num.99.98/31 dev ve6 | ||
55 | ip addr add 67.$num.99.98/31 dev ve7 | ||
56 | ip addr add 68.$num.99.98/31 dev ve8 | ||
57 | ip addr add 69.$num.99.98/31 dev ve9 | ||
58 | ip addr add 70.$num.99.98/31 dev veA | ||
59 | ip addr add 71.$num.99.98/31 dev veB | ||
60 | ip addr add 72.$num.99.98/31 dev veC | ||
61 | ip addr add 73.$num.99.98/31 dev veD | ||
62 | ip addr add 74.$num.99.98/31 dev veE | ||
63 | ip addr add 75.$num.99.98/31 dev veF | ||
64 | |||
65 | ip link set up dev ve0 | ||
66 | ip link set up dev ve1 | ||
67 | ip link set up dev ve2 | ||
68 | ip link set up dev ve3 | ||
69 | ip link set up dev ve4 | ||
70 | ip link set up dev ve5 | ||
71 | ip link set up dev ve6 | ||
72 | ip link set up dev ve7 | ||
73 | ip link set up dev ve8 | ||
74 | ip link set up dev ve9 | ||
75 | ip link set up dev veA | ||
76 | ip link set up dev veB | ||
77 | ip link set up dev veC | ||
78 | ip link set up dev veD | ||
79 | ip link set up dev veE | ||
80 | ip link set up dev veF | ||
81 | |||
82 | |||
83 | nsenter --net=/var/run/netns/vep0 ip addr add 60.$num.99.99/31 dev vep0 | ||
84 | nsenter --net=/var/run/netns/vep1 ip addr add 61.$num.99.99/31 dev vep1 | ||
85 | nsenter --net=/var/run/netns/vep2 ip addr add 62.$num.99.99/31 dev vep2 | ||
86 | nsenter --net=/var/run/netns/vep3 ip addr add 63.$num.99.99/31 dev vep3 | ||
87 | nsenter --net=/var/run/netns/vep4 ip addr add 64.$num.99.99/31 dev vep4 | ||
88 | nsenter --net=/var/run/netns/vep5 ip addr add 65.$num.99.99/31 dev vep5 | ||
89 | nsenter --net=/var/run/netns/vep6 ip addr add 66.$num.99.99/31 dev vep6 | ||
90 | nsenter --net=/var/run/netns/vep7 ip addr add 67.$num.99.99/31 dev vep7 | ||
91 | nsenter --net=/var/run/netns/vep8 ip addr add 68.$num.99.99/31 dev vep8 | ||
92 | nsenter --net=/var/run/netns/vep9 ip addr add 69.$num.99.99/31 dev vep9 | ||
93 | nsenter --net=/var/run/netns/vepA ip addr add 70.$num.99.99/31 dev vepA | ||
94 | nsenter --net=/var/run/netns/vepB ip addr add 71.$num.99.99/31 dev vepB | ||
95 | nsenter --net=/var/run/netns/vepC ip addr add 72.$num.99.99/31 dev vepC | ||
96 | nsenter --net=/var/run/netns/vepD ip addr add 73.$num.99.99/31 dev vepD | ||
97 | nsenter --net=/var/run/netns/vepE ip addr add 74.$num.99.99/31 dev vepE | ||
98 | nsenter --net=/var/run/netns/vepF ip addr add 75.$num.99.99/31 dev vepF | ||
99 | |||
100 | nsenter --net=/var/run/netns/vep0 ip link set up dev vep0 | ||
101 | nsenter --net=/var/run/netns/vep1 ip link set up dev vep1 | ||
102 | nsenter --net=/var/run/netns/vep2 ip link set up dev vep2 | ||
103 | nsenter --net=/var/run/netns/vep3 ip link set up dev vep3 | ||
104 | nsenter --net=/var/run/netns/vep4 ip link set up dev vep4 | ||
105 | nsenter --net=/var/run/netns/vep5 ip link set up dev vep5 | ||
106 | nsenter --net=/var/run/netns/vep6 ip link set up dev vep6 | ||
107 | nsenter --net=/var/run/netns/vep7 ip link set up dev vep7 | ||
108 | nsenter --net=/var/run/netns/vep8 ip link set up dev vep8 | ||
109 | nsenter --net=/var/run/netns/vep9 ip link set up dev vep9 | ||
110 | nsenter --net=/var/run/netns/vepA ip link set up dev vepA | ||
111 | nsenter --net=/var/run/netns/vepB ip link set up dev vepB | ||
112 | nsenter --net=/var/run/netns/vepC ip link set up dev vepC | ||
113 | nsenter --net=/var/run/netns/vepD ip link set up dev vepD | ||
114 | nsenter --net=/var/run/netns/vepE ip link set up dev vepE | ||
115 | nsenter --net=/var/run/netns/vepF ip link set up dev vepF | ||
116 | |||
117 | nsenter --net=/var/run/netns/vep0 ip route add default via 60.$num.99.98 | ||
118 | nsenter --net=/var/run/netns/vep1 ip route add default via 61.$num.99.98 | ||
119 | nsenter --net=/var/run/netns/vep2 ip route add default via 62.$num.99.98 | ||
120 | nsenter --net=/var/run/netns/vep3 ip route add default via 63.$num.99.98 | ||
121 | nsenter --net=/var/run/netns/vep4 ip route add default via 64.$num.99.98 | ||
122 | nsenter --net=/var/run/netns/vep5 ip route add default via 65.$num.99.98 | ||
123 | nsenter --net=/var/run/netns/vep6 ip route add default via 66.$num.99.98 | ||
124 | nsenter --net=/var/run/netns/vep7 ip route add default via 67.$num.99.98 | ||
125 | nsenter --net=/var/run/netns/vep8 ip route add default via 68.$num.99.98 | ||
126 | nsenter --net=/var/run/netns/vep9 ip route add default via 69.$num.99.98 | ||
127 | nsenter --net=/var/run/netns/vepA ip route add default via 70.$num.99.98 | ||
128 | nsenter --net=/var/run/netns/vepB ip route add default via 71.$num.99.98 | ||
129 | nsenter --net=/var/run/netns/vepC ip route add default via 72.$num.99.98 | ||
130 | nsenter --net=/var/run/netns/vepD ip route add default via 73.$num.99.98 | ||
131 | nsenter --net=/var/run/netns/vepE ip route add default via 74.$num.99.98 | ||
132 | nsenter --net=/var/run/netns/vepF ip route add default via 75.$num.99.98 | ||
133 | |||
134 | nsenter --net=/var/run/netns/vep0 ip addr add 127.0.0.1/8 dev lo | ||
135 | nsenter --net=/var/run/netns/vep1 ip addr add 127.0.0.1/8 dev lo | ||
136 | nsenter --net=/var/run/netns/vep2 ip addr add 127.0.0.1/8 dev lo | ||
137 | nsenter --net=/var/run/netns/vep3 ip addr add 127.0.0.1/8 dev lo | ||
138 | nsenter --net=/var/run/netns/vep4 ip addr add 127.0.0.1/8 dev lo | ||
139 | nsenter --net=/var/run/netns/vep5 ip addr add 127.0.0.1/8 dev lo | ||
140 | nsenter --net=/var/run/netns/vep6 ip addr add 127.0.0.1/8 dev lo | ||
141 | nsenter --net=/var/run/netns/vep7 ip addr add 127.0.0.1/8 dev lo | ||
142 | nsenter --net=/var/run/netns/vep8 ip addr add 127.0.0.1/8 dev lo | ||
143 | nsenter --net=/var/run/netns/vep9 ip addr add 127.0.0.1/8 dev lo | ||
144 | nsenter --net=/var/run/netns/vepA ip addr add 127.0.0.1/8 dev lo | ||
145 | nsenter --net=/var/run/netns/vepB ip addr add 127.0.0.1/8 dev lo | ||
146 | nsenter --net=/var/run/netns/vepC ip addr add 127.0.0.1/8 dev lo | ||
147 | nsenter --net=/var/run/netns/vepD ip addr add 127.0.0.1/8 dev lo | ||
148 | nsenter --net=/var/run/netns/vepE ip addr add 127.0.0.1/8 dev lo | ||
149 | nsenter --net=/var/run/netns/vepF ip addr add 127.0.0.1/8 dev lo | ||
150 | |||
151 | nsenter --net=/var/run/netns/vep0 ip addr add ::1/128 dev lo | ||
152 | nsenter --net=/var/run/netns/vep1 ip addr add ::1/128 dev lo | ||
153 | nsenter --net=/var/run/netns/vep2 ip addr add ::1/128 dev lo | ||
154 | nsenter --net=/var/run/netns/vep3 ip addr add ::1/128 dev lo | ||
155 | nsenter --net=/var/run/netns/vep4 ip addr add ::1/128 dev lo | ||
156 | nsenter --net=/var/run/netns/vep5 ip addr add ::1/128 dev lo | ||
157 | nsenter --net=/var/run/netns/vep6 ip addr add ::1/128 dev lo | ||
158 | nsenter --net=/var/run/netns/vep7 ip addr add ::1/128 dev lo | ||
159 | nsenter --net=/var/run/netns/vep8 ip addr add ::1/128 dev lo | ||
160 | nsenter --net=/var/run/netns/vep9 ip addr add ::1/128 dev lo | ||
161 | nsenter --net=/var/run/netns/vepA ip addr add ::1/128 dev lo | ||
162 | nsenter --net=/var/run/netns/vepB ip addr add ::1/128 dev lo | ||
163 | nsenter --net=/var/run/netns/vepC ip addr add ::1/128 dev lo | ||
164 | nsenter --net=/var/run/netns/vepD ip addr add ::1/128 dev lo | ||
165 | nsenter --net=/var/run/netns/vepE ip addr add ::1/128 dev lo | ||
166 | nsenter --net=/var/run/netns/vepF ip addr add ::1/128 dev lo | ||
167 | |||
168 | nsenter --net=/var/run/netns/vep0 ip link set up dev lo | ||
169 | nsenter --net=/var/run/netns/vep1 ip link set up dev lo | ||
170 | nsenter --net=/var/run/netns/vep2 ip link set up dev lo | ||
171 | nsenter --net=/var/run/netns/vep3 ip link set up dev lo | ||
172 | nsenter --net=/var/run/netns/vep4 ip link set up dev lo | ||
173 | nsenter --net=/var/run/netns/vep5 ip link set up dev lo | ||
174 | nsenter --net=/var/run/netns/vep6 ip link set up dev lo | ||
175 | nsenter --net=/var/run/netns/vep7 ip link set up dev lo | ||
176 | nsenter --net=/var/run/netns/vep8 ip link set up dev lo | ||
177 | nsenter --net=/var/run/netns/vep9 ip link set up dev lo | ||
178 | nsenter --net=/var/run/netns/vepA ip link set up dev lo | ||
179 | nsenter --net=/var/run/netns/vepB ip link set up dev lo | ||
180 | nsenter --net=/var/run/netns/vepC ip link set up dev lo | ||
181 | nsenter --net=/var/run/netns/vepD ip link set up dev lo | ||
182 | nsenter --net=/var/run/netns/vepE ip link set up dev lo | ||
183 | nsenter --net=/var/run/netns/vepF ip link set up dev lo | ||
diff --git a/dht/vnet/core-clean.sh b/dht/vnet/core-clean.sh new file mode 100755 index 00000000..e905c61a --- /dev/null +++ b/dht/vnet/core-clean.sh | |||
@@ -0,0 +1,46 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | cleanveths() | ||
4 | { | ||
5 | ip link del ve0 | ||
6 | ip link del ve1 | ||
7 | ip link del ve2 | ||
8 | ip link del ve3 | ||
9 | ip link del ve4 | ||
10 | ip link del ve5 | ||
11 | ip link del ve6 | ||
12 | ip link del ve7 | ||
13 | |||
14 | ip link del ve8 | ||
15 | ip link del ve9 | ||
16 | ip link del veA | ||
17 | ip link del veB | ||
18 | ip link del veC | ||
19 | ip link del veD | ||
20 | ip link del veE | ||
21 | ip link del veF | ||
22 | } | ||
23 | |||
24 | set -x | ||
25 | |||
26 | cleanveths | ||
27 | |||
28 | rm -rf ve0 ve1 ve2 ve3 ve4 ve5 ve6 ve7 \ | ||
29 | ve8 ve9 veA veB veC veD veE veF | ||
30 | |||
31 | ip netns del vep0 | ||
32 | ip netns del vep1 | ||
33 | ip netns del vep2 | ||
34 | ip netns del vep3 | ||
35 | ip netns del vep4 | ||
36 | ip netns del vep5 | ||
37 | ip netns del vep6 | ||
38 | ip netns del vep7 | ||
39 | ip netns del vep8 | ||
40 | ip netns del vep9 | ||
41 | ip netns del vepA | ||
42 | ip netns del vepB | ||
43 | ip netns del vepC | ||
44 | ip netns del vepD | ||
45 | ip netns del vepE | ||
46 | ip netns del vepF | ||
diff --git a/dht/vnet/core-run.sh b/dht/vnet/core-run.sh new file mode 100755 index 00000000..b2db5354 --- /dev/null +++ b/dht/vnet/core-run.sh | |||
@@ -0,0 +1,49 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | [ -L ./DHT_bootstrap ] || { echo "Missing symbolic link to DHT_bootstrap." ; exit 1 ; } | ||
4 | |||
5 | rm -rf ve0 ve1 ve2 ve3 ve4 ve5 ve6 ve7 ve8 ve9 veA veB veC veD veE veF | ||
6 | echo nobody > core-user | ||
7 | user=$(cat core-user) | ||
8 | mkdir -p ve0 ve1 ve2 ve3 ve4 ve5 ve6 ve7 ve8 ve9 veA veB veC veD veE veF | ||
9 | chown $user ve0 ve1 ve2 ve3 ve4 ve5 ve6 ve7 ve8 ve9 veA veB veC veD veE veF | ||
10 | |||
11 | rm -f core-count | ||
12 | echo detach > core-detached | ||
13 | |||
14 | set -x | ||
15 | |||
16 | screen -S core-test -s ./core-screen-shell.sh -c core-detached | ||
17 | sleep 3 | ||
18 | screen -S core-test -X screen | ||
19 | sleep 0.5 | ||
20 | screen -S core-test -X screen | ||
21 | sleep 0.5 | ||
22 | screen -S core-test -X screen | ||
23 | sleep 0.5 | ||
24 | |||
25 | screen -S core-test -X screen | ||
26 | sleep 0.5 | ||
27 | screen -S core-test -X screen | ||
28 | sleep 0.5 | ||
29 | screen -S core-test -X screen | ||
30 | sleep 0.5 | ||
31 | screen -S core-test -X screen | ||
32 | sleep 0.5 | ||
33 | |||
34 | screen -S core-test -X screen | ||
35 | sleep 0.5 | ||
36 | screen -S core-test -X screen | ||
37 | sleep 0.5 | ||
38 | screen -S core-test -X screen | ||
39 | sleep 0.5 | ||
40 | screen -S core-test -X screen | ||
41 | sleep 0.5 | ||
42 | |||
43 | screen -S core-test -X screen | ||
44 | sleep 0.5 | ||
45 | screen -S core-test -X screen | ||
46 | sleep 0.5 | ||
47 | screen -S core-test -X screen | ||
48 | sleep 0.5 | ||
49 | screen -S core-test -X screen | ||
diff --git a/dht/vnet/core-screen-shell.sh b/dht/vnet/core-screen-shell.sh new file mode 100755 index 00000000..012c8540 --- /dev/null +++ b/dht/vnet/core-screen-shell.sh | |||
@@ -0,0 +1,58 @@ | |||
1 | #!/bin/bash | ||
2 | digit=$1 | ||
3 | [ -z "$digit" ] && { | ||
4 | touch core-count | ||
5 | count=$(cat core-count) | ||
6 | count=${count:-(-1)} | ||
7 | count=$(( $count + 1 )) | ||
8 | echo $count > core-count | ||
9 | digit=$(printf '%X' $count) | ||
10 | user=$(cat core-user) | ||
11 | ( | ||
12 | cd ve$digit | ||
13 | port=$(( 33400 + $count )) | ||
14 | echo nsenter --net=/var/run/netns/vep$digit chpst -u $user ../$0 $digit $port > cmd0 | ||
15 | exec nsenter --net=/var/run/netns/vep$digit chpst -u $user ../$0 $digit $port | ||
16 | exit 1 | ||
17 | ) | ||
18 | } | ||
19 | port=$2 | ||
20 | |||
21 | addr=$(ip -o address show dev vep$digit | sed -n 's#.* inet \([^ /]*\).*#\1#p') | ||
22 | echo $addr | ||
23 | pwd | ||
24 | whoami | ||
25 | # Usage (connected) : ./DHT_bootstrap [--ipv4|--ipv6] IP PORT KEY | ||
26 | # Usage (unconnected): ./DHT_bootstrap [--ipv4|--ipv6] | ||
27 | |||
28 | if [ "$digit" = 0 ] | ||
29 | then | ||
30 | echo $$ > pid | ||
31 | echo ../DHT_bootstrap > cmd.txt | ||
32 | echo $addr > addr.txt | ||
33 | { | ||
34 | sleep 0.5 | ||
35 | echo IP: $addr >> PUBLIC_ID.txt | ||
36 | } & | ||
37 | exec ../DHT_bootstrap | ||
38 | else | ||
39 | vars='{ | ||
40 | if( boot_key == "" ) { boot_key=$0 ; print("boot_key=" boot_key) } | ||
41 | else if( $1 == "Port:" ) print("boot_port=" $2); | ||
42 | else if( $1 == "IP:" ) print("boot_ip=" $2); | ||
43 | }' | ||
44 | boot_ip= | ||
45 | boot_port= | ||
46 | boot_key= | ||
47 | awk "$vars" ../ve0/PUBLIC_ID.txt > vars.txt 2>&1 | ||
48 | . vars.txt | ||
49 | echo ../DHT_bootstrap $boot_ip $boot_port $boot_key > cmd.txt | ||
50 | echo $$ > pid | ||
51 | echo $addr > addr.txt | ||
52 | { | ||
53 | sleep 0.5 | ||
54 | echo IP: $addr >> PUBLIC_ID.txt | ||
55 | } & | ||
56 | exec ../DHT_bootstrap $boot_ip $boot_port $boot_key | ||
57 | fi | ||
58 | sleep 30 | ||
diff --git a/dht/vnet/run.sh b/dht/vnet/run.sh index 0189b6b7..16854026 100755 --- a/dht/vnet/run.sh +++ b/dht/vnet/run.sh | |||
@@ -1,6 +1,6 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | 2 | ||
3 | [ -L ./dhtd ] || ( echo "Missing symbolic link to your build: ./dhtd" ; exit 1 ) | 3 | [ -L ./dhtd ] || { echo "Missing symbolic link to your build: ./dhtd" ; exit 1; } |
4 | 4 | ||
5 | mkdir -p ep0 ep1 ep2 ep3 ep4 ep5 ep6 ep7 \ | 5 | mkdir -p ep0 ep1 ep2 ep3 ep4 ep5 ep6 ep7 \ |
6 | ep8 ep9 epA epB epC epD epE epF | 6 | ep8 ep9 epA epB epC epD epE epF |