1 1.5 ozaki # $NetBSD: t_l2tp.sh,v 1.5 2019/08/19 03:22:05 ozaki-r Exp $ 2 1.1 knakahar # 3 1.1 knakahar # Copyright (c) 2017 Internet Initiative Japan Inc. 4 1.1 knakahar # All rights reserved. 5 1.1 knakahar # 6 1.1 knakahar # Redistribution and use in source and binary forms, with or without 7 1.1 knakahar # modification, are permitted provided that the following conditions 8 1.1 knakahar # are met: 9 1.1 knakahar # 1. Redistributions of source code must retain the above copyright 10 1.1 knakahar # notice, this list of conditions and the following disclaimer. 11 1.1 knakahar # 2. Redistributions in binary form must reproduce the above copyright 12 1.1 knakahar # notice, this list of conditions and the following disclaimer in the 13 1.1 knakahar # documentation and/or other materials provided with the distribution. 14 1.1 knakahar # 15 1.1 knakahar # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 16 1.1 knakahar # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 17 1.1 knakahar # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 18 1.1 knakahar # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 19 1.1 knakahar # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 20 1.1 knakahar # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 21 1.1 knakahar # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 22 1.1 knakahar # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 23 1.1 knakahar # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 24 1.1 knakahar # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 25 1.1 knakahar # POSSIBILITY OF SUCH DAMAGE. 26 1.1 knakahar # 27 1.1 knakahar 28 1.1 knakahar LAC1SOCK=unix://commsock1 29 1.1 knakahar LAC2SOCK=unix://commsock2 30 1.1 knakahar CLIENT1SOCK=unix://commsock3 31 1.1 knakahar CLIENT2SOCK=unix://commsock4 32 1.1 knakahar 33 1.1 knakahar WAN_LINK=bus0 34 1.1 knakahar LAC1_LAN_LINK=bus1 35 1.1 knakahar LAC2_LAN_LINK=bus2 36 1.1 knakahar 37 1.1 knakahar LAC1_WANIP=10.0.0.1 38 1.1 knakahar LAC1_SESSION=1234 39 1.1 knakahar CLIENT1_LANIP=192.168.1.1 40 1.1 knakahar LAC2_WANIP=10.0.0.2 41 1.1 knakahar LAC2_SESSION=4321 42 1.1 knakahar CLIENT2_LANIP=192.168.1.2 43 1.1 knakahar 44 1.1 knakahar LAC1_WANIP6=fc00::1 45 1.1 knakahar CLIENT1_LANIP6=fc00:1::1 46 1.1 knakahar LAC2_WANIP6=fc00::2 47 1.1 knakahar CLIENT2_LANIP6=fc00:1::2 48 1.1 knakahar 49 1.1 knakahar TIMEOUT=5 50 1.1 knakahar DEBUG=${DEBUG:-false} 51 1.1 knakahar 52 1.4 ozaki atf_test_case l2tp_create_destroy cleanup 53 1.4 ozaki l2tp_create_destroy_head() 54 1.4 ozaki { 55 1.4 ozaki 56 1.4 ozaki atf_set "descr" "Test creating/destroying l2tp interfaces" 57 1.4 ozaki atf_set "require.progs" "rump_server" 58 1.4 ozaki } 59 1.4 ozaki 60 1.4 ozaki l2tp_create_destroy_body() 61 1.4 ozaki { 62 1.4 ozaki 63 1.4 ozaki rump_server_start $LAC1SOCK l2tp 64 1.4 ozaki 65 1.4 ozaki test_create_destroy_common $LAC1SOCK l2tp0 66 1.4 ozaki } 67 1.4 ozaki 68 1.4 ozaki l2tp_create_destroy_cleanup() 69 1.4 ozaki { 70 1.4 ozaki 71 1.4 ozaki $DEBUG && dump 72 1.4 ozaki cleanup 73 1.4 ozaki } 74 1.4 ozaki 75 1.1 knakahar setup_lac() 76 1.1 knakahar { 77 1.1 knakahar sock=${1} 78 1.1 knakahar lanlink=${2} 79 1.1 knakahar wan=${3} 80 1.1 knakahar wan_mode=${4} 81 1.1 knakahar 82 1.1 knakahar 83 1.1 knakahar rump_server_add_iface ${sock} shmif0 ${lanlink} 84 1.1 knakahar rump_server_add_iface ${sock} shmif1 ${WAN_LINK} 85 1.1 knakahar 86 1.1 knakahar export RUMP_SERVER=${sock} 87 1.1 knakahar 88 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then 89 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 inet6 ${wan} 90 1.1 knakahar else 91 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 inet ${wan} netmask 0xff000000 92 1.1 knakahar fi 93 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 up 94 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif1 up 95 1.1 knakahar 96 1.1 knakahar unset RUMP_SERVER 97 1.1 knakahar } 98 1.1 knakahar 99 1.1 knakahar test_lac() 100 1.1 knakahar { 101 1.1 knakahar sock=${1} 102 1.1 knakahar wan=${2} 103 1.1 knakahar wan_mode=${3} 104 1.1 knakahar 105 1.1 knakahar export RUMP_SERVER=${sock} 106 1.1 knakahar 107 1.1 knakahar atf_check -s exit:0 -o match:shmif0 rump.ifconfig 108 1.1 knakahar atf_check -s exit:0 -o match:shmif1 rump.ifconfig 109 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then 110 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${wan} 111 1.1 knakahar else 112 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${wan} 113 1.1 knakahar fi 114 1.1 knakahar 115 1.1 knakahar unset RUMP_SERVER 116 1.1 knakahar } 117 1.1 knakahar 118 1.1 knakahar setup_client() 119 1.1 knakahar { 120 1.1 knakahar sock=${1} 121 1.1 knakahar lanlink=${2} 122 1.1 knakahar lan=${3} 123 1.1 knakahar lan_mode=${4} 124 1.1 knakahar 125 1.1 knakahar rump_server_add_iface ${sock} shmif0 ${lanlink} 126 1.1 knakahar 127 1.1 knakahar export RUMP_SERVER=${sock} 128 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then 129 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 inet6 ${lan} 130 1.1 knakahar else 131 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 inet ${lan} netmask 0xffffff00 132 1.1 knakahar fi 133 1.1 knakahar atf_check -s exit:0 rump.ifconfig shmif0 up 134 1.1 knakahar 135 1.1 knakahar unset RUMP_SERVER 136 1.1 knakahar } 137 1.1 knakahar 138 1.1 knakahar test_client() 139 1.1 knakahar { 140 1.1 knakahar sock=${1} 141 1.1 knakahar lan=${2} 142 1.1 knakahar lan_mode=${3} 143 1.1 knakahar 144 1.1 knakahar export RUMP_SERVER=${sock} 145 1.1 knakahar 146 1.1 knakahar atf_check -s exit:0 -o match:shmif0 rump.ifconfig 147 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then 148 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${lan} 149 1.1 knakahar else 150 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${lan} 151 1.1 knakahar fi 152 1.1 knakahar 153 1.1 knakahar unset RUMP_SERVER 154 1.1 knakahar } 155 1.1 knakahar 156 1.1 knakahar setup() 157 1.1 knakahar { 158 1.1 knakahar lan_mode=${1} 159 1.1 knakahar wan_mode=${2} 160 1.1 knakahar 161 1.1 knakahar rump_server_start $LAC1SOCK netinet6 bridge l2tp 162 1.1 knakahar rump_server_start $LAC2SOCK netinet6 bridge l2tp 163 1.1 knakahar rump_server_start $CLIENT1SOCK netinet6 bridge l2tp 164 1.1 knakahar rump_server_start $CLIENT2SOCK netinet6 bridge l2tp 165 1.1 knakahar 166 1.1 knakahar client1_lan="" 167 1.1 knakahar client2_lan="" 168 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then 169 1.1 knakahar client1_lan=${CLIENT1_LANIP6} 170 1.1 knakahar client2_lan=${CLIENT2_LANIP6} 171 1.1 knakahar else 172 1.1 knakahar client1_lan=${CLIENT1_LANIP} 173 1.1 knakahar client2_lan=${CLIENT2_LANIP} 174 1.1 knakahar fi 175 1.1 knakahar 176 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then 177 1.1 knakahar setup_lac $LAC1SOCK $LAC1_LAN_LINK $LAC1_WANIP6 ${wan_mode} 178 1.1 knakahar setup_lac $LAC2SOCK $LAC2_LAN_LINK $LAC2_WANIP6 ${wan_mode} 179 1.1 knakahar setup_client $CLIENT1SOCK $LAC1_LAN_LINK \ 180 1.1 knakahar ${client1_lan} ${lan_mode} 181 1.1 knakahar setup_client $CLIENT2SOCK $LAC2_LAN_LINK \ 182 1.1 knakahar ${client2_lan} ${lan_mode} 183 1.1 knakahar else 184 1.1 knakahar setup_lac $LAC1SOCK $LAC1_LAN_LINK $LAC1_WANIP ${wan_mode} 185 1.1 knakahar setup_lac $LAC2SOCK $LAC2_LAN_LINK $LAC2_WANIP ${wan_mode} 186 1.1 knakahar setup_client $CLIENT1SOCK $LAC1_LAN_LINK \ 187 1.1 knakahar ${client1_lan} ${lan_mode} 188 1.1 knakahar setup_client $CLIENT2SOCK $LAC2_LAN_LINK \ 189 1.1 knakahar ${client2_lan} ${lan_mode} 190 1.1 knakahar fi 191 1.1 knakahar } 192 1.1 knakahar 193 1.1 knakahar test_setup() 194 1.1 knakahar { 195 1.1 knakahar lan_mode=${1} 196 1.1 knakahar wan_mode=${2} 197 1.1 knakahar 198 1.1 knakahar client1_lan="" 199 1.1 knakahar client2_lan="" 200 1.1 knakahar if [ ${lan_mode} = "ipv6" ]; then 201 1.1 knakahar client1_lan=$CLIENT1_LANIP6 202 1.1 knakahar client2_lan=$CLIENT2_LANIP6 203 1.1 knakahar else 204 1.1 knakahar client1_lan=$CLIENT1_LANIP 205 1.1 knakahar client2_lan=$CLIENT2_LANIP 206 1.1 knakahar fi 207 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then 208 1.1 knakahar test_lac ${LAC1SOCK} $LAC1_WANIP6 ${wan_mode} 209 1.1 knakahar test_lac ${LAC2SOCK} $LAC2_WANIP6 ${wan_mode} 210 1.1 knakahar test_client ${CLIENT1SOCK} ${client1_lan} ${lan_mode} 211 1.1 knakahar test_client ${CLIENT2SOCK} ${client2_lan} ${lan_mode} 212 1.1 knakahar else 213 1.1 knakahar test_lac ${LAC1SOCK} $LAC1_WANIP ${wan_mode} 214 1.1 knakahar test_lac ${LAC2SOCK} $LAC2_WANIP ${wan_mode} 215 1.1 knakahar test_client ${CLIENT1SOCK} ${client1_lan} ${lan_mode} 216 1.1 knakahar test_client ${CLIENT2SOCK} ${client2_lan} ${lan_mode} 217 1.1 knakahar fi 218 1.1 knakahar } 219 1.1 knakahar 220 1.1 knakahar setup_if_l2tp() 221 1.1 knakahar { 222 1.1 knakahar sock=${1} 223 1.1 knakahar src=${2} 224 1.1 knakahar dst=${3} 225 1.1 knakahar src_session=${4} 226 1.1 knakahar dst_session=${5} 227 1.1 knakahar 228 1.1 knakahar export RUMP_SERVER=${sock} 229 1.1 knakahar 230 1.5 ozaki rump_server_add_iface $sock l2tp0 231 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 tunnel ${src} ${dst} 232 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 session ${src_session} ${dst_session} 233 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 up 234 1.1 knakahar 235 1.5 ozaki rump_server_add_iface $sock bridge0 236 1.1 knakahar atf_check -s exit:0 rump.ifconfig bridge0 up 237 1.1 knakahar export LD_PRELOAD=/usr/lib/librumphijack.so 238 1.1 knakahar atf_check -s exit:0 brconfig bridge0 add shmif0 239 1.1 knakahar atf_check -s exit:0 brconfig bridge0 add l2tp0 240 1.1 knakahar unset LD_PRELOAD 241 1.1 knakahar 242 1.1 knakahar $DEBUG && rump.ifconfig -v l2tp0 243 1.1 knakahar $DEBUG && rump.ifconfig -v bridge0 244 1.1 knakahar 245 1.1 knakahar unset RUMP_SERVER 246 1.1 knakahar } 247 1.1 knakahar 248 1.1 knakahar setup_tunnel() 249 1.1 knakahar { 250 1.1 knakahar wan_mode=${1} 251 1.1 knakahar 252 1.1 knakahar src="" 253 1.1 knakahar dst="" 254 1.1 knakahar src_session="" 255 1.1 knakahar dst_session="" 256 1.1 knakahar 257 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then 258 1.1 knakahar src=$LAC1_WANIP6 259 1.1 knakahar dst=$LAC2_WANIP6 260 1.1 knakahar else 261 1.1 knakahar src=$LAC1_WANIP 262 1.1 knakahar dst=$LAC2_WANIP 263 1.1 knakahar fi 264 1.1 knakahar src_session=${LAC1_SESSION} 265 1.1 knakahar dst_session=${LAC2_SESSION} 266 1.1 knakahar setup_if_l2tp $LAC1SOCK ${src} ${dst} ${src_session} ${dst_session} 267 1.1 knakahar 268 1.1 knakahar if [ ${wan_mode} = "ipv6" ]; then 269 1.1 knakahar src=$LAC2_WANIP6 270 1.1 knakahar dst=$LAC1_WANIP6 271 1.1 knakahar else 272 1.1 knakahar src=$LAC2_WANIP 273 1.1 knakahar dst=$LAC1_WANIP 274 1.1 knakahar fi 275 1.1 knakahar src_session=${LAC2_SESSION} 276 1.1 knakahar dst_session=${LAC1_SESSION} 277 1.1 knakahar setup_if_l2tp $LAC2SOCK ${src} ${dst} ${src_session} ${dst_session} 278 1.1 knakahar } 279 1.1 knakahar 280 1.1 knakahar test_setup_tunnel() 281 1.1 knakahar { 282 1.1 knakahar mode=${1} 283 1.1 knakahar 284 1.1 knakahar if [ ${mode} = "ipv6" ]; then 285 1.1 knakahar lac1_wan=$LAC1_WANIP6 286 1.1 knakahar lac2_wan=$LAC2_WANIP6 287 1.1 knakahar else 288 1.1 knakahar lac1_wan=$LAC1_WANIP 289 1.1 knakahar lac2_wan=$LAC2_WANIP 290 1.1 knakahar fi 291 1.1 knakahar export RUMP_SERVER=$LAC1SOCK 292 1.1 knakahar atf_check -s exit:0 -o match:l2tp0 rump.ifconfig 293 1.1 knakahar if [ ${mode} = "ipv6" ]; then 294 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${lac2_wan} 295 1.1 knakahar else 296 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${lac2_wan} 297 1.1 knakahar fi 298 1.1 knakahar 299 1.1 knakahar export RUMP_SERVER=$LAC2SOCK 300 1.1 knakahar atf_check -s exit:0 -o match:l2tp0 rump.ifconfig 301 1.1 knakahar if [ ${mode} = "ipv6" ]; then 302 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping6 -n -c 1 -X $TIMEOUT ${lac1_wan} 303 1.1 knakahar else 304 1.1 knakahar atf_check -s exit:0 -o ignore rump.ping -n -c 1 -w $TIMEOUT ${lac1_wan} 305 1.1 knakahar fi 306 1.1 knakahar 307 1.1 knakahar unset RUMP_SERVER 308 1.1 knakahar } 309 1.1 knakahar 310 1.1 knakahar teardown_tunnel() 311 1.1 knakahar { 312 1.1 knakahar export RUMP_SERVER=$LAC1SOCK 313 1.1 knakahar atf_check -s exit:0 rump.ifconfig bridge0 destroy 314 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 deletetunnel 315 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 destroy 316 1.1 knakahar 317 1.1 knakahar export RUMP_SERVER=$LAC2SOCK 318 1.1 knakahar atf_check -s exit:0 rump.ifconfig bridge0 destroy 319 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 deletetunnel 320 1.1 knakahar atf_check -s exit:0 rump.ifconfig l2tp0 destroy 321 1.1 knakahar 322 1.1 knakahar unset RUMP_SERVER 323 1.1 knakahar } 324 1.1 knakahar 325 1.1 knakahar test_ping_failure() 326 1.1 knakahar { 327 1.1 knakahar mode=$1 328 1.1 knakahar 329 1.1 knakahar export RUMP_SERVER=$CLIENT1SOCK 330 1.1 knakahar if [ ${mode} = "ipv6" ]; then 331 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \ 332 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $CLIENT2_LANIP6 333 1.1 knakahar else 334 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \ 335 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 $CLIENT2_LANIP 336 1.1 knakahar fi 337 1.1 knakahar 338 1.1 knakahar export RUMP_SERVER=$CLIENT2SOCK 339 1.1 knakahar if [ ${mode} = "ipv6" ]; then 340 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \ 341 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $CLIENT1_LANIP6 342 1.1 knakahar else 343 1.1 knakahar atf_check -s not-exit:0 -o ignore -e ignore \ 344 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 $CLIENT1_LANIP 345 1.1 knakahar fi 346 1.1 knakahar 347 1.1 knakahar unset RUMP_SERVER 348 1.1 knakahar } 349 1.1 knakahar 350 1.1 knakahar test_ping_success() 351 1.1 knakahar { 352 1.1 knakahar mode=$1 353 1.1 knakahar 354 1.1 knakahar export RUMP_SERVER=$CLIENT1SOCK 355 1.1 knakahar if [ ${mode} = "ipv6" ]; then 356 1.1 knakahar # XXX 357 1.1 knakahar # rump.ping6 rarely fails with the message that 358 1.1 knakahar # "failed to get receiving hop limit". 359 1.1 knakahar # This is a known issue being analyzed. 360 1.1 knakahar atf_check -s exit:0 -o ignore \ 361 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $CLIENT2_LANIP6 362 1.1 knakahar else 363 1.1 knakahar atf_check -s exit:0 -o ignore \ 364 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 $CLIENT2_LANIP 365 1.1 knakahar fi 366 1.1 knakahar export RUMP_SERVER=$LAC1SOCK 367 1.1 knakahar $DEBUG && rump.ifconfig -v l2tp0 368 1.1 knakahar $DEBUG && rump.ifconfig -v bridge0 369 1.1 knakahar $DEBUG && rump.ifconfig -v shmif0 370 1.1 knakahar 371 1.1 knakahar export RUMP_SERVER=$CLIENT2SOCK 372 1.1 knakahar if [ ${mode} = "ipv6" ]; then 373 1.1 knakahar atf_check -s exit:0 -o ignore \ 374 1.1 knakahar rump.ping6 -n -X $TIMEOUT -c 1 $CLIENT1_LANIP6 375 1.1 knakahar else 376 1.1 knakahar atf_check -s exit:0 -o ignore \ 377 1.1 knakahar rump.ping -n -w $TIMEOUT -c 1 $CLIENT1_LANIP 378 1.1 knakahar fi 379 1.1 knakahar export RUMP_SERVER=$LAC2SOCK 380 1.1 knakahar $DEBUG && rump.ifconfig -v l2tp0 381 1.1 knakahar $DEBUG && rump.ifconfig -v bridge0 382 1.1 knakahar $DEBUG && rump.ifconfig -v shmif0 383 1.1 knakahar 384 1.1 knakahar unset RUMP_SERVER 385 1.1 knakahar } 386 1.1 knakahar 387 1.1 knakahar basic_setup() 388 1.1 knakahar { 389 1.1 knakahar lan_mode=$1 390 1.1 knakahar wan_mode=$2 391 1.1 knakahar 392 1.1 knakahar setup ${lan_mode} ${wan_mode} 393 1.1 knakahar test_setup ${lan_mode} ${wan_mode} 394 1.1 knakahar 395 1.1 knakahar # Enable once PR kern/49219 is fixed 396 1.1 knakahar #test_ping_failure 397 1.1 knakahar 398 1.1 knakahar setup_tunnel ${wan_mode} 399 1.1 knakahar sleep 1 400 1.1 knakahar test_setup_tunnel ${wan_mode} 401 1.1 knakahar } 402 1.1 knakahar 403 1.1 knakahar basic_test() 404 1.1 knakahar { 405 1.1 knakahar lan_mode=$1 406 1.1 knakahar wan_mode=$2 # not use 407 1.1 knakahar 408 1.1 knakahar test_ping_success ${lan_mode} 409 1.1 knakahar } 410 1.1 knakahar 411 1.1 knakahar basic_teardown() 412 1.1 knakahar { 413 1.1 knakahar lan_mode=$1 414 1.1 knakahar wan_mode=$2 # not use 415 1.1 knakahar 416 1.1 knakahar teardown_tunnel 417 1.1 knakahar test_ping_failure ${lan_mode} 418 1.1 knakahar } 419 1.1 knakahar 420 1.1 knakahar add_test() 421 1.1 knakahar { 422 1.1 knakahar category=$1 423 1.1 knakahar desc=$2 424 1.1 knakahar lan_mode=$3 425 1.1 knakahar wan_mode=$4 426 1.1 knakahar 427 1.2 ozaki name="l2tp_${category}_${lan_mode}over${wan_mode}" 428 1.1 knakahar fulldesc="Does ${lan_mode} over ${wan_mode} if_l2tp ${desc}" 429 1.1 knakahar 430 1.1 knakahar atf_test_case ${name} cleanup 431 1.3 ozaki eval "${name}_head() { 432 1.3 ozaki atf_set descr \"${fulldesc}\" 433 1.3 ozaki atf_set require.progs rump_server 434 1.3 ozaki } 435 1.3 ozaki ${name}_body() { 436 1.3 ozaki ${category}_setup ${lan_mode} ${wan_mode} 437 1.3 ozaki ${category}_test ${lan_mode} ${wan_mode} 438 1.3 ozaki ${category}_teardown ${lan_mode} ${wan_mode} 439 1.3 ozaki rump_server_destroy_ifaces 440 1.3 ozaki } 441 1.3 ozaki ${name}_cleanup() { 442 1.3 ozaki \$DEBUG && dump 443 1.3 ozaki cleanup 444 1.1 knakahar }" 445 1.1 knakahar atf_add_test_case ${name} 446 1.1 knakahar } 447 1.1 knakahar 448 1.1 knakahar add_test_allproto() 449 1.1 knakahar { 450 1.1 knakahar category=$1 451 1.1 knakahar desc=$2 452 1.1 knakahar 453 1.1 knakahar add_test ${category} "${desc}" ipv4 ipv4 454 1.1 knakahar add_test ${category} "${desc}" ipv4 ipv6 455 1.1 knakahar add_test ${category} "${desc}" ipv6 ipv4 456 1.1 knakahar add_test ${category} "${desc}" ipv6 ipv6 457 1.1 knakahar } 458 1.1 knakahar 459 1.1 knakahar atf_init_test_cases() 460 1.1 knakahar { 461 1.4 ozaki 462 1.4 ozaki atf_add_test_case l2tp_create_destroy 463 1.4 ozaki 464 1.1 knakahar add_test_allproto basic "basic tests" 465 1.1 knakahar # add_test_allproto recursive "recursive check tests" 466 1.1 knakahar } 467