blob: 0e788379e90a5f0eff6c0d4d444c1909330842b6 [file] [log] [blame]
User Plane Function (UPF) Network Configuration
===============================================
.. tip::
See :doc:`User Plane Function (UPF) </advanced/upf>` to learn how UPF works in the
SD-Fabric project.
The UPF configuration is split in two configurations, that can be provided independently to ONOS.
Th first is used to configure the UP4 ONOS application and defines UPF-related information
such as S1U Address, network devices implementing UPF etc.
The second one, instead, is used to configure parameters related to the Downlink
Buffering (DBUF) functionality.
Here's a list of fields that you can configure via the UPF Network Configuration for UP4:
* ``devices``: A list of devices IDs that implements the UPF data plane. This list
must include all the leaf switches in the topology.
The UPF state is replicated on all devices specified in this configuration field.
The devices specified in this list must use a P4 pipeline implementing the UPF functionality. *Required*
* ``s1uAddr``: The IP address of the S1-U interface (equivalent to N3 for 5G).
It can be an arbitrary IP address. *Required*
* ``uePools``: A list of subnets that are in use by the UEs. *Required*
* ``dbufDrainAddr``: The IP address of the UPF data plane interface that the DBUF
service will drain packets towards. *Optional*
* ``pscEncapEnabled``: Set whether the UPF should use GTP-U extension PDU Session Container
when doing encapsulation of downlink packets. *Optional*
* ``defaultQfi``: The default QoS Flow Identifier to use when the PDU Session Container
encapsulation is enabled. *Optional*
Here is an example of netcfg for UP4:
.. code-block:: json
{
"apps": {
"org.omecproject.up4": {
"up4": {
"devices": [
"device:leaf1",
"device:leaf2"
],
"s1uAddr": "10.32.11.126",
"uePools": [
"10.240.0.0/16"
],
"dbufDrainAddr": "10.32.11.126",
"pscEncapEnabled": false,
"defaultQfi": 0
}
}
}
}
The DBUF configuration is all *Optional*, we can use UP4 without the downlink
buffering functionality.
Here's a list of fields that you can configure via the UPF Network Configuration for DBUF:
* ``serviceAddr``: The address DBUF service management interface in the form IP:port.
This address is used to communicate with the DBUF service via gRPC (for example, to trigger
the drain operation, or receive notification for buffered packets).
* ``dataplaneAddr``: The address of the DBUF service data plane interface in the form IP:port.
Packets sent to this address by the UPF will be buffered by DBUF.
The IP address must be a routable fabric address.
Here is an example of netcfg for DBUF:
.. code-block:: json
{
"apps": {
"org.omecproject.up4": {
"dbuf": {
"serviceAddr": "10.76.28.72:10000",
"dataplaneAddr": "10.32.11.3:2152"
}
}
}
}