Hi Csaba,
On 12/22/22 15:00, Sipos Csaba wrote:
Dear Harald,
Sorry to spam the openbsc list with this, but if you (or someone) can confirm if the Sgsn-emu part of Osmo-GGSN utilizing the kernel GTP module or not, that would be lovely.
sgsnemu is not using the kernel module, only osmo-ggsn has support for it so far.
See osmo-ggsn.git/./sgsnemu/sgsnemu.c line 1905 calling: """ if (tun_new((struct tun_t **)&tun, options.tun_dev_name, false, -1, -1)) """
See tun_new() function used by both osmo-ggsn and sgsnemu: """ int tun_new(struct tun_t **tun, const char *dev_name, bool use_kernel, int fd0, int fd1u) { """
So sgsnemu is passing use_kernel=false, which makes the lib skip gtp-kernel functions like gtp_kernel_create().
FYI, I was not able to pass more than 280Mbit and the sgsn-emu process was maxing out a single core. Based on this I suspect that it does not use the kernel GTP module. I have seen some commits that indicates preparation work for this feature, but it is unclear at least to me, if this was finished or not. In the Osmo-GGSN.cfg example config I can see the config option for kernel GTP, but not in the sgsn-emu.cfg example.
You could try passing use_kernel=true to tun_new(), and see how far you can get. Patches welcome.
Regards, Pau