Neels Janosch Hofmeyr 5047216b70 scale: faster lookup whether local TEID is in use
Keep a hash table of all local GTP TEID assigned: speed up handing out
new TEID to new GTP tunnels, for both tunend and tunmap.

Before this, whenever osmo-upf sets up a tunnel, it would have to
linearly iterate *all* peers x sessions x GTP tunnels to ensure that a
TEID is not already in use. Now we iterate only one hashtable bucket.

Scoping: technically, a TEID would be scoped by the local GTP IP
address. For simplicity, osmo-upf hands out each TEID only once, across
all local GTP IP addresses. This also helps when analysing pcaps.

Change-Id: I920bb14da434ac29fcd49d95d207081bacb3d661
2023-03-22 19:04:28 +01:00
2023-03-18 01:33:05 +00:00
2022-08-24 16:10:56 +02:00

osmo-upf - Osmocom User Plane Function Implementation

Homepage

The official homepage of the project is https://osmocom.org/projects/osmo-upf/wiki

GIT Repository

You can clone from the official osmo-upf.git repository using

git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-upf

There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-upf.

To submit patches, see "Contributing" below.

Documentation

User Manuals and VTY reference manuals are [optionally] built in PDF form as part of the build process.

Pre-rendered PDF version of the current "master" can be found at User Manual as well as the VTY Reference Manual

Mailing List

Discussions related to osmo-bts are happening on the osmocom-net-gprs@lists.osmocom.org mailing list, please see https://lists.osmocom.org/postorius/lists/osmocom-net-gprs@lists.osmocom.org/ for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

Submit patches at https://gerrit.osmocom.org/ See also https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit

The current patch queue for OsmoUPF can be seen at https://gerrit.osmocom.org/#/q/project:osmo-upf+status:open

Description
Osmocom implementationg of the 3GPP UPF (User Plane Function), an element with in the 4G Core Network
Readme 2.3 MiB
Languages
C 91.7%
Shell 3%
M4 2.7%
Makefile 2.2%
Python 0.4%