Add docker files related to SMF
This commit is contained in:
		
							
								
								
									
										30
									
								
								smf/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								smf/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					# BSD 2-Clause License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2020, Supreeth Herle
 | 
				
			||||||
 | 
					# All rights reserved.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					# modification, are permitted provided that the following conditions are met:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 1. Redistributions of source code must retain the above copyright notice, this
 | 
				
			||||||
 | 
					#    list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 2. Redistributions in binary form must reproduce the above copyright notice,
 | 
				
			||||||
 | 
					#    this list of conditions and the following disclaimer in the documentation
 | 
				
			||||||
 | 
					#    and/or other materials provided with the distribution.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | 
				
			||||||
 | 
					# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
				
			||||||
 | 
					# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | 
				
			||||||
 | 
					# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 | 
				
			||||||
 | 
					# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
				
			||||||
 | 
					# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 | 
				
			||||||
 | 
					# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 | 
				
			||||||
 | 
					# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 | 
				
			||||||
 | 
					# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
				
			||||||
 | 
					# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM docker_open5gs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD /mnt/smf/smf_init.sh  && \
 | 
				
			||||||
 | 
					    cd install/bin && ./open5gs-smfd
 | 
				
			||||||
							
								
								
									
										67
									
								
								smf/smf.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								smf/smf.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
				
			|||||||
 | 
					logger:
 | 
				
			||||||
 | 
					    file: /open5gs/install/var/log/open5gs/smf.log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					parameter:
 | 
				
			||||||
 | 
					    no_ipv6: true
 | 
				
			||||||
 | 
					    prefer_ipv4: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					smf:
 | 
				
			||||||
 | 
					    freeDiameter:
 | 
				
			||||||
 | 
					      identity: smf.EPC_DOMAIN
 | 
				
			||||||
 | 
					      realm: EPC_DOMAIN
 | 
				
			||||||
 | 
					      port: 3868
 | 
				
			||||||
 | 
					      sec_port: 5868
 | 
				
			||||||
 | 
					      listen_on: SMF_IP
 | 
				
			||||||
 | 
					      load_extension:
 | 
				
			||||||
 | 
					        - module: /open5gs/install/lib/x86_64-linux-gnu/freeDiameter/dbg_msg_dumps.fdx
 | 
				
			||||||
 | 
					          conf: 0x8888
 | 
				
			||||||
 | 
					        - module: /open5gs/install/lib/x86_64-linux-gnu/freeDiameter/dict_rfc5777.fdx
 | 
				
			||||||
 | 
					        - module: /open5gs/install/lib/x86_64-linux-gnu/freeDiameter/dict_mip6i.fdx
 | 
				
			||||||
 | 
					        - module: /open5gs/install/lib/x86_64-linux-gnu/freeDiameter/dict_nasreq.fdx
 | 
				
			||||||
 | 
					        - module: /open5gs/install/lib/x86_64-linux-gnu/freeDiameter/dict_nas_mipv6.fdx
 | 
				
			||||||
 | 
					        - module: /open5gs/install/lib/x86_64-linux-gnu/freeDiameter/dict_dcca.fdx
 | 
				
			||||||
 | 
					        - module: /open5gs/install/lib/x86_64-linux-gnu/freeDiameter/dict_dcca_3gpp.fdx
 | 
				
			||||||
 | 
					      connect:
 | 
				
			||||||
 | 
					        - identity: pcrf.EPC_DOMAIN
 | 
				
			||||||
 | 
					          addr: PCRF_IP
 | 
				
			||||||
 | 
					          port: 3868
 | 
				
			||||||
 | 
					    sbi:
 | 
				
			||||||
 | 
					      - addr: SMF_IP
 | 
				
			||||||
 | 
					        port: 7777
 | 
				
			||||||
 | 
					    gtpc:
 | 
				
			||||||
 | 
					      - addr: SMF_IP
 | 
				
			||||||
 | 
					      - addr: ::1
 | 
				
			||||||
 | 
					    pfcp:
 | 
				
			||||||
 | 
					      - addr: SMF_IP
 | 
				
			||||||
 | 
					      - addr: ::1
 | 
				
			||||||
 | 
					    pdn:
 | 
				
			||||||
 | 
					      - addr: 192.168.100.1/24
 | 
				
			||||||
 | 
					        apn: internet
 | 
				
			||||||
 | 
					        dev: ogstun
 | 
				
			||||||
 | 
					      - addr: fd84:6aea:c36e:2b69::/64
 | 
				
			||||||
 | 
					        dev: ogstun
 | 
				
			||||||
 | 
					        apn: internet
 | 
				
			||||||
 | 
					      - addr: 192.168.101.1/24
 | 
				
			||||||
 | 
					        apn: ims
 | 
				
			||||||
 | 
					        dev: ogstun2
 | 
				
			||||||
 | 
					      - addr: fd1f:76f3:da9b:0101::/64
 | 
				
			||||||
 | 
					        apn: ims
 | 
				
			||||||
 | 
					        dev: ogstun2
 | 
				
			||||||
 | 
					    dns:
 | 
				
			||||||
 | 
					      - 8.8.8.8
 | 
				
			||||||
 | 
					      - 8.8.4.4
 | 
				
			||||||
 | 
					      - 2001:4860:4860::8888
 | 
				
			||||||
 | 
					      - 2001:4860:4860::8844
 | 
				
			||||||
 | 
					    p-cscf:
 | 
				
			||||||
 | 
					      - PCSCF_IP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nrf:
 | 
				
			||||||
 | 
					    sbi:
 | 
				
			||||||
 | 
					      - addr:
 | 
				
			||||||
 | 
					          - NRF_IP
 | 
				
			||||||
 | 
					          - ::1
 | 
				
			||||||
 | 
					        port: 7777
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					upf:
 | 
				
			||||||
 | 
					    pfcp:
 | 
				
			||||||
 | 
					      - addr: UPF_IP
 | 
				
			||||||
							
								
								
									
										45
									
								
								smf/smf_init.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										45
									
								
								smf/smf_init.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# BSD 2-Clause License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2020, Supreeth Herle
 | 
				
			||||||
 | 
					# All rights reserved.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Redistribution and use in source and binary forms, with or without
 | 
				
			||||||
 | 
					# modification, are permitted provided that the following conditions are met:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 1. Redistributions of source code must retain the above copyright notice, this
 | 
				
			||||||
 | 
					#    list of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 2. Redistributions in binary form must reproduce the above copyright notice,
 | 
				
			||||||
 | 
					#    this list of conditions and the following disclaimer in the documentation
 | 
				
			||||||
 | 
					#    and/or other materials provided with the distribution.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | 
				
			||||||
 | 
					# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
				
			||||||
 | 
					# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | 
				
			||||||
 | 
					# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 | 
				
			||||||
 | 
					# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
				
			||||||
 | 
					# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 | 
				
			||||||
 | 
					# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 | 
				
			||||||
 | 
					# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 | 
				
			||||||
 | 
					# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
				
			||||||
 | 
					# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export LC_ALL=C.UTF-8
 | 
				
			||||||
 | 
					export LANG=C.UTF-8
 | 
				
			||||||
 | 
					export IP_ADDR=$(awk 'END{print $1}' /etc/hosts)
 | 
				
			||||||
 | 
					export IF_NAME=$(ip r | awk '/default/ { print $5 }')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ ${#MNC} == 3 ] && EPC_DOMAIN="epc.mnc${MNC}.mcc${MCC}.3gppnetwork.org" || EPC_DOMAIN="epc.mnc0${MNC}.mcc${MCC}.3gppnetwork.org"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cp /mnt/smf/smf.yaml install/etc/open5gs
 | 
				
			||||||
 | 
					sed -i 's|SMF_IP|'$SMF_IP'|g' install/etc/open5gs/smf.yaml
 | 
				
			||||||
 | 
					sed -i 's|NRF_IP|'$NRF_IP'|g' install/etc/open5gs/smf.yaml
 | 
				
			||||||
 | 
					sed -i 's|UPF_IP|'$UPF_IP'|g' install/etc/open5gs/smf.yaml
 | 
				
			||||||
 | 
					sed -i 's|PCRF_IP|'$PCRF_IP'|g' install/etc/open5gs/smf.yaml
 | 
				
			||||||
 | 
					sed -i 's|EPC_DOMAIN|'$EPC_DOMAIN'|g' install/etc/open5gs/smf.yaml
 | 
				
			||||||
 | 
					sed -i 's|PCSCF_IP|'$PCSCF_IP'|g' install/etc/open5gs/smf.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Sync docker time
 | 
				
			||||||
 | 
					#ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
 | 
				
			||||||
		Reference in New Issue
	
	Block a user