blob: 0e788379e90a5f0eff6c0d4d444c1909330842b6 [file] [log] [blame]
Daniele Moro69226c82021-09-28 17:37:49 +02001User Plane Function (UPF) Network Configuration
2===============================================
3
4.. tip::
5 See :doc:`User Plane Function (UPF) </advanced/upf>` to learn how UPF works in the
6 SD-Fabric project.
7
8The UPF configuration is split in two configurations, that can be provided independently to ONOS.
9Th first is used to configure the UP4 ONOS application and defines UPF-related information
10such as S1U Address, network devices implementing UPF etc.
11The second one, instead, is used to configure parameters related to the Downlink
12Buffering (DBUF) functionality.
13
14Here's a list of fields that you can configure via the UPF Network Configuration for UP4:
15
16* ``devices``: A list of devices IDs that implements the UPF data plane. This list
17 must include all the leaf switches in the topology.
18 The UPF state is replicated on all devices specified in this configuration field.
19 The devices specified in this list must use a P4 pipeline implementing the UPF functionality. *Required*
20
21* ``s1uAddr``: The IP address of the S1-U interface (equivalent to N3 for 5G).
22 It can be an arbitrary IP address. *Required*
23
24* ``uePools``: A list of subnets that are in use by the UEs. *Required*
25
26* ``dbufDrainAddr``: The IP address of the UPF data plane interface that the DBUF
27 service will drain packets towards. *Optional*
28
29* ``pscEncapEnabled``: Set whether the UPF should use GTP-U extension PDU Session Container
30 when doing encapsulation of downlink packets. *Optional*
31
32* ``defaultQfi``: The default QoS Flow Identifier to use when the PDU Session Container
33 encapsulation is enabled. *Optional*
34
35Here is an example of netcfg for UP4:
36
37.. code-block:: json
38
39 {
40 "apps": {
41 "org.omecproject.up4": {
42 "up4": {
43 "devices": [
44 "device:leaf1",
45 "device:leaf2"
46 ],
47 "s1uAddr": "10.32.11.126",
48 "uePools": [
49 "10.240.0.0/16"
50 ],
51 "dbufDrainAddr": "10.32.11.126",
52 "pscEncapEnabled": false,
53 "defaultQfi": 0
54 }
55 }
56 }
57 }
58
59The DBUF configuration is all *Optional*, we can use UP4 without the downlink
60buffering functionality.
61Here's a list of fields that you can configure via the UPF Network Configuration for DBUF:
62
63* ``serviceAddr``: The address DBUF service management interface in the form IP:port.
64 This address is used to communicate with the DBUF service via gRPC (for example, to trigger
65 the drain operation, or receive notification for buffered packets).
66
67* ``dataplaneAddr``: The address of the DBUF service data plane interface in the form IP:port.
68 Packets sent to this address by the UPF will be buffered by DBUF.
69 The IP address must be a routable fabric address.
70
71Here is an example of netcfg for DBUF:
72
73.. code-block:: json
74
75 {
76 "apps": {
77 "org.omecproject.up4": {
78 "dbuf": {
79 "serviceAddr": "10.76.28.72:10000",
80 "dataplaneAddr": "10.32.11.3:2152"
81 }
82 }
83 }
84 }