Feature #5153
opensupport hnbgw co-located GTP-U proxy (UPF)
90%
Description
In the current osmo-hnbgw implementation, we simply configure the hNB GTP-U data to go directly to the GGSN. This requires IP-level routing between the RAN and the CN, which is possible in most lab situations, but not possible in real operator networks.
So we'd need to add support for a GTP-U proxy to control a co-located osmo-mgw. That proxy would translate GTP flows on the RAN side to GTP flows on the CN side (each with their own IPs/TEIDs).
The problem faced here is a 1:1 identical situation to what we're facing in OsmoSGSN in #5154. So both should then be able to use that same GTP-U proxy component.
Further brainstorming about this problem revealed that we're actualy talking about the same as the "SGW-U" network element described in 3GPP TS 23.214, which is what 3GPP invented when they introduced the control/user plane separation into the 4G EPC.
The SGW-U is exactly a GTP-U proxy between the RAN and the CN side, and it even includes functions for buffering GTP-U packets during mobility related GTP-U tunnel modification. It also includes functions for notifying the control plane entity of the first downlink packet received (so it can trigger paging). The SGW-U is controlled by the PFCP protocol. Only very few features of PFCP are required (PFCP is also used for he PGW-U which is much more complex).
So in fact, what we'd have to implement is- a minimalistic SGW-U with PFCP suport
- functionality in osmo-hnbgw to control that SGW-U via PFCP
Related issues
Updated by laforge over 2 years ago
SGW-U PFCP features needed (TS 23.214)
- traffic detection based on local F-TEIDu (access and core side)
- usage reporting to the CP function (in theory, can probably be skipped
- F-TEIDu allocation in UP
- control of forwarding
- FTP-U encapsulation with new F-TEID
- generation of "end marker" from SGW-U to NodeB
- idle state packet bufering in SGW-U
- buffer without reporting the arrival of first packet
- buffer with reporting the arrival of first DL packet
- drop packets
Updated by laforge over 2 years ago
- Related to Bug #4886: UE does not connect data when moving from 2G->3G added
Updated by laforge over 2 years ago
- Related to deleted (Bug #4886: UE does not connect data when moving from 2G->3G)
Updated by laforge over 2 years ago
- Related to Bug #5154: OsmoSGSN doesn't trigger 3G paging if downlink GTP traffic arrives after long break added
Updated by laforge about 2 years ago
The same GTP-U proxy / UPF (interfaced via PFCP) should be used not only by osmo-hnbgw, but also by osmo-sgsn.
Updated by laforge about 2 years ago
- Subject changed from support hnbgw co-located GTP-U proxy to support hnbgw co-located GTP-U proxy (UPF)
Updated by neels almost 2 years ago
A starting point for PFCP code on the Control Plane side of PFCP is osmo-pfcp-tool,
which I use for manual testing of osmo-upf.
https://git.osmocom.org/osmo-upf/tree/src/osmo-pfcp-tool?h=neels/upf
An example showing the sequence of things is at
https://git.osmocom.org/osmo-upf/tree/contrib/osmo-pfcp-tool-scripts/encaps_plus_tunmap.vty?h=neels/upf
(a script to run osmo-pfcp-tool with)
Updated by neels over 1 year ago
- Status changed from New to In Progress
- Assignee changed from 4368 to neels
Updated by laforge over 1 year ago
- % Done changed from 60 to 90
Now that the code is being merged, the status here can probably be updated to 90% ?
Please note that the wiki page at OsmoHNBGW needs updating now; the optional use of a UPF should be mentioned (also why one might want to use an UPF as GTP proxy) and visible in a diagram (might be time to switch to a graphviz/dotty graph like most places on osmocom.org).
Updated by laforge over 1 year ago
- Related to Feature #5152: support hnbgw co-located osmo-mgw for RTP proxying added
Updated by neels over 1 year ago
current status: dealing with binary packaging and manuals
Updated by laforge about 1 year ago
neels wrote in #note-17:
current status: dealing with binary packaging and manuals
Did that resolve during the past 3 months?