Wiki » History » Version 2
laforge, 08/10/2022 06:52 AM
1 | 1 | neels | h1. OsmoUPF |
---|---|---|---|
2 | |||
3 | 2 | laforge | Osmocom User Plane Function; manages a GTP user plane controlled via 3GPP PFCP (Packet Forwarding Control Protocol). |
4 | |||
5 | This is not a fully-featured UPF implementing every obscure option ever specified by 3GPP. Rather, it is a simple implementation, covering only the basics. |
||
6 | |||
7 | Its design goal was to try to see what kind of performance we can get from an unmodified mainline Linux kernel, _without_ adding new kernel modules or even going down the rabbit hole of DPDK, VPF or other non-standard (from the Linux kernel perspective) subsystems. |
||
8 | |||
9 | It currently supports mainly two use cases: |
||
10 | * encapsulation/decapsulation (like it would happen on a GGSN / PGW element) |
||
11 | ** this is implemented using the standard [[linux-kernel-gtp-u:]] module |
||
12 | * tunnel mapping (like it would happen on a SGSN / SGW element |
||
13 | ** this is implemented using the standard linux kernel packet filter "nftables":https://wiki.nftables.org/ |