Hi,
On 04/04/18 16:59, Dave Ellis wrote:
After that the instructions mention using openggsn. I'm not sure if there is further configuration required for the kernel gtp module - do I need to create a tunnel? Or should this be done by osmo-ggsn as it did for the gtpu-mode tun setting?
I'm not sure here since I didn't find the opportunity to use the gtp kernel module myself yet. Looking at code in osmo-ggsn gtp-kernel.c, gtp_kernel_init() calls gtp_dev_create() which seems to create a GTP tunnel device, so osmo-ggsn seems to be creating the device.
[Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". <0002> ggsn.c:203 APN(S1U): Starting <0002> ggsn.c:281 APN(S1U): Opening Kernel GTP device gtp0 <0002> gtp-kernel.c:75 Initialized GTP kernel mode (genl ID is 30)
Program received signal SIGSEGV, Segmentation fault. gtp_kernel_init (gsn=0x0, devname=0x6a6fe0 "gtp0", prefix=prefix@entry=0x6a76e0, ipup=0x0) at gtp-kernel.c:94 94if (gtp_dev_create(-1, devname, gsn->fd0, gsn->fd1u) < 0) {
This looks like a bug in the code (gsn=NULL). Please open a ticket in redmine in OsmoGGSN project to remember to have a look at it. Also compiling everything with CFLAGS="-g -O0", then running under gdb and providing a full backtrace may help pinpoint the issue quicker.
Feel free to open a new task also about the bad performance when running without gtp kernel support and providing some performance figures, and if possible a linux perf output of the process.