From 1f6774d9745a23f0cc70d7415d99b20bdc26f9e3 Mon Sep 17 00:00:00 2001 From: "CTFang@WireLab" Date: Wed, 3 Jul 2024 05:11:32 +0000 Subject: [PATCH 1/4] fix: simplify ULCL and update config to free5gc v3.4.2 --- .gitignore | 3 + config/ULCL/smfcfg.yaml | 34 +- config/ULCL/uerouting.yaml | 12 +- config/ULCL/upfcfg-2.yaml | 27 -- config/ULCL/upfcfg-i-upf.yaml | 4 +- .../{upfcfg-1.yaml => upfcfg-psa-upf.yaml} | 8 +- config/udrcfg.yaml | 3 +- config/uecfg-ulcl.yaml | 73 ++++ config/uerouting.yaml | 21 +- config/upfcfg.yaml | 4 +- config/webuicfg.yaml | 6 +- docker-compose-ulcl-build.yaml | 322 ++++++++++++++++++ docker-compose-ulcl.yaml | 40 +-- 13 files changed, 449 insertions(+), 108 deletions(-) delete mode 100644 config/ULCL/upfcfg-2.yaml rename config/ULCL/{upfcfg-1.yaml => upfcfg-psa-upf.yaml} (78%) create mode 100644 config/uecfg-ulcl.yaml create mode 100644 docker-compose-ulcl-build.yaml diff --git a/.gitignore b/.gitignore index 3510300..0888f88 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# vscode +.vscode + mongodb base/free5gc diff --git a/config/ULCL/smfcfg.yaml b/config/ULCL/smfcfg.yaml index 12cb178..1f65d7c 100644 --- a/config/ULCL/smfcfg.yaml +++ b/config/ULCL/smfcfg.yaml @@ -40,7 +40,7 @@ configuration: 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 + 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 @@ -60,9 +60,9 @@ configuration: - i-upf.free5gc.org networkInstances: # Data Network Name (DNN) - internet - UPF-1: # the name of the node + PSA-UPF: # 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 + nodeID: psa-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) @@ -74,34 +74,14 @@ configuration: 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 + - psa-upf.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 + B: I-UPF + - A: I-UPF + B: PSA-UPF # retransmission timer for pdu session modification command t3591: enable: true # true or false diff --git a/config/ULCL/uerouting.yaml b/config/ULCL/uerouting.yaml index 63dd5e8..43445c8 100644 --- a/config/ULCL/uerouting.yaml +++ b/config/ULCL/uerouting.yaml @@ -5,11 +5,11 @@ info: ueRoutingInfo: # the list of UE routing information UE1: # Group Name members: - - imsi-208930000000001 # Subscription Permanent Identifier of the UE + - 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 + # 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 + B: I-UPF + - A: I-UPF + B: PSA-UPF diff --git a/config/ULCL/upfcfg-2.yaml b/config/ULCL/upfcfg-2.yaml deleted file mode 100644 index 89cd295..0000000 --- a/config/ULCL/upfcfg-2.yaml +++ /dev/null @@ -1,27 +0,0 @@ -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 diff --git a/config/ULCL/upfcfg-i-upf.yaml b/config/ULCL/upfcfg-i-upf.yaml index e73e25a..39f1883 100644 --- a/config/ULCL/upfcfg-i-upf.yaml +++ b/config/ULCL/upfcfg-i-upf.yaml @@ -21,9 +21,9 @@ gtpu: # 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 + cidr: 10.60.0.0/16 # 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 + cidr: 10.61.0.0/16 # Classless Inter-Domain Routing for assigned IPv4 pool of UE logger: # log output setting enable: true # true or false diff --git a/config/ULCL/upfcfg-1.yaml b/config/ULCL/upfcfg-psa-upf.yaml similarity index 78% rename from config/ULCL/upfcfg-1.yaml rename to config/ULCL/upfcfg-psa-upf.yaml index 176aacc..bd21f44 100644 --- a/config/ULCL/upfcfg-1.yaml +++ b/config/ULCL/upfcfg-psa-upf.yaml @@ -3,8 +3,8 @@ 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 + addr: psa-upf.free5gc.org # IP addr for listening + nodeID: psa-upf.free5gc.org # External IP or FQDN can be reached retransTimeout: 1s # retransmission timeout maxRetrans: 3 # the max number of retransmission @@ -13,13 +13,13 @@ gtpu: # 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 + - addr: psa-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 + cidr: 10.60.0.0/16 # Classless Inter-Domain Routing for assigned IPv4 pool of UE logger: # log output setting enable: true # true or false diff --git a/config/udrcfg.yaml b/config/udrcfg.yaml index a225ae8..97c01be 100644 --- a/config/udrcfg.yaml +++ b/config/udrcfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.2 + version: 1.1.0 description: UDR initial local configuration configuration: @@ -11,6 +11,7 @@ configuration: tls: # the local path of TLS key pem: cert/udr.pem # UDR TLS Certificate key: cert/udr.key # UDR TLS Private key + dbConnectorType: mongodb mongodb: name: free5gc # Database name in MongoDB url: mongodb://db:27017 # URL of MongoDB diff --git a/config/uecfg-ulcl.yaml b/config/uecfg-ulcl.yaml new file mode 100644 index 0000000..bc11c1f --- /dev/null +++ b/config/uecfg-ulcl.yaml @@ -0,0 +1,73 @@ +# IMSI number of the UE. IMSI = [MCC|MNC|MSISDN] (In total 15 digits) +supi: "imsi-208930000000001" +# Mobile Country Code value of HPLMN +mcc: "208" +# Mobile Network Code value of HPLMN (2 or 3 digits) +mnc: "93" + +# Permanent subscription key +key: "8baf473f2f8fd09487cccbd7097c6862" +# Operator code (OP or OPC) of the UE +op: "8e27b6af0e692e750f32667a3b14605d" +# This value specifies the OP type and it can be either 'OP' or 'OPC' +opType: "OPC" +# Authentication Management Field (AMF) value +amf: "8000" +# IMEI number of the device. It is used if no SUPI is provided +imei: "356938035643803" +# IMEISV number of the device. It is used if no SUPI and IMEI is provided +imeiSv: "4370816125816151" + +# List of gNB IP addresses for Radio Link Simulation +gnbSearchList: + - 127.0.0.1 + - gnb.free5gc.org + +# UAC Access Identities Configuration +uacAic: + mps: false + mcs: false + +# UAC Access Control Class +uacAcc: + normalClass: 0 + class11: false + class12: false + class13: false + class14: false + class15: false + +# Initial PDU sessions to be established +sessions: + - type: "IPv4" + apn: "internet" + slice: + sst: 0x01 + sd: 0x010203 + +# Configured NSSAI for this UE by HPLMN +configured-nssai: + - sst: 0x01 + sd: 0x010203 + +# Default Configured NSSAI for this UE +default-nssai: + - sst: 1 + sd: 1 + +# Supported integrity algorithms by this UE +integrity: + IA1: true + IA2: true + IA3: true + +# Supported encryption algorithms by this UE +ciphering: + EA1: true + EA2: true + EA3: true + +# Integrity protection maximum data rate for user plane +integrityMaxRate: + uplink: "full" + downlink: "full" diff --git a/config/uerouting.yaml b/config/uerouting.yaml index f39184b..6ee5e94 100644 --- a/config/uerouting.yaml +++ b/config/uerouting.yaml @@ -5,26 +5,27 @@ info: ueRoutingInfo: # the list of UE routing information UE1: # Group Name members: - - imsi-208930000007487 # Subscription Permanent Identifier of the UE + - 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 + # default path derived from this topology + # node name should be consistent with smfcfg.yaml - A: gNB1 - B: BranchingUPF - - A: BranchingUPF - B: AnchorUPF1 + B: I-UPF + - A: I-UPF + B: PSA-UPF 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] + path: [I-UPF] UE2: # Group Name members: - - imsi-208930000007486 # Subscription Permanent Identifier of the UE + - 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 + # default path derived from this topology + # node name should be consistent with smfcfg.yaml - A: gNB1 B: BranchingUPF - A: BranchingUPF diff --git a/config/upfcfg.yaml b/config/upfcfg.yaml index ab1afcc..99dd235 100644 --- a/config/upfcfg.yaml +++ b/config/upfcfg.yaml @@ -22,10 +22,10 @@ gtpu: # 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 + cidr: 10.60.0.0/16 # Classless Inter-Domain Routing for assigned IPv4 pool of UE # natifname: eth0 - dnn: internet # Data Network Name - cidr: 10.61.0.0/24 # Classless Inter-Domain Routing for assigned IPv4 pool of UE + cidr: 10.61.0.0/16 # Classless Inter-Domain Routing for assigned IPv4 pool of UE # natifname: eth0 logger: # log output setting diff --git a/config/webuicfg.yaml b/config/webuicfg.yaml index 9fee457..e2505ab 100644 --- a/config/webuicfg.yaml +++ b/config/webuicfg.yaml @@ -1,5 +1,5 @@ info: - version: 1.0.2 + version: 1.0.3 description: WebUI initial local configuration configuration: @@ -16,6 +16,10 @@ configuration: enable: true hostIPv4: webui listenPort: 2121 + portRange: # passive port range + start: 2123 + end: 2130 + basePath: /tmp/webconsole port: 2122 tls: pem: cert/chf.pem diff --git a/docker-compose-ulcl-build.yaml b/docker-compose-ulcl-build.yaml new file mode 100644 index 0000000..35cb9b9 --- /dev/null +++ b/docker-compose-ulcl-build.yaml @@ -0,0 +1,322 @@ +version: "3.8" + +services: + free5gc-i-upf: + container_name: i-upf + build: + context: ./nf_upf + args: + DEBUG_TOOLS: "false" + command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" + volumes: + - ./config/ULCL/upfcfg-i-upf.yaml:/free5gc/config/upfcfg.yaml + - ./config/upf-iptables.sh:/free5gc/upf-iptables.sh + cap_add: + - NET_ADMIN + networks: + privnet: + aliases: + - i-upf.free5gc.org + + free5gc-psa-upf: + container_name: psa-upf + build: + context: ./nf_upf + args: + DEBUG_TOOLS: "false" + command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" + volumes: + - ./config/ULCL/upfcfg-psa-upf.yaml:/free5gc/config/upfcfg.yaml + - ./config/upf-iptables.sh:/free5gc/upf-iptables.sh + cap_add: + - NET_ADMIN + networks: + privnet: + aliases: + - psa-upf.free5gc.org + db: + container_name: mongodb + image: mongo + command: mongod --port 27017 --quiet + expose: + - "27017" + volumes: + - dbdata:/data/db + networks: + privnet: + aliases: + - db + + free5gc-nrf: + container_name: nrf + build: + context: ./nf_nrf + args: + DEBUG_TOOLS: "false" + command: ./nrf -c ./config/nrfcfg.yaml + expose: + - "8000" + volumes: + - ./config/nrfcfg.yaml:/free5gc/config/nrfcfg.yaml + - ./cert:/free5gc/cert + environment: + DB_URI: mongodb://db/free5gc + GIN_MODE: release + networks: + privnet: + aliases: + - nrf.free5gc.org + depends_on: + - db + + free5gc-amf: + container_name: amf + build: + context: ./nf_amf + args: + DEBUG_TOOLS: "false" + command: ./amf -c ./config/amfcfg.yaml + expose: + - "8000" + volumes: + - ./config/amfcfg.yaml:/free5gc/config/amfcfg.yaml + - ./cert:/free5gc/cert + environment: + GIN_MODE: release + networks: + privnet: + aliases: + - amf.free5gc.org + depends_on: + - free5gc-nrf + + free5gc-ausf: + container_name: ausf + build: + context: ./nf_ausf + args: + DEBUG_TOOLS: "false" + command: ./ausf -c ./config/ausfcfg.yaml + expose: + - "8000" + volumes: + - ./config/ausfcfg.yaml:/free5gc/config/ausfcfg.yaml + - ./cert:/free5gc/cert + environment: + GIN_MODE: release + networks: + privnet: + aliases: + - ausf.free5gc.org + depends_on: + - free5gc-nrf + + free5gc-nssf: + container_name: nssf + build: + context: ./nf_nssf + args: + DEBUG_TOOLS: "false" + command: ./nssf -c ./config/nssfcfg.yaml + expose: + - "8000" + volumes: + - ./config/nssfcfg.yaml:/free5gc/config/nssfcfg.yaml + - ./cert:/free5gc/cert + environment: + GIN_MODE: release + networks: + privnet: + aliases: + - nssf.free5gc.org + depends_on: + - free5gc-nrf + + free5gc-pcf: + container_name: pcf + build: + context: ./nf_pcf + args: + DEBUG_TOOLS: "false" + command: ./pcf -c ./config/pcfcfg.yaml + expose: + - "8000" + volumes: + - ./config/pcfcfg.yaml:/free5gc/config/pcfcfg.yaml + - ./cert:/free5gc/cert + environment: + GIN_MODE: release + networks: + privnet: + aliases: + - pcf.free5gc.org + depends_on: + - free5gc-nrf + + free5gc-smf: + container_name: smf + build: + context: ./nf_smf + args: + DEBUG_TOOLS: "false" + command: ./smf -c ./config/smfcfg.yaml -u ./config/uerouting.yaml + expose: + - "8000" + volumes: + - ./config/ULCL/smfcfg.yaml:/free5gc/config/smfcfg.yaml + - ./config/ULCL/uerouting.yaml:/free5gc/config/uerouting.yaml + - ./cert:/free5gc/cert + environment: + GIN_MODE: release + networks: + privnet: + aliases: + - smf.free5gc.org + depends_on: + - free5gc-nrf + - free5gc-i-upf + - free5gc-psa-upf + + free5gc-udm: + container_name: udm + build: + context: ./nf_udm + args: + DEBUG_TOOLS: "false" + command: ./udm -c ./config/udmcfg.yaml + expose: + - "8000" + volumes: + - ./config/udmcfg.yaml:/free5gc/config/udmcfg.yaml + - ./cert:/free5gc/cert + environment: + GIN_MODE: release + networks: + privnet: + aliases: + - udm.free5gc.org + depends_on: + - db + - free5gc-nrf + + free5gc-udr: + container_name: udr + build: + context: ./nf_udr + args: + DEBUG_TOOLS: "false" + command: ./udr -c ./config/udrcfg.yaml + expose: + - "8000" + volumes: + - ./config/udrcfg.yaml:/free5gc/config/udrcfg.yaml + - ./cert:/free5gc/cert + environment: + DB_URI: mongodb://db/free5gc + GIN_MODE: release + networks: + privnet: + aliases: + - udr.free5gc.org + depends_on: + - db + - free5gc-nrf + + free5gc-chf: + container_name: chf + build: + context: ./nf_chf + args: + DEBUG_TOOLS: "false" + command: ./chf -c ./config/chfcfg.yaml + expose: + - "8000" + volumes: + - ./config/chfcfg.yaml:/free5gc/config/chfcfg.yaml + - ./cert:/free5gc/cert + environment: + DB_URI: mongodb://db/free5gc + GIN_MODE: release + networks: + privnet: + aliases: + - chf.free5gc.org + depends_on: + - db + - free5gc-nrf + - free5gc-webui + + free5gc-webui: + container_name: webui + build: + context: ./webui + args: + DEBUG_TOOLS: "false" + command: ./webui -c ./config/webuicfg.yaml + expose: + - "2121" + volumes: + - ./config/webuicfg.yaml:/free5gc/config/webuicfg.yaml + - ./cert:/free5gc/cert + environment: + - GIN_MODE=release + networks: + privnet: + aliases: + - webui + ports: + - "5000:5000" + - "2122:2122" + - "2121:2121" + depends_on: + - db + - free5gc-nrf + + ueransim: + container_name: ueransim + image: free5gc/ueransim:latest + command: ./nr-gnb -c ./config/gnbcfg.yaml + volumes: + - ./config/gnbcfg.yaml:/ueransim/config/gnbcfg.yaml + - ./config/uecfg-ulcl.yaml:/ueransim/config/uecfg.yaml + cap_add: + - NET_ADMIN + devices: + - "/dev/net/tun" + networks: + privnet: + aliases: + - gnb.free5gc.org + depends_on: + - free5gc-amf + - free5gc-i-upf + - free5gc-psa-upf + + #n3iwue: + # container_name: n3iwue + # image: free5gc/n3iwue:latest + # command: sleep infinity + # volumes: + # - ./config/n3uecfg.yaml:/n3iwue/config/n3ue.yaml + # cap_add: + # - NET_ADMIN + # devices: + # - "/dev/net/tun" + # networks: + # privnet: + # aliases: + # - n3ue.free5gc.org + # depends_on: + # - free5gc-n3iwf + +networks: + privnet: + ipam: + driver: default + config: + - subnet: 10.100.200.0/24 + driver_opts: + com.docker.network.bridge.name: br-free5gc + +volumes: + dbdata: diff --git a/docker-compose-ulcl.yaml b/docker-compose-ulcl.yaml index 7beb042..0c9b103 100644 --- a/docker-compose-ulcl.yaml +++ b/docker-compose-ulcl.yaml @@ -1,4 +1,4 @@ -version: '3.8' +version: "3.8" services: free5gc-i-upf: @@ -15,37 +15,23 @@ services: aliases: - i-upf.free5gc.org - free5gc-upf-1: - container_name: upf-1 + free5gc-psa-upf: + container_name: psa-upf image: free5gc/upf:v3.4.1 command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" volumes: - - ./config/ULCL/upfcfg-1.yaml:/free5gc/config/upfcfg.yaml + - ./config/ULCL/upfcfg-psa-upf.yaml:/free5gc/config/upfcfg.yaml - ./config/upf-iptables.sh:/free5gc/upf-iptables.sh cap_add: - NET_ADMIN networks: privnet: aliases: - - upf-1.free5gc.org - - free5gc-upf-2: - container_name: upf-2 - image: free5gc/upf:v3.4.1 - command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" - volumes: - - ./config/ULCL/upfcfg-2.yaml:/free5gc/config/upfcfg.yaml - - ./config/upf-iptables.sh:/free5gc/upf-iptables.sh - cap_add: - - NET_ADMIN - networks: - privnet: - aliases: - - upf-2.free5gc.org + - psa-upf.free5gc.org db: container_name: mongodb - image: mongo:4.4 + image: mongo command: mongod --port 27017 --quiet expose: - "27017" @@ -144,7 +130,7 @@ services: free5gc-smf: container_name: smf - image: free5gc/smf-base + image: free5gc/smf:v3.4.1 command: ./smf -c ./config/smfcfg.yaml -u ./config/uerouting.yaml expose: - "8000" @@ -160,8 +146,7 @@ services: depends_on: - free5gc-nrf - free5gc-i-upf - - free5gc-upf-1 - - free5gc-upf-2 + - free5gc-psa-upf free5gc-udm: container_name: udm @@ -249,7 +234,7 @@ services: command: ./nr-gnb -c ./config/gnbcfg.yaml volumes: - ./config/gnbcfg.yaml:/ueransim/config/gnbcfg.yaml - - ./config/uecfg.yaml:/ueransim/config/uecfg.yaml + - ./config/uecfg-ulcl.yaml:/ueransim/config/uecfg.yaml cap_add: - NET_ADMIN devices: @@ -261,8 +246,7 @@ services: depends_on: - free5gc-amf - free5gc-i-upf - - free5gc-upf-1 - - free5gc-upf-2 + - free5gc-psa-upf #ue: # container_name: ue @@ -280,7 +264,7 @@ services: # - ue.free5gc.org # depends_on: # - ueransim - + #n3iwue: # container_name: n3iwue # image: free5gc/n3iwue:latest @@ -290,7 +274,7 @@ services: # cap_add: # - NET_ADMIN # devices: - # - "/dev/net/tun" + # - "/dev/net/tun" # networks: # privnet: # aliases: From ad9d2006a7760671c3c5050edcbcaa46260f693b Mon Sep 17 00:00:00 2001 From: "CTFang@WireLab" Date: Wed, 3 Jul 2024 05:13:09 +0000 Subject: [PATCH 2/4] feat: upgrade to free5gc v3.4.2 --- README.md | 40 +++++++++++++++++++++------------------- docker-compose-ulcl.yaml | 24 ++++++++++++------------ docker-compose.yaml | 24 ++++++++++++------------ 3 files changed, 45 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 04e1fdc..b5924b7 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ docker exec -it mongodb mongosh > exit # (Or Ctrl-D) ``` -You can see logs for each service using `docker logs` command. For example, to access the logs of the *SMF* you can use: +You can see logs for each service using `docker logs` command. For example, to access the logs of the _SMF_ you can use: ```console docker logs smf @@ -118,22 +118,22 @@ By default, the provided UERANSIM service on this `docker-compose.yaml` will onl 1. Add an UE service on `docker-compose.yaml` as it follows: ```yaml - ue: - container_name: ue - image: free5gc/ueransim:latest - command: ./nr-ue -c ./config/uecfg.yaml - volumes: - - ./config/uecfg.yaml:/ueransim/config/uecfg.yaml - cap_add: - - NET_ADMIN - devices: - - "/dev/net/tun" - networks: - privnet: - aliases: - - ue.free5gc.org - depends_on: - - ueransim +ue: + container_name: ue + image: free5gc/ueransim:latest + command: ./nr-ue -c ./config/uecfg.yaml + volumes: + - ./config/uecfg.yaml:/ueransim/config/uecfg.yaml + cap_add: + - NET_ADMIN + devices: + - "/dev/net/tun" + networks: + privnet: + aliases: + - ue.free5gc.org + depends_on: + - ueransim ``` 5. Run `docker-compose.yaml` @@ -146,17 +146,19 @@ You can check this [issue](https://github.com/free5gc/free5gc-compose/issues/94) Here you can find helpful guidelines on the integration of Nginx reverse proxy to set it in front of the WebUI: https://github.com/free5gc/free5gc-compose/issues/55#issuecomment-1146648600 -## ULCL Configuration +## ULCL Configuration + To start the core with a i-UPF and two PSA UPFs ULCL configuration, use ```bash docker compose -f docker-compose-ulcl.yaml up ``` -> Note: This configuration have been tested using release [free5gc-compose v3.4.1](https://github.com/free5gc/free5gc-compose/tree/v3.4.1) +> Note: This configuration have been tested using release [free5gc-compose v.3.4.2](https://github.com/free5gc/free5gc-compose/tree/v.3.4.2) Check out the used configuration files at `config/ULCL`. ## Reference + - https://github.com/open5gs/nextepc/tree/master/docker - https://github.com/abousselmi/docker-free5gc diff --git a/docker-compose-ulcl.yaml b/docker-compose-ulcl.yaml index 0c9b103..bf22a89 100644 --- a/docker-compose-ulcl.yaml +++ b/docker-compose-ulcl.yaml @@ -3,7 +3,7 @@ version: "3.8" services: free5gc-i-upf: container_name: i-upf - image: free5gc/upf:v3.4.1 + image: free5gc/upf:v.3.4.2 command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" volumes: - ./config/ULCL/upfcfg-i-upf.yaml:/free5gc/config/upfcfg.yaml @@ -17,7 +17,7 @@ services: free5gc-psa-upf: container_name: psa-upf - image: free5gc/upf:v3.4.1 + image: free5gc/upf:v.3.4.2 command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" volumes: - ./config/ULCL/upfcfg-psa-upf.yaml:/free5gc/config/upfcfg.yaml @@ -44,7 +44,7 @@ services: free5gc-nrf: container_name: nrf - image: free5gc/nrf:v3.4.1 + image: free5gc/nrf:v.3.4.2 command: ./nrf -c ./config/nrfcfg.yaml expose: - "8000" @@ -62,7 +62,7 @@ services: free5gc-amf: container_name: amf - image: free5gc/amf:v3.4.1 + image: free5gc/amf:v.3.4.2 command: ./amf -c ./config/amfcfg.yaml expose: - "8000" @@ -79,7 +79,7 @@ services: free5gc-ausf: container_name: ausf - image: free5gc/ausf:v3.4.1 + image: free5gc/ausf:v.3.4.2 command: ./ausf -c ./config/ausfcfg.yaml expose: - "8000" @@ -96,7 +96,7 @@ services: free5gc-nssf: container_name: nssf - image: free5gc/nssf:v3.4.1 + image: free5gc/nssf:v.3.4.2 command: ./nssf -c ./config/nssfcfg.yaml expose: - "8000" @@ -113,7 +113,7 @@ services: free5gc-pcf: container_name: pcf - image: free5gc/pcf:v3.4.1 + image: free5gc/pcf:v.3.4.2 command: ./pcf -c ./config/pcfcfg.yaml expose: - "8000" @@ -130,7 +130,7 @@ services: free5gc-smf: container_name: smf - image: free5gc/smf:v3.4.1 + image: free5gc/smf:v.3.4.2 command: ./smf -c ./config/smfcfg.yaml -u ./config/uerouting.yaml expose: - "8000" @@ -150,7 +150,7 @@ services: free5gc-udm: container_name: udm - image: free5gc/udm:v3.4.1 + image: free5gc/udm:v.3.4.2 command: ./udm -c ./config/udmcfg.yaml expose: - "8000" @@ -168,7 +168,7 @@ services: free5gc-udr: container_name: udr - image: free5gc/udr:v3.4.1 + image: free5gc/udr:v.3.4.2 command: ./udr -c ./config/udrcfg.yaml expose: - "8000" @@ -187,7 +187,7 @@ services: free5gc-chf: container_name: chf - image: free5gc/chf:v3.4.1 + image: free5gc/chf:v.3.4.2 command: ./chf -c ./config/chfcfg.yaml expose: - "8000" @@ -207,7 +207,7 @@ services: free5gc-webui: container_name: webui - image: free5gc/webui:v3.4.1 + image: free5gc/webui:v.3.4.2 command: ./webui -c ./config/webuicfg.yaml expose: - "2122" diff --git a/docker-compose.yaml b/docker-compose.yaml index acdfd6e..55c09f7 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.4.1 + image: free5gc/upf:v.3.4.2 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.4.1 + image: free5gc/nrf:v.3.4.2 command: ./nrf -c ./config/nrfcfg.yaml expose: - "8000" @@ -49,7 +49,7 @@ services: free5gc-amf: container_name: amf - image: free5gc/amf:v3.4.1 + image: free5gc/amf:v.3.4.2 command: ./amf -c ./config/amfcfg.yaml expose: - "8000" @@ -67,7 +67,7 @@ services: free5gc-ausf: container_name: ausf - image: free5gc/ausf:v3.4.1 + image: free5gc/ausf:v.3.4.2 command: ./ausf -c ./config/ausfcfg.yaml expose: - "8000" @@ -85,7 +85,7 @@ services: free5gc-nssf: container_name: nssf - image: free5gc/nssf:v3.4.1 + image: free5gc/nssf:v.3.4.2 command: ./nssf -c ./config/nssfcfg.yaml expose: - "8000" @@ -103,7 +103,7 @@ services: free5gc-pcf: container_name: pcf - image: free5gc/pcf:v3.4.1 + image: free5gc/pcf:v.3.4.2 command: ./pcf -c ./config/pcfcfg.yaml expose: - "8000" @@ -121,7 +121,7 @@ services: free5gc-smf: container_name: smf - image: free5gc/smf:v3.4.1 + image: free5gc/smf:v.3.4.2 command: ./smf -c ./config/smfcfg.yaml -u ./config/uerouting.yaml expose: - "8000" @@ -141,7 +141,7 @@ services: free5gc-udm: container_name: udm - image: free5gc/udm:v3.4.1 + image: free5gc/udm:v.3.4.2 command: ./udm -c ./config/udmcfg.yaml expose: - "8000" @@ -160,7 +160,7 @@ services: free5gc-udr: container_name: udr - image: free5gc/udr:v3.4.1 + image: free5gc/udr:v.3.4.2 command: ./udr -c ./config/udrcfg.yaml expose: - "8000" @@ -180,7 +180,7 @@ services: free5gc-chf: container_name: chf - image: free5gc/chf:v3.4.1 + image: free5gc/chf:v.3.4.2 command: ./chf -c ./config/chfcfg.yaml expose: - "8000" @@ -201,7 +201,7 @@ services: free5gc-n3iwf: container_name: n3iwf - image: free5gc/n3iwf:v3.4.1 + image: free5gc/n3iwf:v.3.4.2 command: sh -c "./n3iwf-ipsec.sh && ./n3iwf -c ./config/n3iwfcfg.yaml" volumes: - ./config/n3iwfcfg.yaml:/free5gc/config/n3iwfcfg.yaml @@ -222,7 +222,7 @@ services: free5gc-webui: container_name: webui - image: free5gc/webui:v3.4.1 + image: free5gc/webui:v.3.4.2 command: ./webui -c ./config/webuicfg.yaml expose: - "2121" From c412abb186d21f3ebfcb6cd2ce122babafbfbbfa Mon Sep 17 00:00:00 2001 From: "CTFang@WireLab" Date: Wed, 3 Jul 2024 05:34:26 +0000 Subject: [PATCH 3/4] fix: update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b5924b7..e86ef98 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ Here you can find helpful guidelines on the integration of Nginx reverse proxy t ## ULCL Configuration -To start the core with a i-UPF and two PSA UPFs ULCL configuration, use +To start the core with a I-UPF and PSA-UPF ULCL configuration, use ```bash docker compose -f docker-compose-ulcl.yaml up From b51972ea02db2c874b0c7daed2fe503941f483fd Mon Sep 17 00:00:00 2001 From: "CTFang@WireLab" Date: Wed, 3 Jul 2024 07:42:37 +0000 Subject: [PATCH 4/4] fix: version typo --- README.md | 2 +- docker-compose-ulcl.yaml | 24 ++++++++++++------------ docker-compose.yaml | 24 ++++++++++++------------ 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index e86ef98..c3bebd8 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ To start the core with a I-UPF and PSA-UPF ULCL configuration, use docker compose -f docker-compose-ulcl.yaml up ``` -> Note: This configuration have been tested using release [free5gc-compose v.3.4.2](https://github.com/free5gc/free5gc-compose/tree/v.3.4.2) +> Note: This configuration have been tested using release [free5gc-compose v3.4.2](https://github.com/free5gc/free5gc-compose/tree/v3.4.2) Check out the used configuration files at `config/ULCL`. diff --git a/docker-compose-ulcl.yaml b/docker-compose-ulcl.yaml index bf22a89..9812e3c 100644 --- a/docker-compose-ulcl.yaml +++ b/docker-compose-ulcl.yaml @@ -3,7 +3,7 @@ version: "3.8" services: free5gc-i-upf: container_name: i-upf - image: free5gc/upf:v.3.4.2 + image: free5gc/upf:v3.4.2 command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" volumes: - ./config/ULCL/upfcfg-i-upf.yaml:/free5gc/config/upfcfg.yaml @@ -17,7 +17,7 @@ services: free5gc-psa-upf: container_name: psa-upf - image: free5gc/upf:v.3.4.2 + image: free5gc/upf:v3.4.2 command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" volumes: - ./config/ULCL/upfcfg-psa-upf.yaml:/free5gc/config/upfcfg.yaml @@ -44,7 +44,7 @@ services: free5gc-nrf: container_name: nrf - image: free5gc/nrf:v.3.4.2 + image: free5gc/nrf:v3.4.2 command: ./nrf -c ./config/nrfcfg.yaml expose: - "8000" @@ -62,7 +62,7 @@ services: free5gc-amf: container_name: amf - image: free5gc/amf:v.3.4.2 + image: free5gc/amf:v3.4.2 command: ./amf -c ./config/amfcfg.yaml expose: - "8000" @@ -79,7 +79,7 @@ services: free5gc-ausf: container_name: ausf - image: free5gc/ausf:v.3.4.2 + image: free5gc/ausf:v3.4.2 command: ./ausf -c ./config/ausfcfg.yaml expose: - "8000" @@ -96,7 +96,7 @@ services: free5gc-nssf: container_name: nssf - image: free5gc/nssf:v.3.4.2 + image: free5gc/nssf:v3.4.2 command: ./nssf -c ./config/nssfcfg.yaml expose: - "8000" @@ -113,7 +113,7 @@ services: free5gc-pcf: container_name: pcf - image: free5gc/pcf:v.3.4.2 + image: free5gc/pcf:v3.4.2 command: ./pcf -c ./config/pcfcfg.yaml expose: - "8000" @@ -130,7 +130,7 @@ services: free5gc-smf: container_name: smf - image: free5gc/smf:v.3.4.2 + image: free5gc/smf:v3.4.2 command: ./smf -c ./config/smfcfg.yaml -u ./config/uerouting.yaml expose: - "8000" @@ -150,7 +150,7 @@ services: free5gc-udm: container_name: udm - image: free5gc/udm:v.3.4.2 + image: free5gc/udm:v3.4.2 command: ./udm -c ./config/udmcfg.yaml expose: - "8000" @@ -168,7 +168,7 @@ services: free5gc-udr: container_name: udr - image: free5gc/udr:v.3.4.2 + image: free5gc/udr:v3.4.2 command: ./udr -c ./config/udrcfg.yaml expose: - "8000" @@ -187,7 +187,7 @@ services: free5gc-chf: container_name: chf - image: free5gc/chf:v.3.4.2 + image: free5gc/chf:v3.4.2 command: ./chf -c ./config/chfcfg.yaml expose: - "8000" @@ -207,7 +207,7 @@ services: free5gc-webui: container_name: webui - image: free5gc/webui:v.3.4.2 + image: free5gc/webui:v3.4.2 command: ./webui -c ./config/webuicfg.yaml expose: - "2122" diff --git a/docker-compose.yaml b/docker-compose.yaml index 55c09f7..871c6b0 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:v.3.4.2 + image: free5gc/upf:v3.4.2 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:v.3.4.2 + image: free5gc/nrf:v3.4.2 command: ./nrf -c ./config/nrfcfg.yaml expose: - "8000" @@ -49,7 +49,7 @@ services: free5gc-amf: container_name: amf - image: free5gc/amf:v.3.4.2 + image: free5gc/amf:v3.4.2 command: ./amf -c ./config/amfcfg.yaml expose: - "8000" @@ -67,7 +67,7 @@ services: free5gc-ausf: container_name: ausf - image: free5gc/ausf:v.3.4.2 + image: free5gc/ausf:v3.4.2 command: ./ausf -c ./config/ausfcfg.yaml expose: - "8000" @@ -85,7 +85,7 @@ services: free5gc-nssf: container_name: nssf - image: free5gc/nssf:v.3.4.2 + image: free5gc/nssf:v3.4.2 command: ./nssf -c ./config/nssfcfg.yaml expose: - "8000" @@ -103,7 +103,7 @@ services: free5gc-pcf: container_name: pcf - image: free5gc/pcf:v.3.4.2 + image: free5gc/pcf:v3.4.2 command: ./pcf -c ./config/pcfcfg.yaml expose: - "8000" @@ -121,7 +121,7 @@ services: free5gc-smf: container_name: smf - image: free5gc/smf:v.3.4.2 + image: free5gc/smf:v3.4.2 command: ./smf -c ./config/smfcfg.yaml -u ./config/uerouting.yaml expose: - "8000" @@ -141,7 +141,7 @@ services: free5gc-udm: container_name: udm - image: free5gc/udm:v.3.4.2 + image: free5gc/udm:v3.4.2 command: ./udm -c ./config/udmcfg.yaml expose: - "8000" @@ -160,7 +160,7 @@ services: free5gc-udr: container_name: udr - image: free5gc/udr:v.3.4.2 + image: free5gc/udr:v3.4.2 command: ./udr -c ./config/udrcfg.yaml expose: - "8000" @@ -180,7 +180,7 @@ services: free5gc-chf: container_name: chf - image: free5gc/chf:v.3.4.2 + image: free5gc/chf:v3.4.2 command: ./chf -c ./config/chfcfg.yaml expose: - "8000" @@ -201,7 +201,7 @@ services: free5gc-n3iwf: container_name: n3iwf - image: free5gc/n3iwf:v.3.4.2 + image: free5gc/n3iwf:v3.4.2 command: sh -c "./n3iwf-ipsec.sh && ./n3iwf -c ./config/n3iwfcfg.yaml" volumes: - ./config/n3iwfcfg.yaml:/free5gc/config/n3iwfcfg.yaml @@ -222,7 +222,7 @@ services: free5gc-webui: container_name: webui - image: free5gc/webui:v.3.4.2 + image: free5gc/webui:v3.4.2 command: ./webui -c ./config/webuicfg.yaml expose: - "2121"