diff --git a/configs/meson.build b/configs/meson.build index 26c73959b..ba7a917e4 100644 --- a/configs/meson.build +++ b/configs/meson.build @@ -27,12 +27,6 @@ freediameter_extensions_builddir = join_paths( conf_data.set('freediameter_extensions_builddir', freediameter_extensions_builddir) -if host_system == 'linux' - conf_data.set('loopback_devname', 'lo') -else - conf_data.set('loopback_devname', 'lo0') -endif - example_conf = ''' sample.yaml 310014.yaml diff --git a/configs/open5gs/amf.yaml.in b/configs/open5gs/amf.yaml.in index add7cc66d..badf7713a 100644 --- a/configs/open5gs/amf.yaml.in +++ b/configs/open5gs/amf.yaml.in @@ -224,13 +224,13 @@ amf: # pem: nrf.pem # - name: nrf.open5gs.org # -# o SBI Client(http://[fe80::1%@loopback_devname@]:80) +# o SBI Client(http://[fd69:f21d:873c:fa::1]:80) # If prefer_ipv4 is true, http://127.0.0.10:80 is selected. # # sbi: # addr: # - 127.0.0.10 -# - fe80::1%@loopback_devname@ +# - fd69:f21d:873c:fa::1 # nrf: sbi: diff --git a/configs/open5gs/ausf.yaml.in b/configs/open5gs/ausf.yaml.in index fbd0b38d7..802b25958 100644 --- a/configs/open5gs/ausf.yaml.in +++ b/configs/open5gs/ausf.yaml.in @@ -96,13 +96,13 @@ ausf: # pem: nrf.pem # - name: nrf.open5gs.org # -# o SBI Client(http://[fe80::1%@loopback_devname@]:80) +# o SBI Client(http://[fd69:f21d:873c:fa::1]:80) # If prefer_ipv4 is true, http://127.0.0.10:80 is selected. # # sbi: # addr: # - 127.0.0.10 -# - fe80::1%@loopback_devname@ +# - fd69:f21d:873c:fa::1 # nrf: sbi: diff --git a/configs/open5gs/bsf.yaml.in b/configs/open5gs/bsf.yaml.in index cec7a9b7e..e6a32bdf4 100644 --- a/configs/open5gs/bsf.yaml.in +++ b/configs/open5gs/bsf.yaml.in @@ -98,13 +98,13 @@ bsf: # pem: nrf.pem # - name: nrf.open5gs.org # -# o SBI Client(http://[fe80::1%@loopback_devname@]:80) +# o SBI Client(http://[fd69:f21d:873c:fa::1]:80) # If prefer_ipv4 is true, http://127.0.0.10:80 is selected. # # sbi: # addr: # - 127.0.0.10 -# - fe80::1%@loopback_devname@ +# - fd69:f21d:873c:fa::1 # nrf: sbi: diff --git a/configs/open5gs/mme.yaml.in b/configs/open5gs/mme.yaml.in index 6fee2b0b0..9c7ffac9f 100644 --- a/configs/open5gs/mme.yaml.in +++ b/configs/open5gs/mme.yaml.in @@ -113,7 +113,7 @@ logger: # lac: 43692 # - addr # - 127.0.0.4 -# - fe80::2%@loopback_devname@ +# - fd69:f21d:873c:fa::2 # map: # tai: # plmn_id: @@ -237,25 +237,25 @@ mme: # o Specify SGW addresses the GTP-C must connect to # # o One SGW is defined. -# If prefer_ipv4 is not true, [fe80::2%@loopback_devname@] is selected. +# If prefer_ipv4 is not true, [fd69:f21d:873c:fa::2] is selected. # gtpc: # addr: # - 127.0.0.3 -# - fe80::2%@loopback_devname@ +# - fd69:f21d:873c:fa::2 # # o Two SGW are defined. MME selects SGW with round-robin manner per UE # gtpc: # - addr: 127.0.0.3 -# - addr: fe80::2%@loopback_devname@ +# - addr: fd69:f21d:873c:fa::2 # # o Three SGW are defined. MME selects SGW with round-robin manner per UE # gtpc: # - addr # - 127.0.0.3 -# - fe80::2%@loopback_devname@ +# - fd69:f21d:873c:fa::2 # - addr # - 127.0.0.22 -# - fe80::12%@loopback_devname@ +# - fd69:f21d:873c:fa::12 # - name: sgw3.open5gs.org # # @@ -300,17 +300,17 @@ sgwc: # you can use a specific SMF node for each UE. # # o Two SMF are defined. 127.0.0.4:2123 is used. -# [fe80::3%@loopback_devname@]:2123 is ignored. +# [fd69:f21d:873c:fa::3]:2123 is ignored. # gtpc: # - addr: 127.0.0.4 -# - addr: fe80::3%@loopback_devname@ +# - addr: fd69:f21d:873c:fa::3 # # o One SMF is defined. if prefer_ipv4 is not true, -# [fe80::3%@loopback_devname@] is selected. +# [fd69:f21d:873c:fa::3] is selected. # gtpc: # - addr: # - 127.0.0.4 -# - fe80::3%@loopback_devname@ +# - fd69:f21d:873c:fa::3 # # o Two SMF are defined with a different APN. # - Note that if SMF IP for UE is configured in HSS, diff --git a/configs/open5gs/nssf.yaml.in b/configs/open5gs/nssf.yaml.in index b8657991f..6268c1d4b 100644 --- a/configs/open5gs/nssf.yaml.in +++ b/configs/open5gs/nssf.yaml.in @@ -138,13 +138,13 @@ nssf: # pem: nrf.pem # - name: nrf.open5gs.org # -# o SBI Client(http://[fe80::1%@loopback_devname@]:80) +# o SBI Client(http://[fd69:f21d:873c:fa::1]:80) # If prefer_ipv4 is true, http://127.0.0.10:80 is selected. # # sbi: # addr: # - 127.0.0.10 -# - fe80::1%@loopback_devname@ +# - fd69:f21d:873c:fa::1 # nrf: sbi: diff --git a/configs/open5gs/pcf.yaml.in b/configs/open5gs/pcf.yaml.in index 0c49a7453..81ac98ee6 100644 --- a/configs/open5gs/pcf.yaml.in +++ b/configs/open5gs/pcf.yaml.in @@ -98,13 +98,13 @@ pcf: # pem: nrf.pem # - name: nrf.open5gs.org # -# o SBI Client(http://[fe80::1%@loopback_devname@]:80) +# o SBI Client(http://[fd69:f21d:873c:fa::1]:80) # If prefer_ipv4 is true, http://127.0.0.10:80 is selected. # # sbi: # addr: # - 127.0.0.10 -# - fe80::1%@loopback_devname@ +# - fd69:f21d:873c:fa::1 # nrf: sbi: diff --git a/configs/open5gs/sgwc.yaml.in b/configs/open5gs/sgwc.yaml.in index 2ff89e786..50fdece4b 100644 --- a/configs/open5gs/sgwc.yaml.in +++ b/configs/open5gs/sgwc.yaml.in @@ -26,17 +26,17 @@ logger: # # # -# o GTP-C Server(127.0.0.3:2123, [fe80::2%@loopback_devname@]:2123) +# o GTP-C Server(127.0.0.3:2123, [fd69:f21d:873c:fa::2]:2123) # gtpc: # addr: # - 127.0.0.3 -# - fe80::2%@loopback_devname@ +# - fd69:f21d:873c:fa::2 # # o On SGW, Same Configuration(127.0.0.3:2123, -# [fe80::2%@loopback_devname@]:2123) as below. +# [fd69:f21d:873c:fa::2]:2123) as below. # gtpc: # - addr: 127.0.0.3 -# - addr: fe80::2%@loopback_devname@ +# - addr: fd69:f21d:873c:fa::2 # # # diff --git a/configs/open5gs/smf.yaml.in b/configs/open5gs/smf.yaml.in index 46bb03309..0259ef095 100644 --- a/configs/open5gs/smf.yaml.in +++ b/configs/open5gs/smf.yaml.in @@ -86,17 +86,17 @@ logger: # # # -# o GTP-C Server(127.0.0.4:2123, [fe80::3%@loopback_devname@]:2123) +# o GTP-C Server(127.0.0.4:2123, [fd69:f21d:873c:fa::3]:2123) # gtpc: # addr: # - 127.0.0.4 -# - fe80::3%@loopback_devname@ +# - fd69:f21d:873c:fa::3 # # o On SMF, Same configuration -# (127.0.0.4:2123, [fe80::3%@loopback_devname@]:2123). +# (127.0.0.4:2123, [fd69:f21d:873c:fa::3]:2123). # gtpc: # - addr: 127.0.0.4 -# - addr: fe80::3%@loopback_devname@ +# - addr: fd69:f21d:873c:fa::3 # # > # @@ -369,13 +369,13 @@ smf: # pem: nrf.pem # - name: nrf.open5gs.org # -# o SBI Client(http://[fe80::1%@loopback_devname@]:80) +# o SBI Client(http://[fd69:f21d:873c:fa::1]:80) # If prefer_ipv4 is true, http://127.0.0.10:80 is selected. # # sbi: # addr: # - 127.0.0.10 -# - fe80::1%@loopback_devname@ +# - fd69:f21d:873c:fa::1 # nrf: sbi: diff --git a/configs/open5gs/udm.yaml.in b/configs/open5gs/udm.yaml.in index 0a1140813..9c029bbe2 100644 --- a/configs/open5gs/udm.yaml.in +++ b/configs/open5gs/udm.yaml.in @@ -96,13 +96,13 @@ udm: # pem: nrf.pem # - name: nrf.open5gs.org # -# o SBI Client(http://[fe80::1%@loopback_devname@]:80) +# o SBI Client(http://[fd69:f21d:873c:fa::1]:80) # If prefer_ipv4 is true, http://127.0.0.10:80 is selected. # # sbi: # addr: # - 127.0.0.10 -# - fe80::1%@loopback_devname@ +# - fd69:f21d:873c:fa::1 # nrf: sbi: diff --git a/configs/open5gs/udr.yaml.in b/configs/open5gs/udr.yaml.in index 2d52cc15b..7f8745fc0 100644 --- a/configs/open5gs/udr.yaml.in +++ b/configs/open5gs/udr.yaml.in @@ -98,13 +98,13 @@ udr: # pem: nrf.pem # - name: nrf.open5gs.org # -# o SBI Client(http://[fe80::1%@loopback_devname@]:80) +# o SBI Client(http://[fd69:f21d:873c:fa::1]:80) # If prefer_ipv4 is true, http://127.0.0.10:80 is selected. # # sbi: # addr: # - 127.0.0.10 -# - fe80::1%@loopback_devname@ +# - fd69:f21d:873c:fa::1 # nrf: sbi: diff --git a/misc/ipv6_netconf.sh b/misc/ipv6_netconf.sh index a5196fa24..81dd6d77f 100755 --- a/misc/ipv6_netconf.sh +++ b/misc/ipv6_netconf.sh @@ -11,25 +11,117 @@ if [ "$SYSTEM" = "Linux" ]; then ip addr del 2001:230:cafe::1/48 dev ogstun 2> /dev/null ip addr add 2001:230:cafe::1/48 dev ogstun ip link set ogstun up - ip addr del fe80::2 dev lo 2> /dev/null - ip addr del fe80::3 dev lo 2> /dev/null - ip addr del fe80::4 dev lo 2> /dev/null - ip addr del fe80::5 dev lo 2> /dev/null - ip addr add fe80::2 dev lo - ip addr add fe80::3 dev lo - ip addr add fe80::4 dev lo - ip addr add fe80::5 dev lo + ip addr del fd69:f21d:873c:fa::1 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::2 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::3 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::4 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::5 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::6 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::7 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::8 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::9 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::10 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::11 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::12 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::13 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::14 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::15 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::16 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::17 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::18 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::19 dev lo 2> /dev/null + ip addr del fd69:f21d:873c:fa::20 dev lo 2> /dev/null + ip addr add fd69:f21d:873c:fa::1 dev lo + ip addr add fd69:f21d:873c:fa::2 dev lo + ip addr add fd69:f21d:873c:fa::3 dev lo + ip addr add fd69:f21d:873c:fa::4 dev lo + ip addr add fd69:f21d:873c:fa::5 dev lo + ip addr add fd69:f21d:873c:fa::6 dev lo + ip addr add fd69:f21d:873c:fa::7 dev lo + ip addr add fd69:f21d:873c:fa::8 dev lo + ip addr add fd69:f21d:873c:fa::9 dev lo + ip addr add fd69:f21d:873c:fa::10 dev lo + ip addr add fd69:f21d:873c:fa::11 dev lo + ip addr add fd69:f21d:873c:fa::12 dev lo + ip addr add fd69:f21d:873c:fa::13 dev lo + ip addr add fd69:f21d:873c:fa::14 dev lo + ip addr add fd69:f21d:873c:fa::15 dev lo + ip addr add fd69:f21d:873c:fa::16 dev lo + ip addr add fd69:f21d:873c:fa::17 dev lo + ip addr add fd69:f21d:873c:fa::18 dev lo + ip addr add fd69:f21d:873c:fa::19 dev lo + ip addr add fd69:f21d:873c:fa::20 dev lo else ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255 ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255 ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255 ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255 - ifconfig lo0 inet6 delete fe80::2 prefixlen 128 2> /dev/null - ifconfig lo0 inet6 delete fe80::3 prefixlen 128 2> /dev/null - ifconfig lo0 inet6 delete fe80::4 prefixlen 128 2> /dev/null - ifconfig lo0 inet6 delete fe80::5 prefixlen 128 2> /dev/null - ifconfig lo0 inet6 add fe80::2 prefixlen 128 - ifconfig lo0 inet6 add fe80::3 prefixlen 128 - ifconfig lo0 inet6 add fe80::4 prefixlen 128 - ifconfig lo0 inet6 add fe80::5 prefixlen 128 + sysctl -w net.inet.ip.forwarding=1 + sysctl -w net.inet6.ip6.forwarding=1 + ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.6 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.7 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.8 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.9 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.10 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.11 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.12 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.13 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.14 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.15 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.16 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.17 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.18 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255 + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::1 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::2 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::3 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::4 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::5 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::6 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::7 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::8 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::9 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::10 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::11 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::12 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::13 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::14 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::15 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::16 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::17 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::18 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::19 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 delete fd69:f21d:873c:fa::20 prefixlen 128 2> /dev/null + ifconfig lo0 inet6 add fd69:f21d:873c:fa::1 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::2 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::3 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::4 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::5 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::6 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::7 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::8 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::9 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::10 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::11 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::12 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::13 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::14 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::15 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::16 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::17 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::18 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::19 prefixlen 128 + ifconfig lo0 inet6 add fd69:f21d:873c:fa::20 prefixlen 128 + if [ "$SYSTEM" = "Darwin" ]; then + if ! test -f /etc/pf.anchors/org.open5gs; then + sudo sh -c "echo 'nat on {en0} from 10.45.0.0/16 to any -> {en0}' > /etc/pf.anchors/org.open5gs" + sudo sh -c "echo 'nat on {en0} from 2001:230:cafe::1/48 to any -> {en0}' > /etc/pf.anchors/org.open5gs" + fi + pfctl -e -f /etc/pf.anchors/org.open5gs + fi fi diff --git a/misc/meson.build b/misc/meson.build index 43c5e1de5..f55815bba 100644 --- a/misc/meson.build +++ b/misc/meson.build @@ -22,10 +22,4 @@ conf_data.set('sysconfdir', sysconfdir) conf_data.set('libdir', libdir) conf_data.set('localstatedir', localstatedir) -if host_system == 'linux' - conf_data.set('loopback_devname', 'lo') -else - conf_data.set('loopback_devname', 'lo0') -endif - subdir('db') diff --git a/src/sgwc/sxa-handler.c b/src/sgwc/sxa-handler.c index 812e2dc7c..ba1c3f442 100644 --- a/src/sgwc/sxa-handler.c +++ b/src/sgwc/sxa-handler.c @@ -1059,7 +1059,6 @@ void sgwc_sxa_handle_session_deletion_response( ogs_assert(pfcp_xact); ogs_assert(pfcp_rsp); - ogs_assert(gtp_message); cause_value = OGS_GTP_CAUSE_REQUEST_ACCEPTED; @@ -1082,6 +1081,11 @@ void sgwc_sxa_handle_session_deletion_response( ogs_pfcp_xact_commit(pfcp_xact); + if (!gtp_message) { + ogs_error("No GTP Message"); + goto cleanup; + } + switch (gtp_message->h.type) { case OGS_GTP_DELETE_SESSION_RESPONSE_TYPE: /* @@ -1144,6 +1148,7 @@ void sgwc_sxa_handle_session_deletion_response( ogs_expect(rv == OGS_OK); } +cleanup: sgwc_sess_remove(sess); }