Skip to content

Commit

Permalink
Merge pull request #110 from LaumiH/ulcl-config-v3.4.1
Browse files Browse the repository at this point in the history
feat: add ULCL config folder and compose yaml compliant with free5gc v3.4.1
  • Loading branch information
abousselmi authored Jun 6, 2024
2 parents 488bad8 + d2342f4 commit 97ce26c
Show file tree
Hide file tree
Showing 7 changed files with 541 additions and 3 deletions.
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,13 @@ For Linux kernel version below 5.4 you can setup a working environment using a v
Please refer to [GTP5G kernel module](https://github.com/free5gc/gtp5g) for more information.

## ULCL Configuration
You can check the following informations below:
- [ulcl-example branch](https://github.com/free5gc/free5gc-compose/tree/ulcl-example), or
- [patch file](https://github.com/ianchen0119/free5gc-compose-ulcl)
To start the core with a i-UPF and two PSA UPFs ULCL configuration, use

```bash
docker compose -f docker-compose-ulcl.yaml up
```

Check out the used configuration files at `config/ULCL`.

## Reference
- https://github.com/open5gs/nextepc/tree/master/docker
Expand Down
123 changes: 123 additions & 0 deletions config/ULCL/smfcfg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
info:
version: 1.0.7
description: SMF initial local configuration

configuration:
smfName: SMF # the name of this SMF
sbi: # Service-based interface information
scheme: http # the protocol for sbi (http or https)
registerIPv4: smf.free5gc.org # IP used to register to NRF
bindingIPv4: smf.free5gc.org # IP used to bind the service
port: 8000 # Port used to bind the service
tls: # the local path of TLS key
key: cert/smf.key # SMF TLS Certificate
pem: cert/smf.pem # SMF TLS Private key
serviceNameList: # the SBI services provided by this SMF, refer to TS 29.502
- nsmf-pdusession # Nsmf_PDUSession service
- nsmf-event-exposure # Nsmf_EventExposure service
- nsmf-oam # OAM service
snssaiInfos: # the S-NSSAI (Single Network Slice Selection Assistance Information) list supported by this AMF
- sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
sst: 1 # Slice/Service Type (uinteger, range: 0~255)
sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
dnnInfos: # DNN information list
- dnn: internet # Data Network Name
dns: # the IP address of DNS
ipv4: 8.8.8.8
ipv6: 2001:4860:4860::8888
plmnList: # the list of PLMN IDs that this SMF belongs to (optional, remove this key when unnecessary)
- mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
locality: area1 # Name of the location where a set of AMF, SMF, PCF and UPFs are located
pfcp: # the IP address of N4 interface on this SMF (PFCP)
# addr config is deprecated in smf config v1.0.3, please use the following config
nodeID: smf.free5gc.org # the Node ID of this SMF
listenAddr: smf.free5gc.org # the IP/FQDN of N4 interface on this SMF (PFCP)
externalAddr: smf.free5gc.org # the IP/FQDN of N4 interface on this SMF (PFCP)
heartbeatInterval: 5s
userplaneInformation: # list of userplane information
upNodes: # information of userplane node (AN or UPF)
gNB1: # the name of the node
type: AN # the type of the node (AN or UPF)
nodeID: gnb.free5gc.org # the Node ID of this gNB
i-UPF: # the name of the node
type: UPF # the type of the node (AN or UPF)
nodeID: i-upf.free5gc.org # the Node ID of this UPF
sNssaiUpfInfos: # S-NSSAI information list for this UPF
- sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
sst: 1 # Slice/Service Type (uinteger, range: 0~255)
sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
dnnUpfInfoList: # DNN information list for this S-NSSAI
- dnn: internet
interfaces: # Interface list for this UPF
- interfaceType: N3 # the type of the interface (N3 or N9)
endpoints: # the IP address of this N3/N9 interface on this UPF
- i-upf.free5gc.org
networkInstances: # Data Network Name (DNN)
- internet
- interfaceType: N9 # the type of the interface (N3 or N9)
endpoints: # the IP address of this N3/N9 interface on this UPF
- i-upf.free5gc.org
networkInstances: # Data Network Name (DNN)
- internet
UPF-1: # the name of the node
type: UPF # the type of the node (AN or UPF)
nodeID: upf-1.free5gc.org # the Node ID of this UPF
sNssaiUpfInfos: # S-NSSAI information list for this UPF
- sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
sst: 1 # Slice/Service Type (uinteger, range: 0~255)
sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
dnnUpfInfoList: # DNN information list for this S-NSSAI
- dnn: internet
pools:
- cidr: 10.60.0.0/16
interfaces: # Interface list for this UPF
- interfaceType: N9 # the type of the interface (N3 or N9)
endpoints: # the IP address of this N3/N9 interface on this UPF
- upf-1.free5gc.org
networkInstances: # Data Network Name (DNN)
- internet
UPF-2: # the name of the node
type: UPF # the type of the node (AN or UPF)
nodeID: upf-2.free5gc.org # the Node ID of this UPF
sNssaiUpfInfos: # S-NSSAI information list for this UPF
- sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information)
sst: 1 # Slice/Service Type (uinteger, range: 0~255)
sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF)
dnnUpfInfoList: # DNN information list for this S-NSSAI
- dnn: internet
pools:
- cidr: 10.61.0.1/32
interfaces: # Interface list for this UPF
- interfaceType: N9 # the type of the interface (N3 or N9)
endpoints: # the IP address of this N3/N9 interface on this UPF
- upf-2.free5gc.org
networkInstances: # Data Network Name (DNN)
- internet
links: # the topology graph of userplane, A and B represent the two nodes of each link
- A: gNB1
B: i-UPF
- A: i-UPF
B: UPF-1
- A: i-UPF
B: UPF-2
ulcl: true
# retransmission timer for pdu session modification command
t3591:
enable: true # true or false
expireTime: 16s # default is 6 seconds
maxRetryTimes: 3 # the max number of retransmission
# retransmission timer for pdu session release command
t3592:
enable: true # true or false
expireTime: 16s # default is 6 seconds
maxRetryTimes: 3 # the max number of retransmission
nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF
nrfCertPem: cert/nrf.pem # NRF Certificate
urrPeriod: 10 # default usage report period in seconds
urrThreshold: 1000 # default usage report threshold in bytes
requestedUnit: 1000
logger: # log output setting
enable: true # true or false
level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic
reportCaller: false # enable the caller report or not, value: true or false
15 changes: 15 additions & 0 deletions config/ULCL/uerouting.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
info:
version: 1.0.7
description: Routing information for UE

ueRoutingInfo: # the list of UE routing information
UE1: # Group Name
members:
- imsi-208930000000001 # Subscription Permanent Identifier of the UE
topology: # Network topology for this group (Uplink: A->B, Downlink: B->A)
# default path derived from this topology
# node name should be consistent with smfcfg.yaml
- A: gNB1
B: i-UPF
- A: i-UPF
B: UPF-1
27 changes: 27 additions & 0 deletions config/ULCL/upfcfg-1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 1.0.3
description: UPF initial local configuration

# The listen IP and nodeID of the N4 interface on this UPF (Can't set to 0.0.0.0)
pfcp:
addr: upf-1.free5gc.org # IP addr for listening
nodeID: upf-1.free5gc.org # External IP or FQDN can be reached
retransTimeout: 1s # retransmission timeout
maxRetrans: 3 # the max number of retransmission

gtpu:
forwarder: gtp5g
# The IP list of the N3/N9 interfaces on this UPF
# If there are multiple connection, set addr to 0.0.0.0 or list all the addresses
ifList:
- addr: upf-1.free5gc.org
type: N9

# The DNN list supported by UPF
dnnList:
- dnn: internet # Data Network Name
cidr: 10.60.0.0/24 # Classless Inter-Domain Routing for assigned IPv4 pool of UE

logger: # log output setting
enable: true # true or false
level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic
reportCaller: false # enable the caller report or not, value: true or false
27 changes: 27 additions & 0 deletions config/ULCL/upfcfg-2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 1.0.3
description: UPF initial local configuration

# The listen IP and nodeID of the N4 interface on this UPF (Can't set to 0.0.0.0)
pfcp:
addr: upf-2.free5gc.org # IP addr for listening
nodeID: upf-2.free5gc.org # External IP or FQDN can be reached
retransTimeout: 1s # retransmission timeout
maxRetrans: 3 # the max number of retransmission

gtpu:
forwarder: gtp5g
# The IP list of the N3/N9 interfaces on this UPF
# If there are multiple connection, set addr to 0.0.0.0 or list all the addresses
ifList:
- addr: upf-2.free5gc.org
type: N9

# The DNN list supported by UPF
dnnList:
- dnn: internet # Data Network Name
cidr: 10.61.0.0/24 # Classless Inter-Domain Routing for assigned IPv4 pool of UE

logger: # log output setting
enable: true # true or false
level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic
reportCaller: false # enable the caller report or not, value: true or false
31 changes: 31 additions & 0 deletions config/ULCL/upfcfg-i-upf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
version: 1.0.3
description: UPF initial local configuration

# The listen IP and nodeID of the N4 interface on this UPF (Can't set to 0.0.0.0)
pfcp:
addr: i-upf.free5gc.org # IP addr for listening
nodeID: i-upf.free5gc.org # External IP or FQDN can be reached
retransTimeout: 1s # retransmission timeout
maxRetrans: 3 # the max number of retransmission

gtpu:
forwarder: gtp5g
# The IP list of the N3/N9 interfaces on this UPF
# If there are multiple connection, set addr to 0.0.0.0 or list all the addresses
ifList:
- addr: i-upf.free5gc.org
type: N3
- addr: i-upf.free5gc.org
type: N9

# The DNN list supported by UPF
dnnList:
- dnn: internet # Data Network Name
cidr: 10.60.0.0/24 # Classless Inter-Domain Routing for assigned IPv4 pool of UE
- dnn: internet # Data Network Name
cidr: 10.61.0.0/24 # Classless Inter-Domain Routing for assigned IPv4 pool of UE

logger: # log output setting
enable: true # true or false
level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic
reportCaller: false # enable the caller report or not, value: true or false
Loading

0 comments on commit 97ce26c

Please sign in to comment.