-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
61 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# ndn-dpdk/app/upf | ||
|
||
This package provides a 5G User Plane Function (UPF) that converts PFCP sessions to GTP-U faces. | ||
It works as follows: | ||
|
||
1. Listen for PFCP messages from a 5G Session Management Function (SMF). | ||
2. Gather PFCP session related messages, convert them into NDN-DPDK face creation/deletion commands with appropriate locators of GTP-U faces. | ||
3. These commands can then be sent to a running NDN-DPDK forwarder, to achieve NDN forwarding within a 5G network. | ||
|
||
Currently, this package supports these PFCP message types: | ||
|
||
* heartbeat request/response | ||
* association setup request/response | ||
* session establishment request/response | ||
* session modification request/response | ||
* session deletion request/response | ||
|
||
For each message, it only recognizes the most basic fields required for constructing GTP-U headers, but does not support all cases. | ||
It is tested to be compatible with several open-source SMF implementations, including free5GC and OAI-CN5G. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# ndndpdk-upf | ||
|
||
This command runs a PFCP server that turns NDN-DPDK forwarder into 5G UPF. | ||
The PFCP-related implementation is in [package upf](../../app/upf). | ||
The GTP-U face implementation in in [package ethface](../../iface/ethface). | ||
|
||
This program shall be deployed alongside an NDN-DPDK forwarder on the same host. | ||
To use this program: | ||
|
||
1. Activate the NDN-DPDK service as a forwarder. | ||
2. Create an Ethernet port on the Ethernet device intended for N3 interface. | ||
3. If desired, create a fallback face on the Ethernet port, so that ARP and IP works on the N3 interface. | ||
4. Start ndndpdk-upf to provide a PFCP server on the N4 interface, which would be ready for incoming messages from the SMF. | ||
|
||
Command line flags of this program include: | ||
|
||
* `--gqlserver`: GraphQL endpoint of NDN-DPDK service activated as forwarder. | ||
* `--smf-n4`: SMF N4 IPv4 address. | ||
The UPF only accepts PFCP messages from this IP address. | ||
* `--upf-n4`: UPF N4 IPv4 address. | ||
The UPF binds to this IP address while listening for PFCP messages. | ||
This IP address must be configured on a kernel network interface. | ||
* `--upf-n3`: UPF N3 IPv4 address. | ||
NDN-DPDK forwarder uses this IP address as the local IP in outer IPv4 header of GTP-U packets. | ||
* `--upf-mac`: UPF N3 MAC address, corresponding to `--upf-n3`. | ||
NDN-DPDK forwarder uses this MAC address as the local MAC in outer Ethernet header of GTP-U packets. | ||
* `--upf-vlan`: UPF N3 VLAN ID. | ||
If set, NDN-DPDK forwarder inserts a VLAN header before the outer IPv4 header in GTP-U packets. | ||
* `--n3`: N3 ip-mac tuples, repeatable. | ||
NDN-DPDK forwarder does not perform ARP lookups. | ||
Every remote IP address (usually belongs to gNBs) that could appear in PFCP session must be listed in these tuples. | ||
NDN-DPDK forwarder uses this MAC address as the remote MAC in outer Ethernet header of GTP-U packets. | ||
* `--dn`: Data Network NDN forwarder IPv4 address. | ||
NDN-DPDK forwarder uses this IP address as the local IP in inner IPv4 header of GTP-U packets. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters