libgtpnl/tests/qemu
Oliver Smith 72ddb01219 Add QEMU tests
Add tests to ensure libgtpnl + kernel driver work as expected.

Right now a kernel needs to be built from source, using Pablo's tree:
https://git.kernel.org/pub/scm/linux/kernel/git/pablo/gtp.git/

Make sure to enable:
  CONFIG_GTP=y
  CONFIG_NET_NS=y
  CONFIG_VETH=y

$ cp bzImage tests/qemu/_linux
$ ./configure --enable-qemu-tests
$ make
$ make check

Once patches are upstreamed, it will be possible to use a pre-built
kernel from jenkins with: make -C tests qemu-download-kernel

Related: OS#1952
Change-Id: Ibf75514b866fffb11e90529e4705f126b23d7415
2024-02-16 15:15:24 +01:00
..
00_test_functions.sh Add QEMU tests 2024-02-16 15:15:24 +01:00
01_ms_ip4_sgsn_ip4.sh Add QEMU tests 2024-02-16 15:15:24 +01:00
02_ms_ip4_sgsn_ip6.sh Add QEMU tests 2024-02-16 15:15:24 +01:00
03_ms_ip6_sgsn_ip4.sh Add QEMU tests 2024-02-16 15:15:24 +01:00
04_ms_ip6_sgsn_ip6.sh Add QEMU tests 2024-02-16 15:15:24 +01:00
README.md Add QEMU tests 2024-02-16 15:15:24 +01:00
check-depends.sh Add QEMU tests 2024-02-16 15:15:24 +01:00
initrd-build.sh Add QEMU tests 2024-02-16 15:15:24 +01:00
initrd-init.sh Add QEMU tests 2024-02-16 15:15:24 +01:00
run-qemu.sh Add QEMU tests 2024-02-16 15:15:24 +01:00

README.md

QEMU tests for libgtpnl

The tests simulate how a GGSN would use libgtpnl, to set up a GTP tunnel between SGSN and GGSN, so a MS on the SGSN side can talk to a webserver on the GGSN side.

Running the tests

$ autoreconf -fi
$ ./configure --enable-qemu-tests
$ make
$ make -C tests qemu-download-kernel  # or build your own, see below
$ make check

Building your own kernel

Clone a kernel tree, then:

$ make defconfig
$ make menuconfig

Set the following options:

CONFIG_GTP=y
CONFIG_NET_NS=y
CONFIG_VETH=y

Build the kernel and copy it to the tests dir:

$ make -j$(nproc)
$ cp arch/x86/boot/bzImage /path/to/libgtpnl/tests/qemu/_linux