Skip to content
Success

Changes

Summary

  1. Split up_peer into pfcp_{node,entity}_peer (details)
Commit 546786c5365aa6a33f4cb18e9487cd5f962cefdb by Pau Espin Pedrol
Split up_peer into pfcp_{node,entity}_peer

Match our data domain with the specifications in 3GPP TS 29.244:
"""
CP function: A node with a Control Plane function (see 3GPP TS 23.214 [2]) supporting one or more PFCP entities. A
Control Plane function, i.e. a Control Plane Node, is identified by the Node ID that is set to either an FQDN or an IP
address.

UP function: A node with a User Plane function (see 3GPP TS 23.214 [2]) supporting one or more PFCP entities. A
User Plane function, i.e. a User Plane Node, is identified by the Node ID that is set to either a FQDN or an IP address.

Node: Either a CP function or an UP function supporting one or more PFCP entities. A Node is identified by the Node
ID, which is set to either an FQDN or an IP address.

PFCP Entity: An endpoint in a CP (or UP) function supporting PFCP, that is identified by the IP address. The IP
address of a PFCP entity may or may not be the IP address included in the Node ID.
"""

In general, we have a "pfcp_node_peer 1-1 pfcp_entity_peer" relation, and
this is what so far is implemented here. In the future we can improve
code to support a "pfcp_node_peer 1-* pfcp_entity_peer" relation, which
can actually be implemented in 2 different ways (2 different features)
as explained in 3GPP TS 29.244 section 5.22.

Due to those 2 different features, it's actually difficult to figure out
where to install the FSM with the association state (entity vs node).
For now, leave it at the pfcp_entity_peer level, in order to simplify
the implementation and make the changes in this patch easier to follow.
Hence, pfcp_node_peer is so far only used to track Node-Id changes, and
is released as soon as all its PFCP Entities are released.

Related: SYS#7719
Change-Id: Ie64be4fd55157e9646e250f8cbe93ba3f3c19b17
The file was modifiedsrc/osmo-upf/up_endpoint.c
The file was modifiedsrc/osmo-upf/upf.c
The file was modifiedsrc/osmo-upf/upf_vty.c
The file was modifiedinclude/osmocom/upf/Makefile.am
The file was addedinclude/osmocom/upf/pfcp_node_peer.h
The file was addedinclude/osmocom/upf/pfcp_entity_peer.h
The file was removedinclude/osmocom/upf/up_peer.h
The file was modifiedinclude/osmocom/upf/up_endpoint.h
The file was addedsrc/osmo-upf/pfcp_entity_peer.c
The file was modifiedtests/unique_ids/unique_ids_test.err
The file was modifiedsrc/osmo-upf/up_gtp_action.c
The file was removedsrc/osmo-upf/up_peer.c
The file was modifiedtests/unique_ids/unique_ids_test.c
The file was modifiedsrc/osmo-upf/Makefile.am
The file was modifiedinclude/osmocom/upf/up_session.h
The file was modifiedsrc/osmo-upf/up_session.c
The file was addedsrc/osmo-upf/pfcp_node_peer.c