Commit 7dcfb78e authored by liuyu's avatar liuyu

release

parent ca1b91c0
...@@ -36,4 +36,5 @@ archives ...@@ -36,4 +36,5 @@ archives
src/oai_rules_result* src/oai_rules_result*
test_results_oai_smf.html test_results_oai_smf.html
.vscode .vscode
build build
\ No newline at end of file *.log
\ No newline at end of file
[2023-12-19 09:25:48.889] [smf_app] [start] Options parsed
[2023-12-19 09:25:48.891] [smf_app] [info] SettingNotFoundException : SMF.ITTI_TASKS, using defaults
[2023-12-19 09:25:48.892] [smf_app] [info] SettingNotFoundException : SMF.INTERFACES.N4.SCHED_PARAMS, using defaults
[2023-12-19 09:25:48.892] [smf_app] [info] SettingNotFoundException : SMF.INTERFACES.SBI.SCHED_PARAMS, using defaults
[2023-12-19 09:25:48.893] [smf_app] [warning] Local PCC rules feature is not yet supported, the default values from the config file are used.
[2023-12-19 09:25:48.893] [smf_app] [debug] NWI config found for UP node:- Nwi access: access.oai.org , Nwi core: core.oai.org
[2023-12-19 09:25:48.893] [smf_app] [info] ==== OAI-CN5G SMF vBranch: liuyu_state Abrev. Hash: c4c3269b Date: Wed Dec 13 15:17:31 2023 +0800 ====
[2023-12-19 09:25:48.894] [smf_app] [info] Configuration SMF:
[2023-12-19 09:25:48.894] [smf_app] [info] - Instance ..............: 1
[2023-12-19 09:25:48.894] [smf_app] [info] - PID dir ...............: /var/run
[2023-12-19 09:25:48.894] [smf_app] [info] - N4 Networking:
[2023-12-19 09:25:48.894] [smf_app] [info] Interface name ......: ens18
[2023-12-19 09:25:48.894] [smf_app] [info] IPv4 Addr ...........: 10.103.239.31
[2023-12-19 09:25:48.894] [smf_app] [info] Port ................: 8805
[2023-12-19 09:25:48.894] [smf_app] [info] - SBI Networking:
[2023-12-19 09:25:48.894] [smf_app] [info] Interface name ......: ens18
[2023-12-19 09:25:48.894] [smf_app] [info] IPv4 Addr ...........: 10.103.239.31
[2023-12-19 09:25:48.894] [smf_app] [info] Port ................: 90
[2023-12-19 09:25:48.894] [smf_app] [info] HTTP2 port ..........: 9090
[2023-12-19 09:25:48.894] [smf_app] [info] API version..........: v1
[2023-12-19 09:25:48.894] [smf_app] [info] - AMF:
[2023-12-19 09:25:48.894] [smf_app] [info] IPv4 Addr ...........: 127.0.0.99
[2023-12-19 09:25:48.894] [smf_app] [info] Port ................: 8004
[2023-12-19 09:25:48.894] [smf_app] [info] API version .........: v1
[2023-12-19 09:25:48.894] [smf_app] [info] - UPF:
[2023-12-19 09:25:48.894] [smf_app] [info] IPv4 Addr ...........: 10.103.238.93
[2023-12-19 09:25:48.894] [smf_app] [info] - DEFAULT DNS:
[2023-12-19 09:25:48.894] [smf_app] [info] Primary DNS .........: 114.114.114.114
[2023-12-19 09:25:48.894] [smf_app] [info] Secondary DNS .......: 8.8.8.8
[2023-12-19 09:25:48.894] [smf_app] [info] Primary DNS v6 ......: 2001:4860:4860::8888
[2023-12-19 09:25:48.894] [smf_app] [info] Secondary DNS v6 ....: 2001:4860:4860::8844
[2023-12-19 09:25:48.894] [smf_app] [info] - CSCF:
[2023-12-19 09:25:48.894] [smf_app] [info] CSCF IPv4 ...........: 127.0.0.1
[2023-12-19 09:25:48.894] [smf_app] [info] CSCF IPv6 ...........: fe80::7915:f408:1787:db8b
[2023-12-19 09:25:48.894] [smf_app] [info] - Default UE MTU: 1500
[2023-12-19 09:25:48.894] [smf_app] [info] - Supported Features:
[2023-12-19 09:25:48.894] [smf_app] [info] Register to NRF.....................: No
[2023-12-19 09:25:48.894] [smf_app] [info] Discover UPF........................: No
[2023-12-19 09:25:48.894] [smf_app] [info] Discover PCF........................: No
[2023-12-19 09:25:48.896] [smf_app] [info] Use Local Subscription Configuration: Yes
[2023-12-19 09:25:48.896] [smf_app] [info] Use Local PCC Rules: ...............: Yes
[2023-12-19 09:25:48.896] [smf_app] [info] Push PCO (DNS+MTU)..................: No
[2023-12-19 09:25:48.897] [smf_app] [info] Use FQDN ...........................: No
[2023-12-19 09:25:48.897] [smf_app] [info] ENABLE USAGE REPORTING..............: No
[2023-12-19 09:25:48.897] [smf_app] [info] ENABLE DL PDR IN PFCP SESSION ESTAB.: No
[2023-12-19 09:25:48.897] [smf_app] [info] UPF N3 LOCAL ADDRESS ...............:
[2023-12-19 09:25:48.897] [smf_app] [info] - DNN configurations:
[2023-12-19 09:25:48.897] [smf_app] [info] DNN..........: ctnet (IPV4V6)
[2023-12-19 09:25:48.897] [smf_app] [info] IPv4 pool: 192.169.0.3 - 192.169.199.253
[2023-12-19 09:25:48.897] [smf_app] [info] IPv6 pool: 4001:1:2::/64
[2023-12-19 09:25:48.897] [smf_app] [info] DNN..........: default (IPV4)
[2023-12-19 09:25:48.897] [smf_app] [info] IPv4 pool: 192.169.0.3 - 192.169.199.253
[2023-12-19 09:25:48.897] [smf_app] [info] DNN..........: ims (IPV4V6)
[2023-12-19 09:25:48.897] [smf_app] [info] IPv4 pool: 192.169.200.2 - 192.169.255.253
[2023-12-19 09:25:48.897] [smf_app] [info] IPv6 pool: 3001:1:2::/64
[2023-12-19 09:25:48.897] [smf_app] [info] DNN..........: internet (IPV4)
[2023-12-19 09:25:48.897] [smf_app] [info] IPv4 pool: 192.169.0.3 - 192.169.199.253
[2023-12-19 09:25:48.897] [smf_app] [info] - Local Subscription Configuration:
[2023-12-19 09:25:48.897] [smf_app] [info] Session Management Subscription Data 0:
[2023-12-19 09:25:48.897] [smf_app] [info] SST: 1
[2023-12-19 09:25:48.897] [smf_app] [info] DNN: default
[2023-12-19 09:25:48.897] [smf_app] [info] DEFAULT_SESSION_TYPE: IPv4
[2023-12-19 09:25:48.897] [smf_app] [info] DEFAULT_SSC_MODE: 1
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_5QI: 9
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_PRIORITY_LEVEL: 1
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_ARP_PRIORITY_LEVEL: 1
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_ARP_PREEMPTCAP: NOT_PREEMPT
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_ARP_PREEMPTVULN: NOT_PREEMPTABLE
[2023-12-19 09:25:48.897] [smf_app] [info] SESSION_AMBR_UL: 1000Mbps
[2023-12-19 09:25:48.897] [smf_app] [info] SESSION_AMBR_DL: 1000Mbps
[2023-12-19 09:25:48.897] [smf_app] [info] Session Management Subscription Data 1:
[2023-12-19 09:25:48.897] [smf_app] [info] SST: 1
[2023-12-19 09:25:48.897] [smf_app] [info] DNN: ims
[2023-12-19 09:25:48.897] [smf_app] [info] DEFAULT_SESSION_TYPE: IPv4v6
[2023-12-19 09:25:48.897] [smf_app] [info] DEFAULT_SSC_MODE: 1
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_5QI: 5
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_PRIORITY_LEVEL: 1
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_ARP_PRIORITY_LEVEL: 1
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_ARP_PREEMPTCAP: NOT_PREEMPT
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_ARP_PREEMPTVULN: NOT_PREEMPTABLE
[2023-12-19 09:25:48.897] [smf_app] [info] SESSION_AMBR_UL: 100Mbps
[2023-12-19 09:25:48.897] [smf_app] [info] SESSION_AMBR_DL: 100Mbps
[2023-12-19 09:25:48.897] [smf_app] [info] Session Management Subscription Data 2:
[2023-12-19 09:25:48.897] [smf_app] [info] SST: 1
[2023-12-19 09:25:48.897] [smf_app] [info] DNN: ctnet
[2023-12-19 09:25:48.897] [smf_app] [info] DEFAULT_SESSION_TYPE: IPv4v6
[2023-12-19 09:25:48.897] [smf_app] [info] DEFAULT_SSC_MODE: 1
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_5QI: 9
[2023-12-19 09:25:48.897] [smf_app] [info] QOS_PROFILE_PRIORITY_LEVEL: 1
[2023-12-19 09:25:48.898] [smf_app] [info] QOS_PROFILE_ARP_PRIORITY_LEVEL: 1
[2023-12-19 09:25:48.898] [smf_app] [info] QOS_PROFILE_ARP_PREEMPTCAP: NOT_PREEMPT
[2023-12-19 09:25:48.898] [smf_app] [info] QOS_PROFILE_ARP_PREEMPTVULN: NOT_PREEMPTABLE
[2023-12-19 09:25:48.898] [smf_app] [info] SESSION_AMBR_UL: 1000Mbps
[2023-12-19 09:25:48.898] [smf_app] [info] SESSION_AMBR_DL: 1000Mbps
[2023-12-19 09:25:48.898] [smf_app] [info] Session Management Subscription Data 3:
[2023-12-19 09:25:48.898] [smf_app] [info] SST: 1
[2023-12-19 09:25:48.898] [smf_app] [info] DNN: internet
[2023-12-19 09:25:48.898] [smf_app] [info] DEFAULT_SESSION_TYPE: IPv4
[2023-12-19 09:25:48.898] [smf_app] [info] DEFAULT_SSC_MODE: 1
[2023-12-19 09:25:48.898] [smf_app] [info] QOS_PROFILE_5QI: 9
[2023-12-19 09:25:48.898] [smf_app] [info] QOS_PROFILE_PRIORITY_LEVEL: 1
[2023-12-19 09:25:48.898] [smf_app] [info] QOS_PROFILE_ARP_PRIORITY_LEVEL: 1
[2023-12-19 09:25:48.898] [smf_app] [info] QOS_PROFILE_ARP_PREEMPTCAP: NOT_PREEMPT
[2023-12-19 09:25:48.898] [smf_app] [info] QOS_PROFILE_ARP_PREEMPTVULN: NOT_PREEMPTABLE
[2023-12-19 09:25:48.898] [smf_app] [info] SESSION_AMBR_UL: 1000Mbps
[2023-12-19 09:25:48.898] [smf_app] [info] SESSION_AMBR_DL: 1000Mbps
[2023-12-19 09:25:48.898] [smf_app] [info] - Log Level will be .......: debug
[2023-12-19 09:25:48.898] [itti ] [start] Starting...
[2023-12-19 09:25:48.899] [itti ] [start] Started
[2023-12-19 09:25:48.899] [itti ] [info] Starting timer_manager_task
[2023-12-19 09:25:48.899] [async ] [start] Starting...
[2023-12-19 09:25:48.901] [async ] [start] Started
[2023-12-19 09:25:48.902] [smf_app] [start] Starting...
[2023-12-19 09:25:48.902] [smf_app] [info] Apply config...
[2023-12-19 09:25:48.908] [smf_app] [info] Applied config ctnet
[2023-12-19 09:25:48.908] [smf_app] [info] PAA Ipv4: 192.169.0.3
[2023-12-19 09:25:48.908] [smf_app] [info] Applied config for IPv6 ctnet
[2023-12-19 09:25:48.912] [smf_app] [info] Applied config default
[2023-12-19 09:25:48.912] [smf_app] [info] PAA Ipv4: 192.169.0.3
[2023-12-19 09:25:48.914] [smf_app] [info] Applied config ims
[2023-12-19 09:25:48.914] [smf_app] [info] PAA Ipv4: 192.169.200.2
[2023-12-19 09:25:48.914] [smf_app] [info] Applied config for IPv6 ims
[2023-12-19 09:25:48.917] [smf_app] [info] Applied config internet
[2023-12-19 09:25:48.918] [smf_app] [info] PAA Ipv4: 192.169.0.3
[2023-12-19 09:25:48.918] [smf_app] [info] Applied config
[2023-12-19 09:25:48.920] [udp ] [debug] Creating new listen socket on address 10.103.239.31 and port 8805
[2023-12-19 09:25:48.920] [udp ] [debug] udp_server::udp_server(10.103.239.31:8805)
[2023-12-19 09:25:48.920] [udp ] [debug] Creating new listen socket on address 10.103.239.31 and port 0
[2023-12-19 09:25:48.921] [udp ] [debug] udp_server::udp_server(10.103.239.31:0)
[2023-12-19 09:25:48.921] [pfcp ] [info] pfcp_l4_stack created listening to 10.103.239.31:8805
[2023-12-19 09:25:48.922] [smf_n4 ] [start] Starting...
[2023-12-19 09:25:48.923] [smf_n4 ] [start] Started
[2023-12-19 09:25:48.924] [smf_sbi] [start] Starting...
[2023-12-19 09:25:48.926] [smf_sbi] [start] Started
[2023-12-19 09:25:48.926] [smf_app] [start] Started
start create socket
start
创建socket成功!
绑定成功!
start receive
绑定成功!5555 20001
start create socket
start
start receive udp_read_from_socket_to_center
创建socket成功!
绑定成功!
start receive
绑定成功!5555 20004
start create socket
start
start receive udp_read_from_socket_from_center
创建socket成功!
绑定成功!
start receive
绑定成功!5555 20023
start receive udp_read_from_peer_smf
[2023-12-19 09:25:48.931] [smf_api] [info] HTTP1 server started
[2023-12-19 09:25:49.031] [smf_app] [debug] Start a PFCP Association procedure with an UPF
[2023-12-19 09:25:49.031] [smf_app] [debug] Resolving an FQDN/IP Addr for an UPF node
[2023-12-19 09:25:49.031] [smf_app] [debug] Resolving an IP address (name 10.103.238.93)
[2023-12-19 09:25:49.031] [smf_app] [debug] Reverse Resolving Try #0
[2023-12-19 09:25:49.031] [smf_api] [info] HTTP2 server started
[2023-12-19 09:25:49.052] [smf_app] [debug] Resolve IP Addr 10.103.238.93, FQDN 10.103.238.93
[2023-12-19 09:25:49.068] [smf_n4 ] [info] handle_receive(36 bytes)
[2023-12-19 09:25:49.068] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 6 length 32
[2023-12-19 09:25:49.068] [smf_n4 ] [info] Received N4 ASSOCIATION SETUP RESPONSE from an UPF
[2023-12-19 09:25:49.068] [smf_n4 ] [info] Received N4 ASSOCIATION SETUP RESPONSE
[2023-12-19 09:25:49.068] [smf_app] [debug] Resolving an FQDN/IP Addr for an UPF node
[2023-12-19 09:25:49.068] [smf_app] [debug] Resolving an IP address (name 10.103.238.93)
[2023-12-19 09:25:49.068] [smf_app] [debug] Reverse Resolving Try #0
[2023-12-19 09:25:49.089] [smf_app] [debug] Resolve IP Addr 10.103.238.93, FQDN 10.103.238.93
[2023-12-19 09:25:49.089] [smf_app] [info] Cannot connect UPF to other nodes in the graph as it has no profile, just add the node
[2023-12-19 09:25:49.089] [smf_app] [info] Assume that the UPF has a N3 and a N6 interface.
[2023-12-19 09:25:49.090] [smf_app] [debug] Successfully added UPF node: , (1575905034)
[2023-12-19 09:25:49.090] [smf_app] [debug] Successfully added UPF graph edge for : N3(access.oai.org)
[2023-12-19 09:25:49.090] [smf_app] [debug] Successfully added UPF graph edge for : N6(core.oai.org)
[2023-12-19 09:25:49.090] [smf_app] [debug] UPF graph
[2023-12-19 09:25:49.090] [smf_app] [debug] * 1575905034 --> N3(access.oai.org), N6(core.oai.org),
[2023-12-19 09:25:49.090] [smf_app] [debug] NF instance info
[2023-12-19 09:25:49.090] [smf_app] [debug] Instance ID:
[2023-12-19 09:25:49.090] [smf_app] [debug] Instance name:
[2023-12-19 09:25:49.090] [smf_app] [debug] Instance type: UPF
[2023-12-19 09:25:49.090] [smf_app] [debug] Status:
[2023-12-19 09:25:49.090] [smf_app] [debug] HeartBeat timer: 0
[2023-12-19 09:25:49.090] [smf_app] [debug] Priority: 0
[2023-12-19 09:25:49.090] [smf_app] [debug] Capacity: 0
[2023-12-19 09:25:51.052] [smf_app] [debug] Resolving an FQDN/IP Addr for an UPF node
[2023-12-19 09:25:51.053] [smf_app] [debug] Resolving an IP address (name 10.103.238.93)
[2023-12-19 09:25:51.053] [smf_app] [debug] Reverse Resolving Try #0
[2023-12-19 09:25:51.057] [smf_app] [debug] Resolve IP Addr 10.103.238.93, FQDN 10.103.238.93
[2023-12-19 09:25:54.061] [smf_n4 ] [info] TIME-OUT event timer id 2
[2023-12-19 09:25:59.091] [smf_n4 ] [info] TIME-OUT event timer id 3
[2023-12-19 09:25:59.091] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:25:59.097] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:25:59.097] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:26:04.092] [smf_n4 ] [info] TIME-OUT event timer id 6
[2023-12-19 09:26:09.097] [smf_n4 ] [info] TIME-OUT event timer id 7
[2023-12-19 09:26:09.100] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:26:09.108] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:26:09.108] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:26:14.101] [smf_n4 ] [info] TIME-OUT event timer id 10
[2023-12-19 09:26:19.108] [smf_n4 ] [info] TIME-OUT event timer id 11
[2023-12-19 09:26:19.109] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:26:19.113] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:26:19.113] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:26:24.109] [smf_n4 ] [info] TIME-OUT event timer id 14
[2023-12-19 09:26:29.117] [smf_n4 ] [info] TIME-OUT event timer id 15
[2023-12-19 09:26:29.117] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:26:29.122] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:26:29.122] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:26:34.118] [smf_n4 ] [info] TIME-OUT event timer id 18
[2023-12-19 09:26:39.123] [smf_n4 ] [info] TIME-OUT event timer id 19
[2023-12-19 09:26:39.123] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:26:39.126] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:26:39.126] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:26:44.124] [smf_n4 ] [info] TIME-OUT event timer id 22
[2023-12-19 09:26:49.127] [smf_n4 ] [info] TIME-OUT event timer id 23
[2023-12-19 09:26:49.127] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:26:49.131] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:26:49.131] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:26:54.128] [smf_n4 ] [info] TIME-OUT event timer id 26
[2023-12-19 09:26:59.132] [smf_n4 ] [info] TIME-OUT event timer id 27
[2023-12-19 09:26:59.132] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:26:59.134] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:26:59.135] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:27:04.133] [smf_n4 ] [info] TIME-OUT event timer id 30
[2023-12-19 09:27:09.135] [smf_n4 ] [info] TIME-OUT event timer id 31
[2023-12-19 09:27:09.135] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:27:09.138] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:27:09.138] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:27:14.136] [smf_n4 ] [info] TIME-OUT event timer id 34
[2023-12-19 09:27:19.138] [smf_n4 ] [info] TIME-OUT event timer id 35
[2023-12-19 09:27:19.139] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:27:19.141] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:27:19.141] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:27:24.139] [smf_n4 ] [info] TIME-OUT event timer id 38
[2023-12-19 09:27:29.142] [smf_n4 ] [info] TIME-OUT event timer id 39
[2023-12-19 09:27:29.142] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:27:29.144] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:27:29.144] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:27:34.147] [smf_n4 ] [info] TIME-OUT event timer id 42
[2023-12-19 09:27:39.144] [smf_n4 ] [info] TIME-OUT event timer id 43
[2023-12-19 09:27:39.145] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:27:39.147] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:27:39.147] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:27:44.146] [smf_n4 ] [info] TIME-OUT event timer id 46
[2023-12-19 09:27:49.148] [smf_n4 ] [info] TIME-OUT event timer id 47
[2023-12-19 09:27:49.148] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:27:49.150] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:27:49.150] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:27:54.149] [smf_n4 ] [info] TIME-OUT event timer id 50
[2023-12-19 09:27:59.151] [smf_n4 ] [info] TIME-OUT event timer id 51
[2023-12-19 09:27:59.151] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:27:59.155] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:27:59.155] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:28:04.152] [smf_n4 ] [info] TIME-OUT event timer id 54
[2023-12-19 09:28:09.156] [smf_n4 ] [info] TIME-OUT event timer id 55
[2023-12-19 09:28:09.156] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:28:09.159] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:28:09.159] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:28:14.157] [smf_n4 ] [info] TIME-OUT event timer id 58
[2023-12-19 09:28:19.159] [smf_n4 ] [info] TIME-OUT event timer id 59
[2023-12-19 09:28:19.160] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:28:19.162] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:28:19.162] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:28:24.163] [smf_n4 ] [info] TIME-OUT event timer id 62
[2023-12-19 09:28:29.163] [smf_n4 ] [info] TIME-OUT event timer id 63
[2023-12-19 09:28:29.164] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:28:29.169] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:28:29.170] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:28:34.165] [smf_n4 ] [info] TIME-OUT event timer id 66
[2023-12-19 09:28:39.170] [smf_n4 ] [info] TIME-OUT event timer id 67
[2023-12-19 09:28:39.171] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:28:39.176] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:28:39.176] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:28:44.171] [smf_n4 ] [info] TIME-OUT event timer id 70
[2023-12-19 09:28:49.177] [smf_n4 ] [info] TIME-OUT event timer id 71
[2023-12-19 09:28:49.177] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:28:49.186] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:28:49.197] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:28:54.178] [smf_n4 ] [info] TIME-OUT event timer id 74
[2023-12-19 09:28:59.197] [smf_n4 ] [info] TIME-OUT event timer id 75
[2023-12-19 09:28:59.198] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:28:59.238] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:28:59.238] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:29:04.199] [smf_n4 ] [info] TIME-OUT event timer id 78
[2023-12-19 09:29:09.239] [smf_n4 ] [info] TIME-OUT event timer id 79
[2023-12-19 09:29:09.239] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:29:09.242] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:29:09.242] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:29:14.240] [smf_n4 ] [info] TIME-OUT event timer id 82
[2023-12-19 09:29:19.242] [smf_n4 ] [info] TIME-OUT event timer id 83
[2023-12-19 09:29:19.243] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:29:19.248] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:29:19.249] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:29:24.244] [smf_n4 ] [info] TIME-OUT event timer id 86
[2023-12-19 09:29:29.251] [smf_n4 ] [info] TIME-OUT event timer id 87
[2023-12-19 09:29:29.251] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:29:29.254] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:29:29.254] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:29:34.253] [smf_n4 ] [info] TIME-OUT event timer id 90
[2023-12-19 09:29:39.255] [smf_n4 ] [info] TIME-OUT event timer id 91
[2023-12-19 09:29:39.255] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:29:39.260] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:29:39.261] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:29:44.256] [smf_n4 ] [info] TIME-OUT event timer id 94
[2023-12-19 09:29:49.261] [smf_n4 ] [info] TIME-OUT event timer id 95
[2023-12-19 09:29:49.262] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:29:49.271] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:29:49.271] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:29:54.262] [smf_n4 ] [info] TIME-OUT event timer id 98
[2023-12-19 09:29:59.275] [smf_n4 ] [info] TIME-OUT event timer id 99
[2023-12-19 09:29:59.275] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:29:59.277] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:29:59.277] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:30:04.276] [smf_n4 ] [info] TIME-OUT event timer id 102
[2023-12-19 09:30:09.278] [smf_n4 ] [info] TIME-OUT event timer id 103
[2023-12-19 09:30:09.278] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:30:09.281] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:30:09.281] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:30:14.279] [smf_n4 ] [info] TIME-OUT event timer id 106
[2023-12-19 09:30:19.282] [smf_n4 ] [info] TIME-OUT event timer id 107
[2023-12-19 09:30:19.282] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:30:19.286] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:30:19.287] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:30:24.283] [smf_n4 ] [info] TIME-OUT event timer id 110
[2023-12-19 09:30:29.287] [smf_n4 ] [info] TIME-OUT event timer id 111
[2023-12-19 09:30:29.288] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:30:29.294] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:30:29.294] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:30:34.290] [smf_n4 ] [info] TIME-OUT event timer id 114
[2023-12-19 09:30:39.295] [smf_n4 ] [info] TIME-OUT event timer id 115
[2023-12-19 09:30:39.295] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:30:39.301] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:30:39.301] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:30:44.297] [smf_n4 ] [info] TIME-OUT event timer id 118
[2023-12-19 09:30:49.302] [smf_n4 ] [info] TIME-OUT event timer id 119
[2023-12-19 09:30:49.302] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:30:49.308] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:30:49.308] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:30:54.304] [smf_n4 ] [info] TIME-OUT event timer id 122
[2023-12-19 09:30:59.309] [smf_n4 ] [info] TIME-OUT event timer id 123
[2023-12-19 09:30:59.309] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:30:59.311] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:30:59.312] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:31:04.310] [smf_n4 ] [info] TIME-OUT event timer id 126
[2023-12-19 09:31:09.312] [smf_n4 ] [info] TIME-OUT event timer id 127
[2023-12-19 09:31:09.312] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:31:09.322] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:31:09.323] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:31:14.318] [smf_n4 ] [info] TIME-OUT event timer id 130
[2023-12-19 09:31:19.324] [smf_n4 ] [info] TIME-OUT event timer id 131
[2023-12-19 09:31:19.325] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:31:19.327] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:31:19.328] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:31:24.325] [smf_n4 ] [info] TIME-OUT event timer id 134
[2023-12-19 09:31:29.328] [smf_n4 ] [info] TIME-OUT event timer id 135
[2023-12-19 09:31:29.328] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:31:29.332] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:31:29.332] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:31:34.330] [smf_n4 ] [info] TIME-OUT event timer id 138
[2023-12-19 09:31:39.333] [smf_n4 ] [info] TIME-OUT event timer id 139
[2023-12-19 09:31:39.333] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:31:39.335] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:31:39.335] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:31:44.334] [smf_n4 ] [info] TIME-OUT event timer id 142
[2023-12-19 09:31:49.335] [smf_n4 ] [info] TIME-OUT event timer id 143
[2023-12-19 09:31:49.336] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:31:49.340] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:31:49.340] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:31:54.336] [smf_n4 ] [info] TIME-OUT event timer id 146
[2023-12-19 09:31:59.345] [smf_n4 ] [info] TIME-OUT event timer id 147
[2023-12-19 09:31:59.345] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:31:59.349] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:31:59.349] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:32:04.346] [smf_n4 ] [info] TIME-OUT event timer id 150
[2023-12-19 09:32:09.350] [smf_n4 ] [info] TIME-OUT event timer id 151
[2023-12-19 09:32:09.350] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:32:09.358] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:32:09.358] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:32:14.351] [smf_n4 ] [info] TIME-OUT event timer id 154
[2023-12-19 09:32:19.359] [smf_n4 ] [info] TIME-OUT event timer id 155
[2023-12-19 09:32:19.359] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:32:19.361] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:32:19.361] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
[2023-12-19 09:32:24.360] [smf_n4 ] [info] TIME-OUT event timer id 158
[2023-12-19 09:32:29.361] [smf_n4 ] [info] TIME-OUT event timer id 159
[2023-12-19 09:32:29.362] [smf_n4 ] [info] PFCP HEARTBEAT PROCEDURE hash 1575905034 starting
[2023-12-19 09:32:29.363] [smf_n4 ] [info] handle_receive(16 bytes)
[2023-12-19 09:32:29.364] [smf_n4 ] [debug] handle_receive_pfcp_msg msg type 2 length 12
...@@ -5009,6 +5009,8 @@ void smf_context::send_pdu_session_create_response( ...@@ -5009,6 +5009,8 @@ void smf_context::send_pdu_session_create_response(
udpsmfcontext["up_fseid"] = sp.get()->up_fseid.seid; udpsmfcontext["up_fseid"] = sp.get()->up_fseid.seid;
udpsmfcontext["seid"] = sp.get()->seid; udpsmfcontext["seid"] = sp.get()->seid;
udpsmfcontext["ipv4_address"] = inet_ntoa(sp.get()->ipv4_address); udpsmfcontext["ipv4_address"] = inet_ntoa(sp.get()->ipv4_address);
udpsmfcontext["direction"]="ground_to_satellite";
UdpSend_smf(udpsmfcontext,"10.103.239.31", 20023); UdpSend_smf(udpsmfcontext,"10.103.239.31", 20023);
resp->res.set_json_data(json_data); resp->res.set_json_data(json_data);
...@@ -5075,6 +5077,29 @@ void smf_context::send_pdu_session_update_response( ...@@ -5075,6 +5077,29 @@ void smf_context::send_pdu_session_update_response(
trigger_ddds(scid, 1); trigger_ddds(scid, 1);
trigger_pdusesest(scid, 1); trigger_pdusesest(scid, 1);
trigger_flexcn_event(scid, 1); trigger_flexcn_event(scid, 1);
Logger::smf_app().info("---------------liuyu--udpsend",scid);
nlohmann::json udpsmfcontext_to_ground;
udpsmfcontext_to_ground["scid"] = scid;
// udpsmfcontext_to_ground["supi"] = smf_supi_to_string(resp->res.get_supi());
// udpsmfcontext_to_ground["pdu_session_id"] = resp->res.get_pdu_session_id();
// udpsmfcontext_to_ground["dnn"] = resp->res.get_dnn();
// udpsmfcontext_to_ground["snssai"] = resp->res.get_snssai().toString();
// udpsmfcontext_to_ground["pdu_session_type"] = 1;
// supi64_t supi64 = smf_supi_to_u64(resp->res.get_supi());
// std::shared_ptr<smf_context> sc = {};
// sc = smf_app_inst->supi_2_smf_context(supi64);
// std::shared_ptr<smf_pdu_session> sp = {};
// sc.get()->find_pdu_session(resp->res.get_pdu_session_id(), sp);
// udpsmfcontext_to_ground["up_fseid"] = sp.get()->up_fseid.seid;
// udpsmfcontext_to_ground["seid"] = sp.get()->seid;
// udpsmfcontext_to_ground["ipv4_address"] = inet_ntoa(sp.get()->ipv4_address);
udpsmfcontext_to_ground["direction"]="satellite_to_ground";
UdpSend_smf(udpsmfcontext_to_ground,"10.103.239.47", 20023);
} break; } break;
// UE-Triggered Service Request Procedure (Step 1) // UE-Triggered Service Request Procedure (Step 1)
......
...@@ -150,128 +150,168 @@ int udp_server_coop::udp_read_from_peer_smf() { ...@@ -150,128 +150,168 @@ int udp_server_coop::udp_read_from_peer_smf() {
bytes_received = recvfrom(serverSocket, (void *)udp_recv, UDP_RECV_BUFFER_SIZE , 0, (struct sockaddr*)&r_endpoint.addr_storage, &r_endpoint.addr_storage_len); bytes_received = recvfrom(serverSocket, (void *)udp_recv, UDP_RECV_BUFFER_SIZE , 0, (struct sockaddr*)&r_endpoint.addr_storage, &r_endpoint.addr_storage_len);
//bytes_received = recvfrom(serverSocket, udp_recv, UDP_RECV_BUFFER_SIZE , 0, (struct sockaddr*)&r_endpoint.addr_storage, &r_endpoint.addr_storage_len); //bytes_received = recvfrom(serverSocket, udp_recv, UDP_RECV_BUFFER_SIZE , 0, (struct sockaddr*)&r_endpoint.addr_storage, &r_endpoint.addr_storage_len);
if(bytes_received > 0){ if(bytes_received > 0){
printf("smf receive context from ground smf\n");
std::string received_data(reinterpret_cast<char*>(udp_recv), bytes_received); std::string received_data(reinterpret_cast<char*>(udp_recv), bytes_received);
nlohmann::json smfcontext = nlohmann::json::parse(received_data); nlohmann::json smfcontext = nlohmann::json::parse(received_data);
supi_t supi = {.length = 0};
std::string supiudp = smfcontext["supi"];
smf_string_to_supi(&supi, supiudp.c_str());
scid_t scid = smfcontext["scid"];
std::shared_ptr<smf_context_ref> scf = {};
if (!smf_app_inst->is_scid_2_smf_context(scid)) {
Logger::smf_app().warn("SM Context associated with this id " SCID_FMT " does not exit!", scid);
scf = std::shared_ptr<smf_context_ref>(new smf_context_ref());
scf.get()->supi = supi;
scf.get()->pdu_session_id = smfcontext["pdu_session_id"];
smf_app_inst->set_scid_2_smf_context(scid, scf);
}
else
{
scf = smf_app_inst->scid_2_smf_context(scid);
}
supi64_t supi64 = smf_supi_to_u64(supi); if(smfcontext["direction"]=="ground_to_satellite")
uint64_t seid = smfcontext["seid"];
std::shared_ptr<smf_context> sc = {};
if (!smf_app_inst->is_supi_2_smf_context(supi64)) {
Logger::smf_app().debug("Create a new SMF context with SUPI " SUPI_64_FMT "", supi64);
sc = std::shared_ptr<smf_context>(new smf_context());
sc.get()->set_supi(supi);
// sc.get()->set_supi_prefix(supi_prefix);
smf_app_inst->set_supi_2_smf_context(supi64, sc);
// sc.get()->set_plmn(smreq->req.get_plmn()); // PLMN
smf_app_inst->set_seid_2_smf_context(seid, sc);
}
else
{ {
sc = smf_app_inst->supi_2_smf_context(supi64);
} Logger::smf_app().info("smf receive context from ground smf\n");
std::string received_data(reinterpret_cast<char*>(udp_recv), bytes_received);
nlohmann::json smfcontext = nlohmann::json::parse(received_data);
supi_t supi = {.length = 0};
std::shared_ptr<smf_pdu_session> sp = {}; std::string supiudp = smfcontext["supi"];
if (!sc.get()->find_pdu_session(scf.get()->pdu_session_id, sp)) { smf_string_to_supi(&supi, supiudp.c_str());
Logger::smf_app().debug("Create a new PDU session"); scid_t scid = smfcontext["scid"];
sp = std::shared_ptr<smf_pdu_session>(new smf_pdu_session(scf.get()->pdu_session_id)); std::shared_ptr<smf_context_ref> scf = {};
sp.get()->pdu_session_type.pdu_session_type = smfcontext["pdu_session_type"]; if (!smf_app_inst->is_scid_2_smf_context(scid)) {
sc.get()->add_pdu_session(scf.get()->pdu_session_id, sp); Logger::smf_app().warn("SM Context associated with this id " SCID_FMT " does not exit!", scid);
scf = std::shared_ptr<smf_context_ref>(new smf_context_ref());
scf.get()->supi = supi;
std::string dnn = smfcontext["dnn"]; scf.get()->pdu_session_id = smfcontext["pdu_session_id"];
snssai_t snssai = {}; smf_app_inst->set_scid_2_smf_context(scid, scf);
std::string sstsd = smfcontext["snssai"]; }
size_t sstPos = sstsd.find("SST="); else
if (sstPos != std::string::npos) { {
snssai.sst = std::stoi(sstsd.substr(sstPos + 4)); scf = smf_app_inst->scid_2_smf_context(scid);
} }
size_t sdPos = sstsd.find("SD=");
if (sdPos != std::string::npos) { supi64_t supi64 = smf_supi_to_u64(supi);
snssai.sd = std::stoi(sstsd.substr(sdPos + 3)); uint64_t seid = smfcontext["seid"];
} std::shared_ptr<smf_context> sc = {};
std::shared_ptr<session_management_subscription> subscription = if (!smf_app_inst->is_supi_2_smf_context(supi64)) {
std::shared_ptr<session_management_subscription>( Logger::smf_app().debug("Create a new SMF context with SUPI " SUPI_64_FMT "", supi64);
new session_management_subscription(snssai)); sc = std::shared_ptr<smf_context>(new smf_context());
if (smf_app_inst->get_session_management_subscription_data(supi64, dnn, snssai, subscription)) { sc.get()->set_supi(supi);
// update dnn_context with subscription info // sc.get()->set_supi_prefix(supi_prefix);
sc.get()->insert_dnn_subscription(snssai, dnn, subscription); smf_app_inst->set_supi_2_smf_context(supi64, sc);
} // sc.get()->set_plmn(smreq->req.get_plmn()); // PLMN
smf_app_inst->set_seid_2_smf_context(seid, sc);
sp.get()->set_dnn(dnn); }
sp.get()->set_snssai(snssai); else
std::shared_ptr<upf_graph> graph = {}; {
graph = pfcp_associations::get_instance().select_up_node(snssai, dnn); sc = smf_app_inst->supi_2_smf_context(supi64);
sp.get()->set_sessions_graph(graph); }
sp->set_seid(seid);
sp->up_fseid.seid = smfcontext["up_fseid"]; std::shared_ptr<smf_pdu_session> sp = {};
sp->ipv4 = true; if (!sc.get()->find_pdu_session(scf.get()->pdu_session_id, sp)) {
std::string ipv4_address22 = smfcontext["ipv4_address"]; Logger::smf_app().debug("Create a new PDU session");
inet_aton(ipv4_address22.c_str(), &sp->ipv4_address) ; sp = std::shared_ptr<smf_pdu_session>(new smf_pdu_session(scf.get()->pdu_session_id));
sp.get()->pdu_session_type.pdu_session_type = smfcontext["pdu_session_type"];
sc.get()->add_pdu_session(scf.get()->pdu_session_id, sp);
// sp->set_seid(smfcontext["seid"]);
// for finding procedure when receiving response
std::string dnn = smfcontext["dnn"];
subscribed_default_qos_t default_qos = {}; snssai_t snssai = {};
std::shared_ptr<session_management_subscription> ss = {}; std::string sstsd = smfcontext["snssai"];
sc->get_default_qos(snssai, dnn, default_qos); size_t sstPos = sstsd.find("SST=");
// Create default QoS (Non-GBR) and associate far id and pdr id to this flow if (sstPos != std::string::npos) {
smf_qos_flow flow = {}; snssai.sst = std::stoi(sstsd.substr(sstPos + 4));
flow.pdu_session_id = scf.get()->pdu_session_id; }
// default QoS profile size_t sdPos = sstsd.find("SD=");
flow.qfi.qfi = default_qos._5qi; if (sdPos != std::string::npos) {
flow.qos_profile._5qi = default_qos._5qi; snssai.sd = std::stoi(sstsd.substr(sdPos + 3));
flow.qos_profile.arp = default_qos.arp; }
flow.qos_profile.priority_level = default_qos.priority_level; std::shared_ptr<session_management_subscription> subscription =
// assign default QoS rule for this flow std::shared_ptr<session_management_subscription>(
QOSRulesIE qos_rule = {}; new session_management_subscription(snssai));
sc->get_default_qos_rule(qos_rule, sp.get()->pdu_session_type.pdu_session_type); if (smf_app_inst->get_session_management_subscription_data(supi64, dnn, snssai, subscription)) {
uint8_t rule_id = {0}; // update dnn_context with subscription info
sp->generate_qos_rule_id(rule_id); sc.get()->insert_dnn_subscription(snssai, dnn, subscription);
qos_rule.qosruleidentifer = rule_id; }
qos_rule.qosflowidentifer = flow.qfi.qfi;
sp->add_qos_rule(qos_rule); sp.get()->set_dnn(dnn);
sp->add_qos_flow(flow); sp.get()->set_snssai(snssai);
sp->set_default_qos_flow(flow.qfi); std::shared_ptr<upf_graph> graph = {};
sp->generate_far_id(flow.far_id_ul.second); graph = pfcp_associations::get_instance().select_up_node(snssai, dnn);
flow.far_id_ul.first = true; sp.get()->set_sessions_graph(graph);
sp->generate_pdr_id(flow.pdr_id_ul);
smf_qos_flow current_flow{}; sp->set_seid(seid);
current_flow = flow; sp->up_fseid.seid = smfcontext["up_fseid"];
Logger::smf_app().warn("----------liuyu-------start_asynch_dfs_procedure"); sp->ipv4 = true;
graph->start_asynch_dfs_procedure(true, flow); std::string ipv4_address22 = smfcontext["ipv4_address"];
std::vector<edge> dl_edges; inet_aton(ipv4_address22.c_str(), &sp->ipv4_address) ;
std::vector<edge> ul_edges;
std::shared_ptr<pfcp_association> upf = {};
// Get next UPF for the first N4 session establishment // sp->set_seid(smfcontext["seid"]);
Logger::smf_app().warn("----------liuyu-------dfs_next_upf"); // for finding procedure when receiving response
graph->dfs_next_upf(dl_edges, ul_edges, upf);
subscribed_default_qos_t default_qos = {};
std::shared_ptr<session_management_subscription> ss = {};
sc->get_default_qos(snssai, dnn, default_qos);
// Create default QoS (Non-GBR) and associate far id and pdr id to this flow
smf_qos_flow flow = {};
flow.pdu_session_id = scf.get()->pdu_session_id;
// default QoS profile
flow.qfi.qfi = default_qos._5qi;
flow.qos_profile._5qi = default_qos._5qi;
flow.qos_profile.arp = default_qos.arp;
flow.qos_profile.priority_level = default_qos.priority_level;
// assign default QoS rule for this flow
QOSRulesIE qos_rule = {};
sc->get_default_qos_rule(qos_rule, sp.get()->pdu_session_type.pdu_session_type);
uint8_t rule_id = {0};
sp->generate_qos_rule_id(rule_id);
qos_rule.qosruleidentifer = rule_id;
qos_rule.qosflowidentifer = flow.qfi.qfi;
sp->add_qos_rule(qos_rule);
sp->add_qos_flow(flow);
sp->set_default_qos_flow(flow.qfi);
sp->generate_far_id(flow.far_id_ul.second);
flow.far_id_ul.first = true;
sp->generate_pdr_id(flow.pdr_id_ul);
smf_qos_flow current_flow{};
current_flow = flow;
// Logger::smf_app().warn("----------liuyu-------start_asynch_dfs_procedure");
graph->start_asynch_dfs_procedure(true, flow);
std::vector<edge> dl_edges;
std::vector<edge> ul_edges;
std::shared_ptr<pfcp_association> upf = {};
// Get next UPF for the first N4 session establishment
// Logger::smf_app().warn("----------liuyu-------dfs_next_upf");
graph->dfs_next_upf(dl_edges, ul_edges, upf);
}
else{
Logger::smf_app().warn("Could not retrieve the corresponding SMF PDU Session context!");
}
} }
else{ else{
Logger::smf_app().warn("Could not retrieve the corresponding SMF PDU Session context!"); Logger::smf_app().info("ground smf receive context from satellite smf\n");
scid_t scid = smfcontext["scid"];
std::shared_ptr<smf_context_ref> scf = {};
if (!smf_app_inst->is_scid_2_smf_context(scid)) {
Logger::smf_app().error("Error, cooudp smf_context_ref don't exist" SCID_FMT " does not exit!", scid);
}
else
{
scf = smf_app_inst->scid_2_smf_context(scid);
}
std::shared_ptr<smf_context> sc = {};
// supi_t supi = {.length = 0};
// std::string supiudp = smfcontext["supi"];
// smf_string_to_supi(&supi, supiudp.c_str());
supi64_t supi64 = smf_supi_to_u64(scf.get()->supi);
if (!smf_app_inst->is_supi_2_smf_context(supi64)) {
Logger::smf_app().error("Error, cooudp smf_context don't exist" SUPI_64_FMT "", supi64);
}
else
{
sc = smf_app_inst->supi_2_smf_context(supi64);
}
std::shared_ptr<smf_pdu_session> sps = {};
if (!sc.get()->find_pdu_session(scf.get()->pdu_session_id, sps)) {
Logger::smf_app().error("Error, cooudp PDU session don't exist");
}
sps->set_pdu_session_status(pdu_session_status_e::PDU_SESSION_ACTIVE);
sps->set_upCnx_state(upCnx_state_e::UPCNX_STATE_ACTIVATED);
} }
} }
} }
...@@ -302,15 +342,15 @@ int udp_server_coop::udp_read_from_socket_to_center() { ...@@ -302,15 +342,15 @@ int udp_server_coop::udp_read_from_socket_to_center() {
//bytes_received = recvfrom(serverSocket, udp_recv, UDP_RECV_BUFFER_SIZE , 0, (struct sockaddr*)&r_endpoint.addr_storage, &r_endpoint.addr_storage_len); //bytes_received = recvfrom(serverSocket, udp_recv, UDP_RECV_BUFFER_SIZE , 0, (struct sockaddr*)&r_endpoint.addr_storage, &r_endpoint.addr_storage_len);
if(bytes_received > 0){ if(bytes_received > 0){
printf("smf receive udp success from satellite amf\n"); // printf("smf receive udp success from satellite amf\n");
gettimeofday(&time, NULL); // gettimeofday(&time, NULL);
// std::cout<<"receive from plugin, ms: "<<(time.tv_sec*1000 + time.tv_usec/1000)<<std::endl; // std::cout<<"receive from plugin, ms: "<<(time.tv_sec*1000 + time.tv_usec/1000)<<std::endl;
// cout<<"bytes"<<bytes_received<<endl; // cout<<"bytes"<<bytes_received<<endl;
// cout<<"content:"<<udp_recv<<endl; // cout<<"content:"<<udp_recv<<endl;
// string udp_recv_str(&udp_recv[0],&udp_recv[strlen(udp_recv)]); // string udp_recv_str(&udp_recv[0],&udp_recv[strlen(udp_recv)]);
// cout<<"content:"<<udp_recv_str<<endl; // cout<<"content:"<<udp_recv_str<<endl;
// handle_receive_udp(bytes_received,udp_recv); // handle_receive_udp(bytes_received,udp_recv);
printf("smf send udp to center amf\n"); // printf("smf send udp to center amf\n");
UdpSend(udp_recv,bytes_received,"10.103.239.47",20003); UdpSend(udp_recv,bytes_received,"10.103.239.47",20003);
// assoc_id++; // assoc_id++;
...@@ -344,15 +384,15 @@ int udp_server_coop::udp_read_from_socket_from_center() { ...@@ -344,15 +384,15 @@ int udp_server_coop::udp_read_from_socket_from_center() {
//bytes_received = recvfrom(serverSocket, udp_recv, UDP_RECV_BUFFER_SIZE , 0, (struct sockaddr*)&r_endpoint.addr_storage, &r_endpoint.addr_storage_len); //bytes_received = recvfrom(serverSocket, udp_recv, UDP_RECV_BUFFER_SIZE , 0, (struct sockaddr*)&r_endpoint.addr_storage, &r_endpoint.addr_storage_len);
if(bytes_received > 0){ if(bytes_received > 0){
printf("smf receive udp success from center amf\n"); // printf("smf receive udp success from center amf\n");
gettimeofday(&time, NULL); // gettimeofday(&time, NULL);
// std::cout<<"receive from plugin, ms: "<<(time.tv_sec*1000 + time.tv_usec/1000)<<std::endl; // std::cout<<"receive from plugin, ms: "<<(time.tv_sec*1000 + time.tv_usec/1000)<<std::endl;
// cout<<"bytes"<<bytes_received<<endl; // cout<<"bytes"<<bytes_received<<endl;
// cout<<"content:"<<udp_recv<<endl; // cout<<"content:"<<udp_recv<<endl;
// string udp_recv_str(&udp_recv[0],&udp_recv[strlen(udp_recv)]); // string udp_recv_str(&udp_recv[0],&udp_recv[strlen(udp_recv)]);
// cout<<"content:"<<udp_recv_str<<endl; // cout<<"content:"<<udp_recv_str<<endl;
// handle_receive_udp(bytes_received,udp_recv); // handle_receive_udp(bytes_received,udp_recv);
printf("smf send udp to satellite amf\n"); // printf("smf send udp to satellite amf\n");
UdpSend(udp_recv,bytes_received,"10.103.239.31",20002); UdpSend(udp_recv,bytes_received,"10.103.239.31",20002);
// assoc_id++; // assoc_id++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment