In order to control the kernel-side GTP-U plane, a netlink based control interface between GTP-C in userspace and GTP-U in kernelspace was invented.
The encoding and decoding of these control messages is implemented in the libgtp5gnl (library for GTP netlink).
libgtp5gnl is a project based on libgtpnl which is part of the Osmocom Open Source Mobile Communications project.
The latest implementation of gtp5g and libgtp5gnl is in
https://github.com/free5gc/gtp5g
https://github.com/free5gc/libgtp5gnl
autoreconf -iv
./configure --prefix=`pwd`
make
Sample command is written under script/
and tools/gtp5g-tunnel.c
.
sudo ./tools/gtp5g-tunnel list pdr
sudo ./tools/gtp5g-tunnel list far
Simple Test (RAN + UPF)
./run.sh SimpleUPTest
ULCL Test (RAN + I-UPF + A-UPF)
./run.sh ULCLTest1
ip rule
and ip route
with Linux mark by self