From 4df3ebe0b4f562010805e55f4ac39c920d3e3025 Mon Sep 17 00:00:00 2001 From: ianchen0119 Date: Thu, 8 Jun 2023 10:46:14 +0000 Subject: [PATCH] release free5GC v3.3.0 --- base/Dockerfile.nf | 4 +- base/Dockerfile.nf.webconsole | 4 +- config/amfcfg.yaml | 71 ++++++++++++++-------------- config/ausfcfg.yaml | 18 ++++--- config/n3iwfcfg.yaml | 33 ++++++------- config/nrfcfg.yaml | 17 +++---- config/nssfcfg.yaml | 17 +++---- config/pcfcfg.yaml | 20 ++++---- config/smfcfg.yaml | 88 ++++++++++++++++++++++------------- config/udmcfg.yaml | 17 +++---- config/udrcfg.yaml | 17 +++---- config/uerouting.yaml | 42 +++++++++++++++-- config/upfcfg.yaml | 1 + config/webuicfg.yaml | 22 ++------- docker-compose.yaml | 22 ++++----- nf_amf/Dockerfile | 6 +-- nf_ausf/Dockerfile | 6 +-- nf_n3iwf/Dockerfile | 6 +-- nf_nrf/Dockerfile | 6 +-- nf_nssf/Dockerfile | 6 +-- nf_pcf/Dockerfile | 6 +-- nf_smf/Dockerfile | 6 +-- nf_udm/Dockerfile | 6 +-- nf_udr/Dockerfile | 6 +-- 24 files changed, 237 insertions(+), 210 deletions(-) diff --git a/base/Dockerfile.nf b/base/Dockerfile.nf index d099718..11ededf 100644 --- a/base/Dockerfile.nf +++ b/base/Dockerfile.nf @@ -17,7 +17,7 @@ RUN cd $GOPATH/src/free5gc \ FROM alpine:3.15 WORKDIR /free5gc -RUN mkdir -p config/TLS/ public +RUN mkdir -p cert/ public # Copy executables COPY --from=my-base /go/src/free5gc/bin/${F5GC_MODULE} ./ @@ -26,4 +26,4 @@ COPY --from=my-base /go/src/free5gc/bin/${F5GC_MODULE} ./ COPY --from=my-base /go/src/free5gc/config/* ./config/ # Copy default certificates (not used for now) -COPY --from=my-base /go/src/free5gc/config/TLS/* ./config/TLS/ +COPY --from=my-base /go/src/free5gc/cert/* ./cert/ diff --git a/base/Dockerfile.nf.webconsole b/base/Dockerfile.nf.webconsole index aca7a4f..478dd65 100644 --- a/base/Dockerfile.nf.webconsole +++ b/base/Dockerfile.nf.webconsole @@ -16,7 +16,7 @@ RUN cd $GOPATH/src/free5gc \ FROM alpine:3.15 WORKDIR /free5gc -RUN mkdir -p config/TLS/ public +RUN mkdir -p cert/ public # Copy executables COPY --from=my-base /go/src/free5gc/webconsole/bin/webconsole ./webui @@ -28,4 +28,4 @@ COPY --from=my-base /go/src/free5gc/webconsole/public ./public COPY --from=my-base /go/src/free5gc/config/* ./config/ # Copy default certificates (not used for now) -COPY --from=my-base /go/src/free5gc/config/TLS/* ./config/TLS/ +COPY --from=my-base /go/src/free5gc/cert/* ./cert/ diff --git a/config/amfcfg.yaml b/config/amfcfg.yaml index 018e520..f24eab2 100644 --- a/config/amfcfg.yaml +++ b/config/amfcfg.yaml @@ -1,19 +1,20 @@ info: - version: 1.0.3 + version: 1.0.9 description: AMF initial local configuration configuration: amfName: AMF # the name of this AMF ngapIpList: # the IP list of N2 interfaces on this AMF - amf.free5gc.org + ngapPort: 38412 # the SCTP port listened by NGAP sbi: # Service-based interface information scheme: http # the protocol for sbi (http or https) registerIPv4: amf.free5gc.org # IP used to register to NRF bindingIPv4: amf.free5gc.org # IP used to bind the service port: 8000 # port used to bind the service tls: # the local path of TLS key - pem: ./config/TLS/amf.pem # AMF TLS Certificate - key: ./config/TLS/amf.key # AMF TLS Private key + pem: cert/amf.pem # AMF TLS Certificate + key: cert/amf.key # AMF TLS Private key serviceNameList: # the SBI services provided by this AMF, refer to TS 29.518 - namf-comm # Namf_Communication service - namf-evts # Namf_EventExposure service @@ -30,7 +31,7 @@ configuration: - plmnId: # Public Land Mobile Network ID, = mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) - tac: 1 # Tracking Area Code (uinteger, range: 0~16777215) + tac: 000001 # Tracking Area Code (3 bytes hex string, range: 000000~FFFFFF) plmnSupportList: # the PLMNs (Public land mobile network) list supported by this AMF - plmnId: # Public Land Mobile Network ID, = mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) @@ -53,20 +54,27 @@ configuration: networkName: # the name of this core network full: free5GC short: free - locality: area1 # Name of the location where a set of AMF, SMF and UPFs are located - networkFeatureSupport5GS: # 5gs Network Feature Support IE, refer to TS 24.501 - enable: true # append this IE in Registration accept or not - length: 1 # IE content length (uinteger, range: 1~3) - imsVoPS: 0 # IMS voice over PS session indicator (uinteger, range: 0~1) - emc: 0 # Emergency service support indicator for 3GPP access (uinteger, range: 0~3) - emf: 0 # Emergency service fallback indicator for 3GPP access (uinteger, range: 0~3) - iwkN26: 0 # Interworking without N26 interface indicator (uinteger, range: 0~1) - mpsi: 0 # MPS indicator (uinteger, range: 0~1) - emcN3: 0 # Emergency service support indicator for Non-3GPP access (uinteger, range: 0~1) - mcsi: 0 # MCS indicator (uinteger, range: 0~1) + ngapIE: # Optional NGAP IEs + mobilityRestrictionList: # Mobility Restriction List IE, refer to TS 38.413 + enable: true # append this IE in related message or not + maskedIMEISV: # Masked IMEISV IE, refer to TS 38.413 + enable: true # append this IE in related message or not + redirectionVoiceFallback: # Redirection Voice Fallback IE, refer to TS 38.413 + enable: false # append this IE in related message or not + nasIE: # Optional NAS IEs + networkFeatureSupport5GS: # 5gs Network Feature Support IE, refer to TS 24.501 + enable: true # append this IE in Registration accept or not + length: 1 # IE content length (uinteger, range: 1~3) + imsVoPS: 0 # IMS voice over PS session indicator (uinteger, range: 0~1) + emc: 0 # Emergency service support indicator for 3GPP access (uinteger, range: 0~3) + emf: 0 # Emergency service fallback indicator for 3GPP access (uinteger, range: 0~3) + iwkN26: 0 # Interworking without N26 interface indicator (uinteger, range: 0~1) + mpsi: 0 # MPS indicator (uinteger, range: 0~1) + emcN3: 0 # Emergency service support indicator for Non-3GPP access (uinteger, range: 0~1) + mcsi: 0 # MCS indicator (uinteger, range: 0~1) t3502Value: 720 # timer value (seconds) at UE side t3512Value: 3600 # timer value (seconds) at UE side - non3gppDeregistrationTimerValue: 3240 # timer value (seconds) at UE side + non3gppDeregTimerValue: 3240 # timer value (seconds) at UE side # retransmission timer for paging message t3513: enable: true # true or false @@ -92,27 +100,20 @@ configuration: enable: true # true or false expireTime: 6s # default is 6 seconds maxRetryTimes: 4 # the max number of retransmission + # retransmission timer for NAS Identity Request message t3570: enable: true # true or false expireTime: 6s # default is 6 seconds maxRetryTimes: 4 # the max number of retransmission + locality: area1 # Name of the location where a set of AMF, SMF, PCF and UPFs are located + sctp: # set the sctp server setting , once this field is set, please also add maxInputStream, maxOsStream, maxAttempts, maxInitTimeOut + numOstreams: 3 # the maximum out streams of each sctp connection + maxInstreams: 5 # the maximum in streams of each sctp connection + maxAttempts: 2 # the maximum attempts of each sctp connection + maxInitTimeout: 2 # the maximum init timeout of each sctp connection + defaultUECtxReq: false # the default value of UE Context Request to decide when triggering Initial Context Setup procedure -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - AMF: - debugLevel: info - ReportCaller: false - NAS: - debugLevel: info - ReportCaller: false - FSM: - debugLevel: info - ReportCaller: false - NGAP: - debugLevel: info - ReportCaller: false - Aper: - debugLevel: info - ReportCaller: false +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 diff --git a/config/ausfcfg.yaml b/config/ausfcfg.yaml index 685d315..b616808 100644 --- a/config/ausfcfg.yaml +++ b/config/ausfcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.2 + version: 1.0.3 description: AUSF initial local configuration configuration: @@ -9,8 +9,8 @@ configuration: bindingIPv4: ausf.free5gc.org # IP used to bind the service port: 8000 # Port used to bind the service tls: # the local path of TLS key - pem: ./config/TLS/ausf.pem # AUSF TLS Certificate - key: ./config/TLS/ausf.key # AUSF TLS Private key + pem: cert/ausf.pem # AUSF TLS Certificate + key: cert/ausf.key # AUSF TLS Private key serviceNameList: # the SBI services provided by this AUSF, refer to TS 29.509 - nausf-auth # Nausf_UEAuthentication service nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF @@ -20,11 +20,9 @@ configuration: - mcc: 123 # Mobile Country Code (3 digits string, digit: 0~9) mnc: 45 # Mobile Network Code (2 or 3 digits string, digit: 0~9) groupId: ausfGroup001 # ID for the group of the AUSF + eapAkaSupiImsiPrefix: false # including "imsi-" prefix or not when using the SUPI to do EAP-AKA' authentication -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - AUSF: - debugLevel: info - ReportCaller: false +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 diff --git a/config/n3iwfcfg.yaml b/config/n3iwfcfg.yaml index 2d49cb7..b153001 100644 --- a/config/n3iwfcfg.yaml +++ b/config/n3iwfcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.3 + version: 1.0.5 description: N3IWF initial local configuration configuration: @@ -44,20 +44,17 @@ configuration: FQDN: n3iwf.free5gc.org # FQDN of this N3IWF # --- Security --- - PrivateKey: ./config/TLS/n3iwf.key # Private key file path - CertificateAuthority: ./config/TLS/n3iwf.pem # Certificate Authority (CA) file path - Certificate: ./config/TLS/n3iwf.pem # Certificate file path - -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - N3IWF: # The default log level is DEBUG to print SA keys. Please change it to INFO when deployed. - debugLevel: debug - ReportCaller: false - NGAP: - debugLevel: info - ReportCaller: false - Aper: - debugLevel: info - ReportCaller: false \ No newline at end of file + PrivateKey: cert/n3iwf.key # Private key file path + CertificateAuthority: cert/n3iwf.pem # Certificate Authority (CA) file path + Certificate: cert/n3iwf.pem # Certificate file path + + # sending dead peer detection message + LivenessCheck: + enable: true # true or false + transFreq: 60s # frequency of transmission + maxRetryTimes: 4 # the max number of DPD response 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 diff --git a/config/nrfcfg.yaml b/config/nrfcfg.yaml index d79fd84..fc49183 100644 --- a/config/nrfcfg.yaml +++ b/config/nrfcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.1 + version: 1.0.2 description: NRF initial local configuration configuration: @@ -11,8 +11,8 @@ configuration: bindingIPv4: nrf.free5gc.org # IP used to bind the service port: 8000 # port used to bind the service tls: # the local path of TLS key - pem: ./config/TLS/nrf.pem # NRF TLS Certificate - key: ./config/TLS/nrf.key # NRF TLS Private key + pem: cert/nrf.pem # NRF TLS Certificate + key: cert/nrf.key # NRF TLS Private key DefaultPlmnId: mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) @@ -20,10 +20,7 @@ configuration: - nnrf-nfm # Nnrf_NFManagement service - nnrf-disc # Nnrf_NFDiscovery service -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - NRF: - debugLevel: info - ReportCaller: false +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 diff --git a/config/nssfcfg.yaml b/config/nssfcfg.yaml index 94c90af..9424cb5 100644 --- a/config/nssfcfg.yaml +++ b/config/nssfcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.1 + version: 1.0.2 description: NSSF initial local configuration configuration: @@ -10,8 +10,8 @@ configuration: bindingIPv4: nssf.free5gc.org # IP used to bind the service port: 8000 # Port used to bind the service tls: # the local path of TLS key - pem: ./config/TLS/nssf.pem # NSSF TLS Certificate - key: ./config/TLS/nssf.key # NSSF TLS Private key + pem: cert/nssf.pem # NSSF TLS Certificate + key: cert/nssf.key # NSSF TLS Private key serviceNameList: # the SBI services provided by this SMF, refer to TS 29.531 - nnssf-nsselection # Nnssf_NSSelection service - nnssf-nssaiavailability # Nnssf_NSSAIAvailability service @@ -346,10 +346,7 @@ configuration: sst: 1 # Slice/Service Type (uinteger, range: 0~255) sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - NSSF: - debugLevel: info - ReportCaller: false +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 diff --git a/config/pcfcfg.yaml b/config/pcfcfg.yaml index c118886..a2b5018 100644 --- a/config/pcfcfg.yaml +++ b/config/pcfcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.1 + version: 1.0.2 description: PCF initial local configuration configuration: @@ -10,8 +10,8 @@ configuration: bindingIPv4: pcf.free5gc.org # IP used to bind the service port: 8000 # port used to bind the service tls: # the local path of TLS key - pem: ./config/TLS/pcf.pem # PCF TLS Certificate - key: ./config/TLS/pcf.key # PCF TLS Private key + pem: cert/pcf.pem # PCF TLS Certificate + key: cert/pcf.key # PCF TLS Private key timeFormat: 2019-01-02 15:04:05 # time format of this PCF defaultBdtRefId: BdtPolicyId- # BDT Reference ID, indicating transfer policies of background data transfer. nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF @@ -27,11 +27,9 @@ configuration: mongodb: # the mongodb connected by this PCF name: free5gc # name of the mongodb url: mongodb://db:27017 # a valid URL of the mongodb - locality: area1 -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - PCF: - debugLevel: info - ReportCaller: false + locality: area1 # Name of the location where a set of AMF, SMF, PCF and UPFs are located + +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 diff --git a/config/smfcfg.yaml b/config/smfcfg.yaml index b57a252..412c537 100644 --- a/config/smfcfg.yaml +++ b/config/smfcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.2 + version: 1.0.7 description: SMF initial local configuration configuration: @@ -7,16 +7,16 @@ configuration: 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 + 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: ./config/TLS/smf.key # SMF TLS Certificate - pem: ./config/TLS/smf.pem # SMF TLS Private 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 SMF + 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) @@ -24,19 +24,32 @@ configuration: - dnn: internet # Data Network Name dns: # the IP address of DNS ipv4: 8.8.8.8 + ipv6: 2001:4860:4860::8888 + - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information) + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 112233 # 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 and UPFs are located + - 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: smf.free5gc.org + # 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) userplaneInformation: # list of userplane information upNodes: # information of userplane node (AN or UPF) - gNB: # the name of the node + gNB1: # the name of the node type: AN # the type of the node (AN or UPF) - UPF: # the name of the node + UPF: # the name of the node type: UPF # the type of the node (AN or UPF) - nodeID: upf.free5gc.org # the IP/FQDN of N4 interface on this UPF (PFCP) + nodeID: upf.free5gc.org # the Node ID of this UPF + addr: upf.free5gc.org # the IP/FQDN of N4 interface on this UPF (PFCP) 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) @@ -45,32 +58,41 @@ configuration: - dnn: internet pools: - cidr: 10.60.0.0/16 + staticPools: + - cidr: 10.60.100.0/24 + - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information) + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + dnnUpfInfoList: # DNN information list for this S-NSSAI + - dnn: internet + pools: + - cidr: 10.61.0.0/16 + staticPools: + - cidr: 10.61.100.0/24 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 - upf.free5gc.org - networkInstance: internet # Data Network Name (DNN) + networkInstances: # Data Network Name (DNN) + - internet links: # the topology graph of userplane, A and B represent the two nodes of each link - - A: gNB + - A: gNB1 B: UPF + # 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 + #urrPeriod: 10 # default usage report period in seconds + #urrThreshold: 1000 # default usage report threshold in bytes -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - SMF: - debugLevel: info - ReportCaller: false - NAS: - debugLevel: info - ReportCaller: false - NGAP: - debugLevel: info - ReportCaller: false - Aper: - debugLevel: info - ReportCaller: false - PFCP: - debugLevel: info - ReportCaller: false +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 diff --git a/config/udmcfg.yaml b/config/udmcfg.yaml index 85d4fa4..a3713bf 100644 --- a/config/udmcfg.yaml +++ b/config/udmcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.2 + version: 1.0.3 description: UDM initial local configuration configuration: @@ -15,8 +15,8 @@ configuration: bindingIPv4: udm.free5gc.org # IP used to bind the service port: 8000 # Port used to bind the service tls: # the local path of TLS key - pem: ./config/TLS/udm.pem # UDM TLS Certificate - key: ./config/TLS/udm.key # UDM TLS Private key + pem: cert/udm.pem # UDM TLS Certificate + key: cert/udm.key # UDM TLS Private key nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF # test data set from TS33501-f60 Annex C.4 @@ -28,10 +28,7 @@ configuration: PrivateKey: F1AB1074477EBCC7F554EA1C5FC368B1616730155E0041AC447D6301975FECDA PublicKey: 0472DA71976234CE833A6907425867B82E074D44EF907DFB4B3E21C1C2256EBCD15A7DED52FCBB097A4ED250E036C7B9C8C7004C4EEDC4F068CD7BF8D3F900E3B4 -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - UDM: - debugLevel: info - ReportCaller: false +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 diff --git a/config/udrcfg.yaml b/config/udrcfg.yaml index 6bf1d60..bb7f1e1 100644 --- a/config/udrcfg.yaml +++ b/config/udrcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.1 + version: 1.0.2 description: UDR initial local configuration configuration: @@ -9,17 +9,14 @@ configuration: bindingIPv4: udr.free5gc.org # IP used to bind the service port: 8000 # port used to bind the service tls: # the local path of TLS key - pem: ./config/TLS/udr.pem # UDR TLS Certificate - key: ./config/TLS/udr.key # UDR TLS Private key + pem: cert/udr.pem # UDR TLS Certificate + key: cert/udr.key # UDR TLS Private key mongodb: name: free5gc # Database name in MongoDB url: mongodb://db:27017 # URL of MongoDB nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - UDR: - debugLevel: info - ReportCaller: false +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 diff --git a/config/uerouting.yaml b/config/uerouting.yaml index 4162faf..f39184b 100644 --- a/config/uerouting.yaml +++ b/config/uerouting.yaml @@ -1,13 +1,47 @@ info: - version: 1.0.1 + 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 + - imsi-208930000007487 # 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: gNB - B: UPF + - A: gNB1 + B: BranchingUPF + - A: BranchingUPF + B: AnchorUPF1 + specificPath: + - dest: 10.60.0.103/32 # the destination IP address on Data Network (DN) + # the order of UPF nodes in this path. We use the UPF's name to represent each UPF node. + # The UPF's name should be consistent with smfcfg.yaml + path: [BranchingUPF, AnchorUPF2] + + UE2: # Group Name + members: + - imsi-208930000007486 # 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: BranchingUPF + - A: BranchingUPF + B: AnchorUPF1 + specificPath: + - dest: 10.0.0.11/32 # the destination IP address on Data Network (DN) + # the order of UPF nodes in this path. We use the UPF's name to represent each UPF node. + # The UPF's name should be consistent with smfcfg.yaml + path: [BranchingUPF, AnchorUPF2] + +routeProfile: # Maintains the mapping between RouteProfileID and ForwardingPolicyID of UPF + MEC1: # Route Profile identifier + forwardingPolicyID: 10 # Forwarding Policy ID of the route profile + +pfdDataForApp: # PFDs for an Application + - applicationId: edge # Application identifier + pfds: # PFDs for the Application + - pfdID: pfd1 # PFD identifier + flowDescriptions: # Represents a 3-tuple with protocol, server ip and server port for UL/DL application traffic + - permit out ip from 10.60.0.1 8080 to any diff --git a/config/upfcfg.yaml b/config/upfcfg.yaml index cd2dbe8..9ac5ccd 100644 --- a/config/upfcfg.yaml +++ b/config/upfcfg.yaml @@ -17,6 +17,7 @@ gtpu: type: N3 # name: upf.5gc.nctu.me # ifname: gtpif + # mtu: 1400 # The DNN list supported by UPF dnnList: diff --git a/config/webuicfg.yaml b/config/webuicfg.yaml index ff8850f..57db90c 100644 --- a/config/webuicfg.yaml +++ b/config/webuicfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.0 + version: 1.0.1 description: WebUI initial local configuration configuration: @@ -7,19 +7,7 @@ configuration: name: free5gc # name of the mongodb url: mongodb://db:27017 # a valid URL of the mongodb -# the kind of log output -# debugLevel: how detailed to output, value: trace, debug, info, warn, error, fatal, panic -# ReportCaller: enable the caller report or not, value: true or false -logger: - WEBUI: - debugLevel: info - ReportCaller: true - PathUtil: - debugLevel: info - ReportCaller: false - OpenApi: - debugLevel: info - ReportCaller: false - MongoDBLibrary: - debugLevel: info - ReportCaller: false +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 diff --git a/docker-compose.yaml b/docker-compose.yaml index 084050e..15615b6 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -3,7 +3,7 @@ version: '3.8' services: free5gc-upf: container_name: upf - image: free5gc/upf:v3.2.1 + image: free5gc/upf:v3.3.0 command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" volumes: - ./config/upfcfg.yaml:/free5gc/config/upfcfg.yaml @@ -30,7 +30,7 @@ services: free5gc-nrf: container_name: nrf - image: free5gc/nrf:v3.2.1 + image: free5gc/nrf:v3.3.0 command: ./nrf -c ./config/nrfcfg.yaml expose: - "8000" @@ -48,7 +48,7 @@ services: free5gc-amf: container_name: amf - image: free5gc/amf:v3.2.1 + image: free5gc/amf:v3.3.0 command: ./amf -c ./config/amfcfg.yaml expose: - "8000" @@ -65,7 +65,7 @@ services: free5gc-ausf: container_name: ausf - image: free5gc/ausf:v3.2.1 + image: free5gc/ausf:v3.3.0 command: ./ausf -c ./config/ausfcfg.yaml expose: - "8000" @@ -82,7 +82,7 @@ services: free5gc-nssf: container_name: nssf - image: free5gc/nssf:v3.2.1 + image: free5gc/nssf:v3.3.0 command: ./nssf -c ./config/nssfcfg.yaml expose: - "8000" @@ -99,7 +99,7 @@ services: free5gc-pcf: container_name: pcf - image: free5gc/pcf:v3.2.1 + image: free5gc/pcf:v3.3.0 command: ./pcf -c ./config/pcfcfg.yaml expose: - "8000" @@ -116,7 +116,7 @@ services: free5gc-smf: container_name: smf - image: free5gc/smf:v3.2.1 + image: free5gc/smf:v3.3.0 command: ./smf -c ./config/smfcfg.yaml -u ./config/uerouting.yaml expose: - "8000" @@ -135,7 +135,7 @@ services: free5gc-udm: container_name: udm - image: free5gc/udm:v3.2.1 + image: free5gc/udm:v3.3.0 command: ./udm -c ./config/udmcfg.yaml expose: - "8000" @@ -153,7 +153,7 @@ services: free5gc-udr: container_name: udr - image: free5gc/udr:v3.2.1 + image: free5gc/udr:v3.3.0 command: ./udr -c ./config/udrcfg.yaml expose: - "8000" @@ -172,7 +172,7 @@ services: free5gc-n3iwf: container_name: n3iwf - image: free5gc/n3iwf:v3.2.1 + image: free5gc/n3iwf:v3.3.0 command: sh -c "./n3iwf-ipsec.sh && ./n3iwf -c ./config/n3iwfcfg.yaml" volumes: - ./config/n3iwfcfg.yaml:/free5gc/config/n3iwfcfg.yaml @@ -192,7 +192,7 @@ services: free5gc-webui: container_name: webui - image: free5gc/webui:v3.2.1 + image: free5gc/webui:v3.3.0 command: ./webui -c ./config/webuicfg.yaml volumes: - ./config/webuicfg.yaml:/free5gc/config/webuicfg.yaml diff --git a/nf_amf/Dockerfile b/nf_amf/Dockerfile index 68034d8..4cca1b3 100644 --- a/nf_amf/Dockerfile +++ b/nf_amf/Dockerfile @@ -12,12 +12,12 @@ RUN if [ "$DEBUG_TOOLS" = "true" ] ; then apk add -U vim strace net-tools curl n # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ] diff --git a/nf_ausf/Dockerfile b/nf_ausf/Dockerfile index e68d460..bea60a1 100644 --- a/nf_ausf/Dockerfile +++ b/nf_ausf/Dockerfile @@ -12,12 +12,12 @@ RUN if [ "$DEBUG_TOOLS" = "true" ] ; then apk add -U vim strace net-tools curl n # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ] diff --git a/nf_n3iwf/Dockerfile b/nf_n3iwf/Dockerfile index 9c94bf6..bb2b50f 100644 --- a/nf_n3iwf/Dockerfile +++ b/nf_n3iwf/Dockerfile @@ -15,12 +15,12 @@ RUN apk add -U iproute2 # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ] diff --git a/nf_nrf/Dockerfile b/nf_nrf/Dockerfile index 3e663fa..87c2437 100644 --- a/nf_nrf/Dockerfile +++ b/nf_nrf/Dockerfile @@ -12,12 +12,12 @@ RUN if [ "$DEBUG_TOOLS" = "true" ] ; then apk add -U vim strace net-tools curl n # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ] diff --git a/nf_nssf/Dockerfile b/nf_nssf/Dockerfile index 822a652..09c4013 100644 --- a/nf_nssf/Dockerfile +++ b/nf_nssf/Dockerfile @@ -12,12 +12,12 @@ RUN if [ "$DEBUG_TOOLS" = "true" ] ; then apk add -U vim strace net-tools curl n # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ] diff --git a/nf_pcf/Dockerfile b/nf_pcf/Dockerfile index 175d732..5688757 100644 --- a/nf_pcf/Dockerfile +++ b/nf_pcf/Dockerfile @@ -12,12 +12,12 @@ RUN if [ "$DEBUG_TOOLS" = "true" ] ; then apk add -U vim strace net-tools curl n # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ] diff --git a/nf_smf/Dockerfile b/nf_smf/Dockerfile index 1e14446..1306bd2 100644 --- a/nf_smf/Dockerfile +++ b/nf_smf/Dockerfile @@ -12,12 +12,12 @@ RUN if [ "$DEBUG_TOOLS" = "true" ] ; then apk add -U vim strace net-tools curl n # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ] diff --git a/nf_udm/Dockerfile b/nf_udm/Dockerfile index 470d485..f2ac05c 100644 --- a/nf_udm/Dockerfile +++ b/nf_udm/Dockerfile @@ -12,12 +12,12 @@ RUN if [ "$DEBUG_TOOLS" = "true" ] ; then apk add -U vim strace net-tools curl n # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ] diff --git a/nf_udr/Dockerfile b/nf_udr/Dockerfile index 2e151de..4b1270c 100644 --- a/nf_udr/Dockerfile +++ b/nf_udr/Dockerfile @@ -12,12 +12,12 @@ RUN if [ "$DEBUG_TOOLS" = "true" ] ; then apk add -U vim strace net-tools curl n # Set working dir WORKDIR /free5gc -RUN mkdir -p config/ log/ config/TLS/ +RUN mkdir -p config/ log/ cert/ # Copy executable and default certs COPY --from=builder /free5gc/${F5GC_MODULE} ./ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.pem ./config/TLS/ -COPY --from=builder /free5gc/config/TLS/${F5GC_MODULE}.key ./config/TLS/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.pem ./cert/ +COPY --from=builder /free5gc/cert/${F5GC_MODULE}.key ./cert/ # Config files volume VOLUME [ "/free5gc/config" ]