This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-net-gprs@lists.osmocom.org/.
Richard Haines richard_c_haines at btinternet.comHarald, As requested I've copied this to the osmocom-net-gprs at lists.osmocom.org list. I'm not sure if any of you are interested in this (or even if it's useful as the "gtp5g" module is still 'work in progress'), however if you are interested any comments ??. I've attached a tarball (gtp-patches.tar.xz) with all the patches and here are some notes: 1) This has been built and tested on Fedora 34 using linux-5.14-rc4 kernel. 2) The first two kernel patches reinstall the current gtp driver into manageable modules. You can build the kernel with just these patches and should still be able to use libgtpnl, osmo-ggsn etc. as no code changes. 3) The remaining three kernel patches install the services from https://github.com/free5gc/gtp5g to DRV_VERSION "1.0.3a", also update core services (where possible) to use common functions e.g. gtp_dev_xmit(). It is possible to implement more common functions, but that can be done if the patch series is of any use !!! 4) There are three possible Kconfig configuration options: GTP_PDP only - GTP_PDR only - GTP_PDP and GTP_PDR 5) If GTP_PDP and GTP_PDR build selected, the basic tests using osmo-ggsn or openggsn work using tests in [1] and the tests from libgtp5gnl [2] (./run.sh SimpleUPTest & ULCLTest1) will also run - provided the following tarball patch has been applied to update [2]: 0001-libgtp5gnl-Update-to-match-new-linux-gtp.h-entries.patch 6) Be aware that apps/libs should now define their role specifically (i.e. GTP_ROLE_SGSN, GTP_ROLE_RAN) and not default thinking that '0' will always be GTP_ROLE_GGSN or GTP_ROLE_UPF. Both libgtp*nl versions do this. 7) I've only limited test options so cannot guarantee all will work !! 8) The kernel and tests have been built using Fedora 34. When building the kernel with Fedora the gtp5g side will hang when testing. This happens whether I build/load as described in the https://github.com/free5gc/gtp5g README i.e. untouched by me, or with my patches. To solve this issue I've commented out some code in pdr.c pdr_context_free() with a comment: /* FIXME - Stop crash when kernel built on Fedora 34 */ I'll try and fix this at some stage. 9) The original gtp5g driver 'struct net_device_ops' used: .ndo_get_stats64 = ip_tunnel_get_stats64, However this is deprecated so set to: .ndo_get_stats64 = dev_get_tstats64, 10) Running checkpatch on the kernel patches will show plenty of warning and check messages, however all 'errors' are fixed. 11) I've patches that add the LSM/SELinux services, however have not included these as I guess still nfi. [1] https://osmocom.org/projects/linux-kernel-gtp-u/wiki/Basic_Testing [2] https://github.com/free5gc/libgtp5gnl Richard Haines (5): gtp: Delete current gtp driver gtp: Split gtp driver into modules gtp: Add support for PDR services - Part 1 gtp: Add support for PDR services - Part 2 gtp: Add support for PDR services - Part 3 drivers/net/Kconfig | 17 +- drivers/net/Makefile | 2 +- drivers/net/gtp.c | 1462 ---------------------------- drivers/net/gtp/Kconfig | 45 + drivers/net/gtp/Makefile | 8 + drivers/net/gtp/dev_core.c | 103 ++ drivers/net/gtp/encap.c | 406 ++++++++ drivers/net/gtp/far.c | 596 ++++++++++++ drivers/net/gtp/gtp_core.c | 243 +++++ drivers/net/gtp/include/dev_core.h | 59 ++ drivers/net/gtp/include/encap.h | 27 + drivers/net/gtp/include/far.h | 64 ++ drivers/net/gtp/include/gtp_core.h | 105 ++ drivers/net/gtp/include/nl_core.h | 18 + drivers/net/gtp/include/pdp.h | 53 + drivers/net/gtp/include/pdp_ipv4.h | 31 + drivers/net/gtp/include/pdr.h | 96 ++ drivers/net/gtp/include/pdr_ipv4.h | 49 + drivers/net/gtp/include/proc_dbg.h | 85 ++ drivers/net/gtp/include/qer.h | 49 + drivers/net/gtp/nl_core.c | 444 +++++++++ drivers/net/gtp/pdp.c | 578 +++++++++++ drivers/net/gtp/pdp_ipv4.c | 166 ++++ drivers/net/gtp/pdr.c | 1272 ++++++++++++++++++++++++ drivers/net/gtp/pdr_ipv4.c | 330 +++++++ drivers/net/gtp/proc_dbg.c | 384 ++++++++ drivers/net/gtp/qer.c | 463 +++++++++ include/net/gtp.h | 105 +- include/uapi/linux/gtp.h | 200 +++- include/uapi/linux/if_link.h | 5 + 30 files changed, 5981 insertions(+), 1484 deletions(-) delete mode 100644 drivers/net/gtp.c create mode 100644 drivers/net/gtp/Kconfig create mode 100644 drivers/net/gtp/Makefile create mode 100644 drivers/net/gtp/dev_core.c create mode 100644 drivers/net/gtp/encap.c create mode 100644 drivers/net/gtp/far.c create mode 100644 drivers/net/gtp/gtp_core.c create mode 100644 drivers/net/gtp/include/dev_core.h create mode 100644 drivers/net/gtp/include/encap.h create mode 100644 drivers/net/gtp/include/far.h create mode 100644 drivers/net/gtp/include/gtp_core.h create mode 100644 drivers/net/gtp/include/nl_core.h create mode 100644 drivers/net/gtp/include/pdp.h create mode 100644 drivers/net/gtp/include/pdp_ipv4.h create mode 100644 drivers/net/gtp/include/pdr.h create mode 100644 drivers/net/gtp/include/pdr_ipv4.h create mode 100644 drivers/net/gtp/include/proc_dbg.h create mode 100644 drivers/net/gtp/include/qer.h create mode 100644 drivers/net/gtp/nl_core.c create mode 100644 drivers/net/gtp/pdp.c create mode 100644 drivers/net/gtp/pdp_ipv4.c create mode 100644 drivers/net/gtp/pdr.c create mode 100644 drivers/net/gtp/pdr_ipv4.c create mode 100644 drivers/net/gtp/proc_dbg.c create mode 100644 drivers/net/gtp/qer.c -- 2.31.1 -------------- next part -------------- A non-text attachment was scrubbed... Name: gtp-patches.tar.xz Type: application/x-xz-compressed-tar Size: 42412 bytes Desc: not available URL: <http://lists.osmocom.org/pipermail/osmocom-net-gprs/attachments/20210805/baca7ac4/attachment.bin>