ttcn3-epdg: Test GTP-U userplane

Set the assigned IP address for the UE in the EPDG docker container on
the eth0 interface. This way the emulated UPF (ttcn3) can test
decaps+encaps of osmo-epdg tun by pinging the UE IP address and
expecting a pong back.

I'm already seeing the UDP/GTPU/ICMP(echoReq) arriving at the osmo-epdg
gtp tundev:
"""
[29343.392749] gtp0: GTPv1-U: new PDP ctx id=ad84246b/adb4568b ssgn=172.18.186.103 ms=192.168.0.2 (pdp=0000000066dc66dd)
[29343.397738] gtp0: encap_recv sk=00000000382e4a54
[29343.397744] gtp0: received GTP1U packet
[29343.397746] gtp0: forwarding packet from GGSN to uplink
"""

TODO: What's missing here is to set a route back to gtp0 for the pong.

Change-Id: Icc5710b42e5a5374aade6b952e1c543565ffad2e
This commit is contained in:
Pau Espin 2024-03-01 18:41:09 +01:00
parent c33ffd0b13
commit 262c5ec1d8
3 changed files with 17 additions and 1 deletions

View File

@ -4,6 +4,14 @@ FROM $USER/$DISTRO-erlang
# Arguments used after FROM must be specified again
ARG DISTRO
# $distro-erlang switched to user build, but we need to install more stuff beforehand:
USER root
RUN apt-get update && \
apt-get install -y --no-install-recommends \
iproute2 && \
apt-get clean
USER build
WORKDIR /tmp
ARG OSMO_EPDG_BRANCH="master"

6
ttcn3-epdg-test/epdg.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
set +e
set -x
ip addr add 192.168.0.2 dev eth0
ERL_FLAGS='-config /data/osmo-epdg.config' /tmp/osmo-epdg/_build/default/bin/osmo-epdg

View File

@ -15,6 +15,7 @@ write_mp_osmo_repo "$VOL_BASE_DIR/epdg-tester/EPDG_Tests.cfg"
mkdir $VOL_BASE_DIR/epdg
cp osmo-epdg.config $VOL_BASE_DIR/epdg/
cp epdg.sh $VOL_BASE_DIR/epdg/
network_create
network_replace_subnet_in_configs
@ -32,7 +33,8 @@ docker run --rm \
-v $VOL_BASE_DIR/epdg:/data \
--name ${BUILD_TAG}-epdg -d \
$DOCKER_ARGS \
$REPO_USER/osmo-epdg-$IMAGE_SUFFIX
$REPO_USER/osmo-epdg-$IMAGE_SUFFIX \
/bin/sh -c "/data/epdg.sh >/data/osmo-epdg.log 2>&1"
# Give some time to osmo-epdg to be fully started; it's a bit slow...
sleep 2