Can't get gtp5g working on CentOS 7.8

gtp5g is required on UPF.
works fine on CentOS 8 but I need it on 7.8 (see attached)

(compilation errors)

source taken from:

any ideas ?

Hi,

Your kernel version of CentOS 7.8 (3.10.0) is not compatible with gtp5g.

You have to upgrade your kernel version like in CentOS 8 or latest one like in “Notice”.

gtp5g repo README is shown on below

Notice
Due to the evolution of Linux kernel, this module would not work with every kernel version. Please run this module with kernel version 5.0.0-23-generic or upper than 5.4 (Ubuntu 20.04).

Please check the libgtp5gnl version is the same as gtp5g, because the type translating between libgtp5gnl and gtp5g had been changed.

Hi @muthuramanecs03g

Thanks for your reply.
Yes, I was aware of the note, but my point is - I still need it to work on CentOS 7.8
Alas - upgrade is not an option …

Any idea how it can be made to work on 7.8 without kernel upgrde ?

Hi,

Find the API difference between the kernel and then resolve it one by one without affecting the functionality of gtp5g.

(not a CentOS expert)

what do you mean by API diffrences ?

Hi,

what do you mean by API diffrences ?
API means Linux kernel functions such as EXPORT_SYMBOL, EXPORT_SYMBOL_GPL,… which are called by gtp5g kernel module.

The gtp5g kernel module written based on kernel version 5.0.0.-23-generic, and there is no backward compatibility with oldest kernel version like what do you have it.

Thanks for the prompt reply @muthuramanecs03g

So you’re actualy saying it’s not really feasible?

a thought:
Is it possible to have the gtp5g compiled to an executable on CantOS 8 and then copied to run on CentOS 7.8 ?..

Impossible because the vermagic of kernel module not allow to load

filename: /lib/modules/5.4.0-72-generic/kernel/drivers/net/gtp5g.ko
alias: net-pf-16-proto-16-family-gtp5g
alias: rtnl-link-gtp5g
version: 1.0.2
description: Interface for 5G GTP encapsulated traffic
author: Muthuraman [email protected]
author: Yao-Wen Chang [email protected]
license: GPL
srcversion: 7F2263CE27C24D55EC10CA7
depends: udp_tunnel
retpoline: Y
name: gtp5g
vermagic: 5.4.0-72-generic SMP mod_unload modversions

Hi,

The gtp5g cannot be built on CentOS 7 without kernel update, and following steps may help you do that.

  1. Install packages kernel-ml, kernel-ml-headers, kernel-ml-devel with version 5.0.3.
  2. Update the GRUB menu to boot from kernel 5.0.3.
  3. In Makefile of gtp5g, replace the line “INCLUDE_DIR = /usr/src/linux-headers-$(KVERSION)/” with “INCLUDE_DIR = /usr/src/kernels/$(KVERSION)/”.

Now, the gtp5g is expected to be built on CentOS 7.