From b464ab721b55830f76c6782d06ad66f90e74bd13 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 19 Aug 2017 14:49:54 +0200 Subject: [PATCH] Add osmo-ggsn-master and ggsn-test This specifies two docker containers using which we can execute the TTCN-3 tests against OpenGGSN. --- ggsn-test/Dockerfile | 8 +++- ggsn-test/GGSN_Tests.cfg | 26 +++++++++++++ ggsn-test/start.sh | 2 + osmo-ggsn-master/Dockerfile | 31 +++++++++++++++ osmo-ggsn-master/Release.key | 20 ++++++++++ osmo-ggsn-master/osmo-ggsn.cfg | 71 ++++++++++++++++++++++++++++++++++ osmo-ggsn-master/start.sh | 2 + 7 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 ggsn-test/GGSN_Tests.cfg create mode 100755 ggsn-test/start.sh create mode 100644 osmo-ggsn-master/Dockerfile create mode 100644 osmo-ggsn-master/Release.key create mode 100644 osmo-ggsn-master/osmo-ggsn.cfg create mode 100755 osmo-ggsn-master/start.sh diff --git a/ggsn-test/Dockerfile b/ggsn-test/Dockerfile index fa886b0c..b332b81b 100644 --- a/ggsn-test/Dockerfile +++ b/ggsn-test/Dockerfile @@ -8,5 +8,9 @@ RUN git clone git://git.osmocom.org/osmo-ttcn3-hacks.git && \ make compile && \ make -j8 -CMD cd osmo-ttcn3-hacks/ggsn_tests && \ - ttcn3_start ./GGSN_Tests ./GGSN_Tests.cfg && ttcn3_logmerge *.log +VOLUME /data + +COPY GGSN_Tests.cfg /data/GGSN_Tests.cfg + +CMD cd /data && \ + ttcn3_start /osmo-ttcn3-hacks/ggsn_tests/GGSN_Tests ./GGSN_Tests.cfg && ttcn3_logmerge *.log diff --git a/ggsn-test/GGSN_Tests.cfg b/ggsn-test/GGSN_Tests.cfg new file mode 100644 index 00000000..defe3c53 --- /dev/null +++ b/ggsn-test/GGSN_Tests.cfg @@ -0,0 +1,26 @@ +[LOGGING] +ConsoleMask := DEBUG | LOG_ALL | MATCHING | DEBUG_TESTPORT + +[TESTPORT_PARAMETERS] +*.*.lazy_conn_id_handling := "YES" +system.*.lazy_conn_id_handling := "YES" + +[MODULE_PARAMETERS] +# our Own IP address +GGSN_Tests.m_bind_ip_gtpc := "172.18.0.202" +GGSN_Tests.m_bind_ip_gtpu := "172.18.0.202" +# GGSN IP address +GGSN_Tests.m_ggsn_ip_gtpc := "172.18.0.201" +GGSN_Tests.m_ggsn_ip_gtpu := "172.18.0.201" + +[EXECUTE] +#GGSN_Tests.TC_dummy +GGSN_Tests.TC_pdp4_act_deact +GGSN_Tests.TC_pdp4_act_deact_ipcp +GGSN_Tests.TC_pdp4_act_deact_pcodns + +GGSN_Tests.TC_pdp6_act_deact +GGSN_Tests.TC_pdp6_act_deact_pcodns +GGSN_Tests.TC_pdp6_act_deact_icmp6 + +GGSN_Tests.TC_echo_req_resp diff --git a/ggsn-test/start.sh b/ggsn-test/start.sh new file mode 100755 index 00000000..4fd4696b --- /dev/null +++ b/ggsn-test/start.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker run --network sigtran --ip 172.18.0.202 -it ggsn-test diff --git a/osmo-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile new file mode 100644 index 00000000..2d12c9bd --- /dev/null +++ b/osmo-ggsn-master/Dockerfile @@ -0,0 +1,31 @@ +FROM debian-jessie-build + +MAINTAINER Harald Welte + +COPY Release.key /tmp/Release.key + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/ ./" > /etc/apt/sources.list.d/osmocom-nightly.list + +RUN apt-get update && apt-get install -y \ + telnet \ + libosmocore-dev + +WORKDIR /tmp + +RUN git clone git://git.osmocom.org/openggsn.git && \ + cd openggsn && \ + git checkout laforge/osmo-ggsn && \ + autoreconf -fi && \ + ./configure && \ + make -j8 install && \ + ldconfig + +VOLUME /data + +COPY osmo-ggsn.cfg /data/openggsn.cfg + +CMD cd /data && /usr/local/bin/ggsn + +EXPOSE 3386/udp 2123/udp 2152/udp 4257/tcp 4260/tcp diff --git a/osmo-ggsn-master/Release.key b/osmo-ggsn-master/Release.key new file mode 100644 index 00000000..07f1a4fd --- /dev/null +++ b/osmo-ggsn-master/Release.key @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.5 (GNU/Linux) + +mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc +a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl +CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 +5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee +S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y +CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy +b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCVlbg +vgIbAwUJCDPYwgYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fKpsH ++wcLqrk927aVs37n8xHHUpLCPiB215zB1p/uS/ZJtWuvY17caZX9kCIkQJhlVfyH +ObUJOiJkllAHhbybsCCAShB2COyf9q78y/x9hx2VMOI0nSznowuk5CYnWB3NNd/y +jC+FKw2Q+6+WRoODYodQPgCaBGp9Ptl2MFUots+NnMzhxlDUWL14WG7D/4IqK5TW +IJRrk4YCDtcl5jx9Zt2evf99CqJqZg+GsfESzd4reHjJBokHqz5wOXTGuOpJroAZ +KPztGvm/ltA3qYfZy6rlREpTE/GQxeXv6c8w+Zz82CeDYouzArTEr4qc+RD36TZt +IUpbkm7ZOzHDFrLNx/1YCv6IRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v +d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= +=XdMN +-----END PGP PUBLIC KEY BLOCK----- diff --git a/osmo-ggsn-master/osmo-ggsn.cfg b/osmo-ggsn-master/osmo-ggsn.cfg new file mode 100644 index 00000000..616ea2b6 --- /dev/null +++ b/osmo-ggsn-master/osmo-ggsn.cfg @@ -0,0 +1,71 @@ +! +! OpenGGSN (0.94.1-adac) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 0 + logging timestamp 0 + logging level ip info + logging level tun info + logging level ggsn info + logging level sgsn notice + logging level icmp6 debug + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp info + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +stats interval 5 +! +line vty + no login +! +ggsn ggsn0 + gtp state-dir /tmp + gtp local-ip 172.18.0.201 + apn internet + gtpu-mode tun + tun-device tun4 + type-support v4 + ip prefix dynamic 176.16.222.0/24 + ip dns 0 192.168.100.1 + ip dns 1 8.8.8.8 + ip ifconfig 176.16.222.0/24 + no shutdown + apn inet6 + gtpu-mode tun + tun-device tun6 + type-support v6 + ipv6 prefix dynamic 2001:780:44:2000:0:0:0:0/56 + ipv6 dns 0 2001:4860:4860::8888 + ipv6 ifconfig 2001:780:44:2000:0:0:0:0/56 + no shutdown + apn inet46 + gtpu-mode tun + tun-device tun46 + type-support v4v6 + ip prefix dynamic 176.16.46.0/24 + ip dns 0 192.168.100.1 + ip dns 1 8.8.8.8 + ip ifconfig 176.16.46.0/24 + ipv6 prefix dynamic 2001:780:44:2100:0:0:0:0/56 + ipv6 dns 0 2001:4860:4860::8888 + ipv6 ifconfig 2001:780:44:2100:0:0:0:0/56 + no shutdown + default-apn internet + no shutdown ggsn diff --git a/osmo-ggsn-master/start.sh b/osmo-ggsn-master/start.sh new file mode 100755 index 00000000..c4483238 --- /dev/null +++ b/osmo-ggsn-master/start.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker run --cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun --network sigtran --ip 172.18.0.201 -it osmo-ggsn-master