tests/qemu: add 05_ms_ip46_sgsn_ip4.sh
Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261
This commit is contained in:
parent
c95db93512
commit
099a907d09
|
@ -50,16 +50,52 @@ tunnel_start() {
|
||||||
ggsn_side gtp-tunnel list
|
ggsn_side gtp-tunnel list
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Add a second tunnel to test MS with IPv4v6
|
||||||
|
tunnel_start_2() {
|
||||||
|
test -n "$MS2_PROTO"
|
||||||
|
test -n "$MS2"
|
||||||
|
test -n "$MS2_PREFLEN"
|
||||||
|
test -n "$WEBSERVER2"
|
||||||
|
|
||||||
|
# SGSN side: add second IP to lo (MS)
|
||||||
|
ip addr add "$MS2"/"$MS2_PREFLEN" dev lo
|
||||||
|
|
||||||
|
# SGSN side: prepare second gtp-tunnel
|
||||||
|
gtp-tunnel add gtp_sgsn v1 200 100 "$MS2" "$GGSN"
|
||||||
|
ip route add "$WEBSERVER2"/"$MS2_PREFLEN" dev gtp_sgsn
|
||||||
|
|
||||||
|
# GGSN side: prepare add second IP to lo (WEBSERVER)
|
||||||
|
ggsn_side ip addr add "$WEBSERVER2"/"$MS2_PREFLEN" dev lo
|
||||||
|
|
||||||
|
# GGSN side: prepare second gtp-tunnel
|
||||||
|
ggsn_side gtp-tunnel add gtp_ggsn v1 100 200 "$MS2" "$SGSN"
|
||||||
|
ggsn_side ip route add "$MS2"/"$MS2_PREFLEN" dev gtp_ggsn
|
||||||
|
|
||||||
|
# List tunnels from both sides
|
||||||
|
gtp-tunnel list
|
||||||
|
ggsn_side gtp-tunnel list
|
||||||
|
}
|
||||||
|
|
||||||
tunnel_ping() {
|
tunnel_ping() {
|
||||||
ip addr show
|
ip addr show
|
||||||
ping -c 1 "$WEBSERVER"
|
ping -c 1 "$WEBSERVER"
|
||||||
ggsn_side ping -c 1 "$MS"
|
ggsn_side ping -c 1 "$MS"
|
||||||
|
|
||||||
|
if [ -n "$MS2" ]; then
|
||||||
|
ping -c 1 "$WEBSERVER2"
|
||||||
|
ggsn_side ping -c 1 "$MS2"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
tunnel_stop() {
|
tunnel_stop() {
|
||||||
killall gtp-link
|
killall gtp-link
|
||||||
|
|
||||||
ip addr del "$MS"/"$MS_PREFLEN" dev lo
|
ip addr del "$MS"/"$MS_PREFLEN" dev lo
|
||||||
|
|
||||||
|
if [ -n "$MS2" ]; then
|
||||||
|
ip addr del "$MS2"/"$MS2_PREFLEN" dev lo
|
||||||
|
fi
|
||||||
|
|
||||||
ip link set veth_sgsn down
|
ip link set veth_sgsn down
|
||||||
|
|
||||||
if [ "$SGSN_GGSN_PROTO" == "ip" ]; then # FIXME: doesn't work with ip6
|
if [ "$SGSN_GGSN_PROTO" == "ip" ]; then # FIXME: doesn't work with ip6
|
||||||
|
@ -69,8 +105,19 @@ tunnel_stop() {
|
||||||
ip link del veth_sgsn
|
ip link del veth_sgsn
|
||||||
ip route del "$WEBSERVER"/"$MS_PREFLEN" dev gtp_sgsn
|
ip route del "$WEBSERVER"/"$MS_PREFLEN" dev gtp_sgsn
|
||||||
gtp-tunnel delete gtp_sgsn v1 200 "$MS_PROTO"
|
gtp-tunnel delete gtp_sgsn v1 200 "$MS_PROTO"
|
||||||
|
|
||||||
|
if [ -n "$MS2" ]; then
|
||||||
|
ip route del "$WEBSERVER2"/"$MS2_PREFLEN" dev gtp_sgsn
|
||||||
|
gtp-tunnel delete gtp_sgsn v1 200 "$MS2_PROTO"
|
||||||
|
fi
|
||||||
|
|
||||||
gtp-link del gtp_sgsn
|
gtp-link del gtp_sgsn
|
||||||
ggsn_side gtp-tunnel delete gtp_ggsn v1 100 "$MS_PROTO"
|
ggsn_side gtp-tunnel delete gtp_ggsn v1 100 "$MS_PROTO"
|
||||||
|
|
||||||
|
if [ -n "$MS2" ]; then
|
||||||
|
ggsn_side gtp-tunnel delete gtp_ggsn v1 100 "$MS2_PROTO"
|
||||||
|
fi
|
||||||
|
|
||||||
ggsn_side gtp-link del gtp_ggsn
|
ggsn_side gtp-link del gtp_ggsn
|
||||||
ip netns del ggsn_side
|
ip netns del ggsn_side
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh -ex
|
||||||
|
. /tests/00_test_functions.sh
|
||||||
|
|
||||||
|
MS_PROTO="ip"
|
||||||
|
MS="172.99.0.1"
|
||||||
|
MS_PREFLEN="32"
|
||||||
|
SGSN_GGSN_PROTO="ip"
|
||||||
|
SGSN="172.0.0.1"
|
||||||
|
SGSN_PREFLEN="24"
|
||||||
|
GGSN="172.0.0.2"
|
||||||
|
WEBSERVER="172.99.0.2"
|
||||||
|
|
||||||
|
tunnel_start
|
||||||
|
|
||||||
|
MS2_PROTO="ip6"
|
||||||
|
MS2_PROTO="ip6"
|
||||||
|
MS2="fd00::"
|
||||||
|
MS2_PREFLEN="64"
|
||||||
|
WEBSERVER2="fe00::2"
|
||||||
|
|
||||||
|
tunnel_start_2
|
||||||
|
tunnel_ping
|
||||||
|
tunnel_stop
|
|
@ -29,6 +29,7 @@ run_test 01_ms_ip4_sgsn_ip4.sh
|
||||||
run_test 02_ms_ip4_sgsn_ip6.sh
|
run_test 02_ms_ip4_sgsn_ip6.sh
|
||||||
run_test 03_ms_ip6_sgsn_ip4.sh
|
run_test 03_ms_ip6_sgsn_ip4.sh
|
||||||
run_test 04_ms_ip6_sgsn_ip6.sh
|
run_test 04_ms_ip6_sgsn_ip6.sh
|
||||||
|
run_test 05_ms_ip46_sgsn_ip4.sh
|
||||||
|
|
||||||
# Success (run-qemu.sh checks for this line)
|
# Success (run-qemu.sh checks for this line)
|
||||||
echo "QEMU_TEST_SUCCESSFUL"
|
echo "QEMU_TEST_SUCCESSFUL"
|
||||||
|
|
Loading…
Reference in New Issue