Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常顺宇
OpenXG-RAN
Commits
8f3adc8b
Commit
8f3adc8b
authored
Sep 10, 2020
by
heshanyun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix gNB build error
parent
85fe26bd
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
113 additions
and
120 deletions
+113
-120
common/utils/ocp_itti/all_msg.h
common/utils/ocp_itti/all_msg.h
+1
-0
common/utils/ocp_itti/intertask_interface.h
common/utils/ocp_itti/intertask_interface.h
+1
-0
executables/nr-softmodem.c
executables/nr-softmodem.c
+3
-0
openair2/COMMON/ngap_messages_types.h
openair2/COMMON/ngap_messages_types.h
+98
-103
openair2/GNB_APP/gnb_app.c
openair2/GNB_APP/gnb_app.c
+3
-3
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+5
-4
openair2/GNB_APP/gnb_config.h
openair2/GNB_APP/gnb_config.h
+1
-0
openair3/COMMON/messages_types.h
openair3/COMMON/messages_types.h
+1
-0
openair3/NGAP/ngap_gNB.c
openair3/NGAP/ngap_gNB.c
+0
-1
openair3/NGAP/ngap_gNB.h
openair3/NGAP/ngap_gNB.h
+0
-9
No files found.
common/utils/ocp_itti/all_msg.h
View file @
8f3adc8b
...
...
@@ -16,3 +16,4 @@
#include "openair2/COMMON/gtpv1_u_messages_def.h"
#include "openair2/COMMON/flexran_messages_def.h"
#include "openair2/COMMON/f1ap_messages_def.h"
#include "openair2/COMMON/ngap_messages_def.h"
common/utils/ocp_itti/intertask_interface.h
View file @
8f3adc8b
...
...
@@ -230,6 +230,7 @@ typedef struct IttiMsgText_s {
#include <openair2/COMMON/sctp_messages_types.h>
#include <openair2/COMMON/udp_messages_types.h>
#include <openair2/COMMON/gtpv1_u_messages_types.h>
#include <openair2/COMMON/ngap_messages_types.h>
#include <openair3/SCTP/sctp_eNB_task.h>
#include <openair3/NAS/UE/nas_proc_defs.h>
#include <openair3/NAS/UE/ESM/esmData.h>
...
...
executables/nr-softmodem.c
View file @
8f3adc8b
...
...
@@ -83,6 +83,7 @@ unsigned short config_frames[4] = {2,9,11,13};
#include "executables/thread-common.h"
#include "NB_IoT_interface.h"
#include "x2ap_eNB.h"
#include "ngap_gNB.h"
pthread_cond_t
nfapi_sync_cond
;
pthread_mutex_t
nfapi_sync_mutex
;
...
...
@@ -408,10 +409,12 @@ int create_gNB_tasks(uint32_t gnb_nb) {
return -1;
}
*/
/*
if (itti_create_task (TASK_NGAP, ngap_gNB_task, NULL) < 0) {
LOG_E(S1AP, "Create task for NGAP failed\n");
return -1;
}
*/
if
(
!
emulate_rf
){
...
...
openair2/COMMON/ngap_messages_types.h
View file @
8f3adc8b
...
...
@@ -74,83 +74,78 @@
#define NGAP_MAX_NB_AMF_IP_ADDRESS 10
#define NGAP_IMSI_LENGTH 16
#define QOSFLOW_MAX_VALUE 64
;
#define QOSFLOW_MAX_VALUE 64
/* Security key length used within gNB
* Even if only 16 bytes will be effectively used,
* the key length is 32 bytes (256 bits)
*/
#define SECURITY_KEY_LENGTH 32
typedef
enum
cell_type_e
{
CELL_MACRO_ENB
,
CELL_HOME_ENB
,
CELL_MACRO_GNB
}
cell_type_t
;
typedef
enum
paging_drx_e
{
PAGING_DRX_32
=
0x0
,
PAGING_DRX_64
=
0x1
,
PAGING_DRX_128
=
0x2
,
PAGING_DRX_256
=
0x3
}
paging_drx_t
;
typedef
enum
ngap_paging_drx_e
{
NGAP_PAGING_DRX_32
=
0x0
,
NGAP_PAGING_DRX_64
=
0x1
,
NGAP_PAGING_DRX_128
=
0x2
,
NGAP_PAGING_DRX_256
=
0x3
}
ngap_paging_drx_t
;
/* Lower value codepoint
* indicates higher priority.
*/
typedef
enum
paging_priority_s
{
PAGING_PRIO_LEVEL1
=
0
,
PAGING_PRIO_LEVEL2
=
1
,
PAGING_PRIO_LEVEL3
=
2
,
PAGING_PRIO_LEVEL4
=
3
,
PAGING_PRIO_LEVEL5
=
4
,
PAGING_PRIO_LEVEL6
=
5
,
PAGING_PRIO_LEVEL7
=
6
,
PAGING_PRIO_LEVEL8
=
7
}
paging_priority_t
;
typedef
enum
cn_domain_s
{
CN_DOMAIN_PS
=
1
,
CN_DOMAIN_CS
=
2
}
cn_domain_t
;
typedef
struct
net_ip_address_s
{
typedef
enum
ngap_
paging_priority_s
{
NGAP_
PAGING_PRIO_LEVEL1
=
0
,
NGAP_
PAGING_PRIO_LEVEL2
=
1
,
NGAP_
PAGING_PRIO_LEVEL3
=
2
,
NGAP_
PAGING_PRIO_LEVEL4
=
3
,
NGAP_
PAGING_PRIO_LEVEL5
=
4
,
NGAP_
PAGING_PRIO_LEVEL6
=
5
,
NGAP_
PAGING_PRIO_LEVEL7
=
6
,
NGAP_
PAGING_PRIO_LEVEL8
=
7
}
ngap_
paging_priority_t
;
typedef
enum
ngap_
cn_domain_s
{
NGAP_
CN_DOMAIN_PS
=
1
,
NGAP_
CN_DOMAIN_CS
=
2
}
ngap_
cn_domain_t
;
typedef
struct
n
gap_n
et_ip_address_s
{
unsigned
ipv4
:
1
;
unsigned
ipv6
:
1
;
char
ipv4_address
[
16
];
char
ipv6_address
[
46
];
}
net_ip_address_t
;
}
n
gap_n
et_ip_address_t
;
typedef
uint64_t
bitrate_t
;
typedef
struct
ambr_s
{
typedef
struct
ngap_
ambr_s
{
bitrate_t
br_ul
;
bitrate_t
br_dl
;
}
ambr_t
;
typedef
enum
priority_level_s
{
PRIORITY_LEVEL_SPARE
=
0
,
PRIORITY_LEVEL_HIGHEST
=
1
,
PRIORITY_LEVEL_LOWEST
=
14
,
PRIORITY_LEVEL_NO_PRIORITY
=
15
}
priority_level_t
;
typedef
enum
pre_emp_capability_e
{
PRE_EMPTION_CAPABILITY_ENABLED
=
0
,
PRE_EMPTION_CAPABILITY_DISABLED
=
1
,
PRE_EMPTION_CAPABILITY_MAX
,
}
pre_emp_capability_t
;
typedef
enum
pre_emp_vulnerability_e
{
PRE_EMPTION_VULNERABILITY_ENABLED
=
0
,
PRE_EMPTION_VULNERABILITY_DISABLED
=
1
,
PRE_EMPTION_VULNERABILITY_MAX
,
}
pre_emp_vulnerability_t
;
typedef
struct
allocation_retention_priority_s
{
priority_level_t
priority_level
;
pre_emp_capability_t
pre_emp_capability
;
pre_emp_vulnerability_t
pre_emp_vulnerability
;
}
allocation_retention_priority_t
;
}
ngap_
ambr_t
;
typedef
enum
ngap_
priority_level_s
{
NGAP_
PRIORITY_LEVEL_SPARE
=
0
,
NGAP_
PRIORITY_LEVEL_HIGHEST
=
1
,
NGAP_
PRIORITY_LEVEL_LOWEST
=
14
,
NGAP_
PRIORITY_LEVEL_NO_PRIORITY
=
15
}
ngap_
priority_level_t
;
typedef
enum
ngap_
pre_emp_capability_e
{
NGAP_
PRE_EMPTION_CAPABILITY_ENABLED
=
0
,
NGAP_
PRE_EMPTION_CAPABILITY_DISABLED
=
1
,
NGAP_
PRE_EMPTION_CAPABILITY_MAX
,
}
ngap_
pre_emp_capability_t
;
typedef
enum
ngap_
pre_emp_vulnerability_e
{
NGAP_
PRE_EMPTION_VULNERABILITY_ENABLED
=
0
,
NGAP_
PRE_EMPTION_VULNERABILITY_DISABLED
=
1
,
NGAP_
PRE_EMPTION_VULNERABILITY_MAX
,
}
ngap_
pre_emp_vulnerability_t
;
typedef
struct
ngap_
allocation_retention_priority_s
{
ngap_
priority_level_t
priority_level
;
ngap_
pre_emp_capability_t
pre_emp_capability
;
ngap_
pre_emp_vulnerability_t
pre_emp_vulnerability
;
}
ngap_
allocation_retention_priority_t
;
typedef
struct
nr_security_capabilities_s
{
uint16_t
nRencryption_algorithms
;
...
...
@@ -164,17 +159,17 @@ typedef struct nr_security_capabilities_s {
* concerns AC11..AC15, ‘mt Estands for ‘Mobile Terminating Eand ‘mo Efor
* 'Mobile Originating'. Defined in TS 36.331.
*/
typedef
enum
rrc_establishment_cause_e
{
RRC_CAUSE_EMERGENCY
=
0x0
,
RRC_CAUSE_HIGH_PRIO_ACCESS
=
0x1
,
RRC_CAUSE_MT_ACCESS
=
0x2
,
RRC_CAUSE_MO_SIGNALLING
=
0x3
,
RRC_CAUSE_MO_DATA
=
0x4
,
typedef
enum
ngap_
rrc_establishment_cause_e
{
NGAP_
RRC_CAUSE_EMERGENCY
=
0x0
,
NGAP_
RRC_CAUSE_HIGH_PRIO_ACCESS
=
0x1
,
NGAP_
RRC_CAUSE_MT_ACCESS
=
0x2
,
NGAP_
RRC_CAUSE_MO_SIGNALLING
=
0x3
,
NGAP_
RRC_CAUSE_MO_DATA
=
0x4
,
#if defined(UPDATE_RELEASE_10)
RRC_CAUSE_DELAY_TOLERANT_ACCESS
=
0x5
,
NGAP_
RRC_CAUSE_DELAY_TOLERANT_ACCESS
=
0x5
,
#endif
RRC_CAUSE_LAST
}
rrc_establishment_cause_t
;
NGAP_
RRC_CAUSE_LAST
}
ngap_
rrc_establishment_cause_t
;
typedef
struct
ngap_guami_s
{
uint16_t
mcc
;
...
...
@@ -197,43 +192,43 @@ typedef struct ngap_imsi_s {
uint8_t
length
;
}
ngap_imsi_t
;
typedef
struct
s_tmsi_s
{
typedef
struct
ngap_
s_tmsi_s
{
uint8_t
amf_code
;
uint32_t
m_tmsi
;
}
s_tmsi_t
;
}
ngap_
s_tmsi_t
;
typedef
enum
ue_paging_identity_presenceMask_e
{
UE_PAGING_IDENTITY_NONE
=
0
,
UE_PAGING_IDENTITY_imsi
=
(
1
<<
1
),
UE_PAGING_IDENTITY_s_tmsi
=
(
1
<<
2
),
}
ue_paging_identity_presenceMask_t
;
typedef
enum
ngap_
ue_paging_identity_presenceMask_e
{
NGAP_
UE_PAGING_IDENTITY_NONE
=
0
,
NGAP_
UE_PAGING_IDENTITY_imsi
=
(
1
<<
1
),
NGAP_
UE_PAGING_IDENTITY_s_tmsi
=
(
1
<<
2
),
}
ngap_
ue_paging_identity_presenceMask_t
;
typedef
struct
ue_paging_identity_s
{
ue_paging_identity_presenceMask_t
presenceMask
;
typedef
struct
ngap_
ue_paging_identity_s
{
ngap_
ue_paging_identity_presenceMask_t
presenceMask
;
union
{
ngap_imsi_t
imsi
;
s_tmsi_t
s_tmsi
;
ngap_
s_tmsi_t
s_tmsi
;
}
choice
;
}
ue_paging_identity_t
;
}
ngap_
ue_paging_identity_t
;
typedef
enum
ue_identities_presenceMask_e
{
UE_IDENTITIES_NONE
=
0
,
UE_IDENTITIES_s_tmsi
=
1
<<
1
,
UE_IDENTITIES_guami
=
1
<<
2
,
}
ue_identities_presenceMask_t
;
typedef
enum
ngap_
ue_identities_presenceMask_e
{
NGAP_
UE_IDENTITIES_NONE
=
0
,
NGAP_
UE_IDENTITIES_s_tmsi
=
1
<<
1
,
NGAP_
UE_IDENTITIES_guami
=
1
<<
2
,
}
ngap_
ue_identities_presenceMask_t
;
typedef
struct
nrue_identity_s
{
ue_identities_presenceMask_t
presenceMask
;
s_tmsi_t
s_tmsi
;
typedef
struct
n
gap_n
rue_identity_s
{
ngap_
ue_identities_presenceMask_t
presenceMask
;
ngap_
s_tmsi_t
s_tmsi
;
ngap_guami_t
guami
;
}
nrue_identity_t
;
typedef
struct
nas_pdu_s
{
typedef
struct
n
gap_n
as_pdu_s
{
/* Octet string data */
uint8_t
*
buffer
;
/* Length of the octet string */
uint32_t
length
;
}
n
as_pdu_t
,
ue_radio_cap_t
;
}
n
gap_nas_pdu_t
,
ngap_
ue_radio_cap_t
;
typedef
enum
pdu_session_type_e
{
PDUSessionType_ipv4
=
0
,
...
...
@@ -243,7 +238,7 @@ typedef enum pdu_session_type_e {
PDUSessionType_unstructured
=
4
}
pdu_session_type_t
;
typedef
struct
transport_layer_addr_s
{
typedef
struct
ngap_
transport_layer_addr_s
{
/* Length of the transport layer address buffer in bits. NGAP layer received a
* bit string<1..160> containing one of the following addresses: ipv4,
* ipv6, or ipv4 and ipv6. The layer doesn't interpret the buffer but
...
...
@@ -252,7 +247,7 @@ typedef struct transport_layer_addr_s {
uint8_t
pdu_session_type
;
uint8_t
length
;
uint8_t
buffer
[
20
];
// in network byte order
}
transport_layer_addr_t
;
}
ngap_
transport_layer_addr_t
;
#define TRANSPORT_LAYER_ADDR_COPY(dEST,sOURCE) \
do { \
...
...
@@ -275,9 +270,9 @@ typedef struct pdusession_s {
/* Quality of service for this pdusession */
pdusession_level_qos_parameter_t
qos
[
QOSFLOW_MAX_VALUE
];
/* The NAS PDU should be forwarded by the RRC layer to the NAS layer */
nas_pdu_t
nas_pdu
;
n
gap_n
as_pdu_t
nas_pdu
;
/* The transport layer address for the IP packets */
transport_layer_addr_t
upf_addr
;
ngap_
transport_layer_addr_t
upf_addr
;
/* S-GW Tunnel endpoint identifier */
uint32_t
gtp_teid
;
}
pdusession_t
;
...
...
@@ -339,7 +334,7 @@ typedef struct pdusession_modify_s {
uint8_t
pdusession_id
;
}
pdusession_modify_t
;
typedef
enum
S1
ap_Cause_e
{
typedef
enum
ng
ap_Cause_e
{
NGAP_CAUSE_NOTHING
,
/* No components present */
NGAP_CAUSE_RADIO_NETWORK
,
NGAP_CAUSE_TRANSPORT
,
...
...
@@ -400,7 +395,7 @@ typedef struct ngap_register_gnb_req_s {
uint8_t
num_plmn
;
/* Default Paging DRX of the gNB as defined in TS 36.304 */
paging_drx_t
default_drx
;
ngap_
paging_drx_t
default_drx
;
/* The gNB IP address to bind */
net_ip_address_t
gnb_ip_address
;
...
...
@@ -446,7 +441,7 @@ typedef struct ngap_nas_first_req_s {
int
selected_plmn_identity
;
/* Establishment cause as sent by UE */
rrc_establishment_cause_t
establishment_cause
;
ngap_
rrc_establishment_cause_t
establishment_cause
;
/* NAS PDU */
nas_pdu_t
nas_pdu
;
...
...
@@ -508,7 +503,7 @@ typedef struct ngap_ue_ctxt_modification_req_s {
uint8_t
security_key
[
SECURITY_KEY_LENGTH
];
/* UE aggregate maximum bitrate */
ambr_t
ue_ambr
;
ngap_
ambr_t
ue_ambr
;
/* NR Security capabilities */
nr_security_capabilities_t
security_capabilities
;
...
...
@@ -569,11 +564,11 @@ typedef struct ngap_initial_context_setup_req_s {
pdusession_t
pdusession_param
[
NGAP_MAX_PDUSESSION
];
}
ngap_initial_context_setup_req_t
;
typedef
struct
tai_plmn_identity_s
{
typedef
struct
ngap_
tai_plmn_identity_s
{
uint16_t
mcc
;
uint16_t
mnc
;
uint8_t
mnc_digit_length
;
}
plmn_identity_t
;
}
ngap_
plmn_identity_t
;
typedef
struct
ngap_paging_ind_s
{
/* UE identity index value.
...
...
@@ -582,13 +577,13 @@ typedef struct ngap_paging_ind_s {
unsigned
ue_index_value
:
10
;
/* UE paging identity */
ue_paging_identity_t
ue_paging_identity
;
ngap_
ue_paging_identity_t
ue_paging_identity
;
/* Indicates origin of paging */
cn_domain_t
cn_domain
;
ngap_
cn_domain_t
cn_domain
;
/* PLMN_identity in TAI of Paging*/
plmn_identity_t
plmn_identity
[
256
];
ngap_
plmn_identity_t
plmn_identity
[
256
];
/* TAC in TAIList of Paging*/
int16_t
tac
[
256
];
...
...
@@ -597,9 +592,9 @@ typedef struct ngap_paging_ind_s {
int16_t
tai_size
;
/* Optional fields */
paging_drx_t
paging_drx
;
ngap_
paging_drx_t
paging_drx
;
paging_priority_t
paging_priority
;
ngap_
paging_priority_t
paging_priority
;
}
ngap_paging_ind_t
;
typedef
struct
ngap_pdusession_setup_req_s
{
...
...
openair2/GNB_APP/gnb_app.c
View file @
8f3adc8b
...
...
@@ -39,7 +39,7 @@
#include "x2ap_eNB.h"
#include "intertask_interface.h"
#include "
s1ap_e
NB.h"
#include "
ngap_g
NB.h"
#include "sctp_eNB_task.h"
#include "gtpv1u_eNB_task.h"
#include "PHY/INIT/phy_init.h"
...
...
@@ -83,14 +83,14 @@ static uint32_t gNB_app_register(uint32_t gnb_id_start, uint32_t gnb_id_end)//,
ngap_register_gnb_req_t
*
ngap_register_gNB
;
//Type Temporarily reuse
// note: there is an implicit relationship between the data structure and the message name
*
msg_p
=
itti_alloc_new_message
(
TASK_GNB_APP
,
NGAP_REGISTER_GNB_REQ
);
//Message Temporarily reuse
msg_p
=
itti_alloc_new_message
(
TASK_GNB_APP
,
NGAP_REGISTER_GNB_REQ
);
//Message Temporarily reuse
RCconfig_NR_NG
(
msg_p
,
gnb_id
);
if
(
gnb_id
==
0
)
RCconfig_nr_gtpu
();
ngap_register_gNB
=
&
NGAP_REGISTER_GNB_REQ
(
msg_p
);
//Message Temporarily reuse
LOG_I
(
GNB_APP
,
"default drx %d
\n
"
,
ngap_register_gNB
->
default_drx
);
*/
LOG_I
(
GNB_APP
,
"default drx %d
\n
"
,
ngap_register_gNB
->
default_drx
);
LOG_I
(
GNB_APP
,
"[gNB %d] gNB_app_register for instance %d
\n
"
,
gnb_id
,
GNB_MODULE_ID_TO_INSTANCE
(
gnb_id
));
...
...
openair2/GNB_APP/gnb_config.c
View file @
8f3adc8b
...
...
@@ -37,6 +37,7 @@
#include "UTIL/OTG/otg.h"
#include "UTIL/OTG/otg_externs.h"
#include "intertask_interface.h"
#include "s1ap_eNB.h"
#include "ngap_gNB.h"
#include "sctp_eNB_task.h"
#include "sctp_default_values.h"
...
...
@@ -342,7 +343,7 @@ void RCconfig_nr_flexran()
if
(
!
GNBParamList
.
paramarray
[
i
][
GNB_GNB_ID_IDX
].
uptr
)
{
// Calculate a default gNB ID
if
(
EPC_MODE_ENABLED
)
gnb_id
=
i
+
(
ngap_generate_g
NB_id
()
&
0xFFFF8
);
gnb_id
=
i
+
(
s1ap_generate_e
NB_id
()
&
0xFFFF8
);
else
gnb_id
=
i
;
}
else
{
...
...
@@ -569,7 +570,7 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
// Calculate a default gNB ID
if
(
EPC_MODE_ENABLED
)
{
uint32_t
hash
;
hash
=
ngap_generate_g
NB_id
();
hash
=
s1ap_generate_e
NB_id
();
gnb_id
=
i
+
(
hash
&
0xFFFF8
);
}
else
{
gnb_id
=
i
;
...
...
@@ -786,7 +787,7 @@ int RCconfig_NR_NG(MessageDef *msg_p, uint32_t i) {
if
(
EPC_MODE_ENABLED
)
{
uint32_t
hash
;
hash
=
ngap_generate_g
NB_id
();
hash
=
s1ap_generate_e
NB_id
();
gnb_id
=
k
+
(
hash
&
0xFFFF8
);
}
else
{
gnb_id
=
k
;
...
...
@@ -1035,7 +1036,7 @@ int RCconfig_NR_X2(MessageDef *msg_p, uint32_t i) {
// Calculate a default eNB ID
if
(
EPC_MODE_ENABLED
)
{
uint32_t
hash
;
hash
=
ngap_generate_g
NB_id
();
hash
=
s1ap_generate_e
NB_id
();
gnb_id
=
k
+
(
hash
&
0xFFFF8
);
}
else
{
gnb_id
=
k
;
...
...
openair2/GNB_APP/gnb_config.h
View file @
8f3adc8b
...
...
@@ -39,6 +39,7 @@
#include "platform_constants.h"
#include "PHY/defs_eNB.h"
#include "s1ap_messages_types.h"
#include "ngap_messages_types.h"
#ifdef CMAKER
#include "rrc_messages_types.h"
...
...
openair3/COMMON/messages_types.h
View file @
8f3adc8b
...
...
@@ -39,6 +39,7 @@
#include "udp_messages_types.h"
#include "mme_app_messages_types.h"
#include "m2ap_messages_types.h"
#include "ngap_messages_types.h"
#endif
/* MESSAGES_TYPES_H_ */
openair3/NGAP/ngap_gNB.c
View file @
8f3adc8b
...
...
@@ -64,7 +64,6 @@
#include "oaisim_amf_test_s1c.h"
#endif
ngap_gNB_config_t
ngap_config
;
static
int
ngap_gNB_generate_ng_setup_request
(
ngap_gNB_instance_t
*
instance_p
,
ngap_gNB_amf_data_t
*
ngap_amf_data_p
);
...
...
openair3/NGAP/ngap_gNB.h
View file @
8f3adc8b
...
...
@@ -30,15 +30,6 @@
#ifndef NGAP_GNB_H_
#define NGAP_GNB_H_
typedef
struct
ngap_gNB_config_s
{
// AMF related params
unsigned
char
amf_enabled
;
///< AMF enabled ?
}
ngap_gNB_config_t
;
extern
ngap_gNB_config_t
ngap_config
;
#define EPC_MODE_ENABLED ngap_config.amf_enabled
void
*
ngap_gNB_process_itti_msg
(
void
*
);
void
ngap_gNB_init
(
void
);
void
*
ngap_gNB_task
(
void
*
arg
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment