[M] Change in libgtpnl[master]: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh
laforge has submitted this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email ) Change subject: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh .. tests/qemu: add 05_ms_ip46_sgsn_ip4.sh Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 --- M tests/qemu/00_test_functions.sh A tests/qemu/05_ms_ip46_sgsn_ip4.sh M tests/qemu/initrd-init.sh 3 files changed, 79 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/qemu/00_test_functions.sh b/tests/qemu/00_test_functions.sh index 5839363..7be8dbf 100644 --- a/tests/qemu/00_test_functions.sh +++ b/tests/qemu/00_test_functions.sh @@ -50,16 +50,52 @@ 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: 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() { ip addr show ping -c 1 "$WEBSERVER" ggsn_side ping -c 1 "$MS" + + if [ -n "$MS2" ]; then + ping -c 1 "$WEBSERVER2" + ggsn_side ping -c 1 "$MS2" + fi } tunnel_stop() { killall gtp-link 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 if [ "$SGSN_GGSN_PROTO" == "ip" ]; then # FIXME: doesn't work with ip6 @@ -69,8 +105,19 @@ ip link del veth_sgsn ip route del "$WEBSERVER"/"$MS_PREFLEN" dev gtp_sgsn 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 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 ip netns del ggsn_side } diff --git a/tests/qemu/05_ms_ip46_sgsn_ip4.sh b/tests/qemu/05_ms_ip46_sgsn_ip4.sh new file mode 100644 index 000..0bd48bb --- /dev/null +++ b/tests/qemu/05_ms_ip46_sgsn_ip4.sh @@ -0,0 +1,22 @@ +#!/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="fd00::" +MS2_PREFLEN="64" +WEBSERVER2="fe00::2" + +tunnel_start_2 +tunnel_ping +tunnel_stop diff --git a/tests/qemu/initrd-init.sh b/tests/qemu/initrd-init.sh index ba20592..5dacb86 100755 --- a/tests/qemu/initrd-init.sh +++ b/tests/qemu/initrd-init.sh @@ -29,6 +29,7 @@ run_test 02_ms_ip4_sgsn_ip6.sh run_test 03_ms_ip6_sgsn_ip4.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) echo "QEMU_TEST_SUCCESSFUL" -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 Gerrit-Change-Number: 36034 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged
[M] Change in libgtpnl[master]: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh
Attention is currently required from: osmith. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email ) Change subject: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh .. Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 Gerrit-Change-Number: 36034 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Attention: osmith Gerrit-Comment-Date: Thu, 22 Feb 2024 10:23:07 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[M] Change in libgtpnl[master]: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh
Attention is currently required from: osmith. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email ) Change subject: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh .. Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 Gerrit-Change-Number: 36034 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Attention: osmith Gerrit-Comment-Date: Wed, 21 Feb 2024 12:54:12 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
[M] Change in libgtpnl[master]: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email to look at the new patch set (#3). The following approvals got outdated and were removed: Verified+1 by Jenkins Builder Change subject: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh .. tests/qemu: add 05_ms_ip46_sgsn_ip4.sh Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 --- M tests/qemu/00_test_functions.sh A tests/qemu/05_ms_ip46_sgsn_ip4.sh M tests/qemu/initrd-init.sh 3 files changed, 79 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libgtpnl refs/changes/34/36034/3 -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 Gerrit-Change-Number: 36034 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
[M] Change in libgtpnl[master]: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email to look at the new patch set (#2). The following approvals got outdated and were removed: Verified+1 by Jenkins Builder Change subject: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh .. tests/qemu: add 05_ms_ip46_sgsn_ip4.sh Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 --- M tests/qemu/00_test_functions.sh A tests/qemu/05_ms_ip46_sgsn_ip4.sh M tests/qemu/initrd-init.sh 3 files changed, 79 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libgtpnl refs/changes/34/36034/2 -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 Gerrit-Change-Number: 36034 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset
[M] Change in libgtpnl[master]: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email ) Change subject: tests/qemu: add 05_ms_ip46_sgsn_ip4.sh .. tests/qemu: add 05_ms_ip46_sgsn_ip4.sh Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 --- M tests/qemu/00_test_functions.sh A tests/qemu/05_ms_ip46_sgsn_ip4.sh M tests/qemu/initrd-init.sh 3 files changed, 80 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libgtpnl refs/changes/34/36034/1 diff --git a/tests/qemu/00_test_functions.sh b/tests/qemu/00_test_functions.sh index 5839363..4660d8f 100644 --- a/tests/qemu/00_test_functions.sh +++ b/tests/qemu/00_test_functions.sh @@ -50,16 +50,52 @@ 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() { ip addr show ping -c 1 "$WEBSERVER" ggsn_side ping -c 1 "$MS" + + if [ -n "$MS2" ]; then + ping -c 1 "$WEBSERVER2" + ggsn_side ping -c 1 "$MS2" + fi } tunnel_stop() { killall gtp-link 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 if [ "$SGSN_GGSN_PROTO" == "ip" ]; then # FIXME: doesn't work with ip6 @@ -69,8 +105,19 @@ ip link del veth_sgsn ip route del "$WEBSERVER"/"$MS_PREFLEN" dev gtp_sgsn 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 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 ip netns del ggsn_side } diff --git a/tests/qemu/05_ms_ip46_sgsn_ip4.sh b/tests/qemu/05_ms_ip46_sgsn_ip4.sh new file mode 100644 index 000..a0f9220 --- /dev/null +++ b/tests/qemu/05_ms_ip46_sgsn_ip4.sh @@ -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 diff --git a/tests/qemu/initrd-init.sh b/tests/qemu/initrd-init.sh index ba20592..5dacb86 100755 --- a/tests/qemu/initrd-init.sh +++ b/tests/qemu/initrd-init.sh @@ -29,6 +29,7 @@ run_test 02_ms_ip4_sgsn_ip6.sh run_test 03_ms_ip6_sgsn_ip4.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) echo "QEMU_TEST_SUCCESSFUL" -- To view, visit https://gerrit.osmocom.org/c/libgtpnl/+/36034?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libgtpnl Gerrit-Branch: master Gerrit-Change-Id: I1e306bc4534f14138249cd4034f54f77d940b261 Gerrit-Change-Number: 36034 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange