Project

General

Profile

Actions

Feature #5153

open

support hnbgw co-located GTP-U proxy (UPF)

Added by laforge almost 3 years ago. Updated over 1 year ago.

Status:
In Progress
Priority:
Normal
Assignee:
Target version:
-
Start date:
05/13/2021
Due date:
% Done:

90%

Spec Reference:

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

Related to OsmoSGSN - Bug #5154: OsmoSGSN doesn't trigger 3G paging if downlink GTP traffic arrives after long breakNew05/13/2021

Actions
Related to OsmoHNBGW - Feature #5152: support hnbgw co-located osmo-mgw for RTP proxyingResolveddaniel05/13/2021

Actions
Actions #1

Updated by laforge almost 3 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
Actions #2

Updated by laforge almost 3 years ago

  • Related to Bug #4886: UE does not connect data when moving from 2G->3G added
Actions #3

Updated by laforge almost 3 years ago

  • Related to deleted (Bug #4886: UE does not connect data when moving from 2G->3G)
Actions #4

Updated by laforge almost 3 years ago

  • Related to Bug #5154: OsmoSGSN doesn't trigger 3G paging if downlink GTP traffic arrives after long break added
Actions #5

Updated by laforge almost 3 years ago

  • Description updated (diff)
Actions #6

Updated by laforge over 2 years ago

  • Assignee set to 4368
Actions #7

Updated by laforge over 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.

Actions #8

Updated by laforge over 2 years ago

  • Subject changed from support hnbgw co-located GTP-U proxy to support hnbgw co-located GTP-U proxy (UPF)
Actions #9

Updated by neels about 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)

Actions #10

Updated by neels about 2 years ago

  • Status changed from New to In Progress
  • Assignee changed from 4368 to neels
Actions #11

Updated by neels about 2 years ago

  • Description updated (diff)
Actions #13

Updated by neels about 2 years ago

  • % Done changed from 0 to 20
Actions #14

Updated by neels almost 2 years ago

  • % Done changed from 20 to 60
Actions #15

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).

Actions #16

Updated by laforge over 1 year ago

  • Related to Feature #5152: support hnbgw co-located osmo-mgw for RTP proxying added
Actions #17

Updated by neels over 1 year ago

current status: dealing with binary packaging and manuals

Actions #18

Updated by laforge over 1 year ago

neels wrote in #note-17:

current status: dealing with binary packaging and manuals

Did that resolve during the past 3 months?

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)