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
littleBu
OpenXG-RAN
Commits
1f6d4a6c
Commit
1f6d4a6c
authored
10 months ago
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/hotfix-uint8_t-size' into integration_2024_w21c
parents
c202e917
31274f6c
Branches unavailable
2025.w08
2025.w07
2025.w06
2025.w05
2025.w04
2025.w03
2025.w02
2024.w51
2024.w50
2024.w49
2024.w48
2024.w47
2024.w46
2024.w45
2024.w44
2024.w43
2024.w42
2024.w41
2024.w40
2024.w39
2024.w38
2024.w36
2024.w35
2024.w34
2024.w33
2024.w32
2024.w31
2024.w30
2024.w29
2024.w28
2024.w27
2024.w26
2024.w25
2024.w24
2024.w23
2024.w22
2024.w21
v2.2.0
No related merge requests found
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
138 additions
and
144 deletions
+138
-144
openair2/RRC/LTE/defs_NB_IoT.h
openair2/RRC/LTE/defs_NB_IoT.h
+17
-17
openair2/RRC/LTE/rrc_defs.h
openair2/RRC/LTE/rrc_defs.h
+28
-28
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+42
-42
openair2/RRC/NR/MESSAGES/asn1_msg.h
openair2/RRC/NR/MESSAGES/asn1_msg.h
+38
-38
openair2/RRC/NR/nr_rrc_defs.h
openair2/RRC/NR/nr_rrc_defs.h
+2
-2
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+8
-13
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+3
-4
No files found.
openair2/RRC/LTE/defs_NB_IoT.h
View file @
1f6d4a6c
...
...
@@ -182,7 +182,7 @@ typedef struct e_rab_param_NB_IoT_s {
typedef
struct
{
char
Payload
[
RRC_BUFFER_SIZE_MAX
];
char
Header
[
RRC_HEADER_SIZE_MAX
];
char
payload_size
;
int
payload_size
;
}
RRC_BUFFER_NB_IoT
;
#define RRC_BUFFER_SIZE_NB_IoT sizeof(RRC_BUFFER_NB_IoT)
...
...
@@ -288,9 +288,9 @@ typedef struct eNB_RRC_UE_NB_IoT_s {
security_capabilities_t
security_capabilities
;
/* Total number of e_rab already setup in the list */
//NAS list?
uint8_t
setup_e_rabs
;
int
setup_e_rabs
;
/* Number of e_rab to be setup in the list */
//NAS list?
uint8_t
nb_of_e_rabs
;
int
nb_of_e_rabs
;
/* list of e_rab to be setup by RRC layers */
e_rab_param_NB_IoT_t
e_rab
[
NB_RB_MAX_NB_IOT
];
//[S1AP_MAX_E_RAB];
...
...
@@ -337,31 +337,31 @@ typedef struct {
// buffer that contains the encoded messages
uint8_t
*
MIB_NB_IoT
;
uint8_t
sizeof_MIB_NB_IoT
;
int
sizeof_MIB_NB_IoT
;
uint8_t
*
SIB1_NB_IoT
;
uint8_t
sizeof_SIB1_NB_IoT
;
int
sizeof_SIB1_NB_IoT
;
uint8_t
*
SIB23_NB_IoT
;
uint8_t
sizeof_SIB23_NB_IoT
;
int
sizeof_SIB23_NB_IoT
;
//not actually implemented in OAI
uint8_t
*
SIB4_NB_IoT
;
uint8_t
sizeof_SIB4_NB_IoT
;
int
sizeof_SIB4_NB_IoT
;
uint8_t
*
SIB5_NB_IoT
;
uint8_t
sizeof_SIB5_NB_IoT
;
int
sizeof_SIB5_NB_IoT
;
uint8_t
*
SIB14_NB_IoT
;
uint8_t
sizeof_SIB14_NB_IoT
;
int
sizeof_SIB14_NB_IoT
;
uint8_t
*
SIB16_NB_IoT
;
uint8_t
sizeof_SIB16_NB_IoT
;
int
sizeof_SIB16_NB_IoT
;
//TS 36.331 V14.2.1
// uint8_t *SIB15_NB;
//
uint8_t
sizeof_SIB15_NB;
//
int
sizeof_SIB15_NB;
// uint8_t *SIB20_NB;
//
uint8_t
sizeof_SIB20_NB;
//
int
sizeof_SIB20_NB;
// uint8_t *SIB22_NB;
//
uint8_t
sizeof_SIB22_NB;
//
int
sizeof_SIB22_NB;
//implicit parameters needed
int
Ncp
;
//cyclic prefix for DL
...
...
@@ -391,7 +391,7 @@ typedef struct {
SRB_INFO_NB_IoT
Srb0
;
uint8_t
**
MCCH_MESSAGE
;
// probably not needed , but added to remove errors
uint8_t
sizeof_MCCH_MESSAGE
[
8
];
// but added to remove errors
int
sizeof_MCCH_MESSAGE
[
8
];
// but added to remove errors
SRB_INFO_NB_IoT
MCCH_MESS
[
8
];
// MAX_MBSFN_AREA
/*future implementation TS 36.331 V14.2.1
SystemInformationBlockType15_NB_r14_t *sib15;
...
...
@@ -399,7 +399,7 @@ typedef struct {
SystemInformationBlockType22_NB_r14_t *sib22;
uint8_t SCPTM_flag;
uint8_t
sizeof_SC_MCHH_MESS[];
int
sizeof_SC_MCHH_MESS[];
SC_MCCH_Message_NB_t scptm;*/
...
...
@@ -448,7 +448,7 @@ typedef struct eNB_RRC_INST_NB_IoT_s {
//not needed for the moment
typedef
struct
OAI_UECapability_NB_IoT_s
{
uint8_t
sdu
[
MAX_UE_CAPABILITY_SIZE_NB_IoT
];
uint8_t
sdu_size
;
int
sdu_size
;
////NB-IoT------
LTE_UE_Capability_NB_r13_t
UE_Capability_NB_IoT
;
//replace the UE_EUTRA_Capability of LTE
}
OAI_UECapability_NB_IoT_t
;
...
...
@@ -465,7 +465,7 @@ typedef struct UE_RRC_INST_NB_IoT_s {
as_nas_info_t
initialNasMsg
;
OAI_UECapability_NB_IoT_t
*
UECap
;
uint8_t
*
UECapability
;
uint8_t
UECapability_size
;
int
UECapability_size
;
UE_RRC_INFO_NB_IoT
Info
[
NB_SIG_CNX_UE
];
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/LTE/rrc_defs.h
View file @
1f6d4a6c
...
...
@@ -608,20 +608,20 @@ typedef struct eNB_RRC_UE_s {
uint8_t
next_security_key
[
SECURITY_KEY_LENGTH
];
/* Total number of e_rab already setup in the list */
uint8_t
setup_e_rabs
;
int
setup_e_rabs
;
/* Number of e_rab to be setup in the list */
uint8_t
nb_of_e_rabs
;
int
nb_of_e_rabs
;
/* Number of e_rab to be modified in the list */
uint8_t
nb_of_modify_e_rabs
;
uint8_t
nb_of_failed_e_rabs
;
uint8_t
nb_of_modify_endc_e_rabs
;
int
nb_of_modify_e_rabs
;
int
nb_of_failed_e_rabs
;
int
nb_of_modify_endc_e_rabs
;
e_rab_param_t
modify_e_rab
[
NB_RB_MAX
];
//[S1AP_MAX_E_RAB];
/* list of e_rab to be setup by RRC layers */
e_rab_param_t
e_rab
[
NB_RB_MAX
];
//[S1AP_MAX_E_RAB];
/* UE aggregate maximum bitrate */
ambr_t
ue_ambr
;
//release e_rabs
uint8_t
nb_release_of_e_rabs
;
int
nb_release_of_e_rabs
;
/* list of e_rab to be released by RRC layers */
uint8_t
e_rabs_tobereleased
[
NB_RB_MAX
];
e_rab_failed_t
e_rabs_release_failed
[
S1AP_MAX_E_RAB
];
...
...
@@ -634,7 +634,7 @@ typedef struct eNB_RRC_UE_s {
transport_layer_addr_t
gnb_gtp_endc_addrs
[
S1AP_MAX_E_RAB
];
rb_id_t
gnb_gtp_endc_ebi
[
S1AP_MAX_E_RAB
];
/* Total number of e_rab already setup in the list */
uint8_t
nb_x2u_e_rabs
;
int
nb_x2u_e_rabs
;
// LG: For GTPV1 TUNNELS(X2U)
uint32_t
enb_gtp_x2u_teid
[
S1AP_MAX_E_RAB
];
transport_layer_addr_t
enb_gtp_x2u_addrs
[
S1AP_MAX_E_RAB
];
...
...
@@ -674,19 +674,19 @@ typedef struct rrc_eNB_ue_context_s {
typedef
struct
{
uint8_t
*
MIB
;
uint8_t
sizeof_MIB
;
int
sizeof_MIB
;
uint8_t
*
SIB1
;
uint8_t
sizeof_SIB1
;
int
sizeof_SIB1
;
uint8_t
*
SIB23
;
uint8_t
sizeof_SIB23
;
int
sizeof_SIB23
;
uint8_t
*
SIB1_BR
;
uint8_t
sizeof_SIB1_BR
;
int
sizeof_SIB1_BR
;
uint8_t
*
SIB23_BR
;
uint8_t
sizeof_SIB23_BR
;
int
sizeof_SIB23_BR
;
uint8_t
*
MIB_FeMBMS
;
uint8_t
sizeof_MIB_FeMBMS
;
int
sizeof_MIB_FeMBMS
;
uint8_t
*
SIB1_MBMS
;
uint8_t
sizeof_SIB1_MBMS
;
int
sizeof_SIB1_MBMS
;
int
physCellId
;
int
Ncp
;
int
p_eNB
;
...
...
@@ -716,14 +716,14 @@ typedef struct {
uint8_t
FeMBMS_flag
;
LTE_SystemInformationBlockType13_r9_t
*
sib13
;
uint8_t
MBMS_flag
;
uint8_t
num_mbsfn_sync_area
;
int
num_mbsfn_sync_area
;
uint8_t
**
MCCH_MESSAGE
;
// MAX_MBSFN_AREA
uint8_t
sizeof_MCCH_MESSAGE
[
8
];
// MAX_MBSFN_AREA
int
sizeof_MCCH_MESSAGE
[
8
];
// MAX_MBSFN_AREA
LTE_MCCH_Message_t
mcch
;
LTE_MBSFNAreaConfiguration_r9_t
*
mcch_message
;
SRB_INFO
MCCH_MESS
[
8
];
// MAX_MBSFN_AREA
uint8_t
**
MCCH_MESSAGE_COUNTING
;
// MAX_MBSFN_AREA
uint8_t
sizeof_MCCH_MESSAGE_COUNTING
[
8
];
// MAX_MBSFN_AREA
int
sizeof_MCCH_MESSAGE_COUNTING
[
8
];
// MAX_MBSFN_AREA
LTE_MCCH_Message_t
mcch_counting
;
LTE_MBMSCountingRequest_r10_t
*
mcch_message_counting
;
SRB_INFO
MCCH_MESS_COUNTING
[
8
];
// MAX_MBSFN_AREA
...
...
@@ -735,7 +735,7 @@ typedef struct {
// End - TTN
SRB_INFO
SI
;
uint8_t
*
paging
[
MAX_MOBILES_PER_ENB
];
uint32_t
sizeof_paging
[
MAX_MOBILES_PER_ENB
];
int
sizeof_paging
[
MAX_MOBILES_PER_ENB
];
}
rrc_eNB_carrier_data_t
;
...
...
@@ -748,7 +748,7 @@ typedef struct eNB_RRC_INST_s {
uid_allocator_t
uid_allocator
;
RB_HEAD
(
rrc_ue_tree_s
,
rrc_eNB_ue_context_s
)
rrc_ue_head
;
// ue_context tree key search by rnti
uint8_t
HO_flag
;
uint8_t
Nb_ue
;
int
Nb_ue
;
hash_table_t
*
initial_id2_s1ap_ids
;
// key is content is rrc_ue_s1ap_ids_t
hash_table_t
*
s1ap_id2_s1ap_ids
;
// key is content is rrc_ue_s1ap_ids_t
...
...
@@ -801,10 +801,10 @@ typedef struct eNB_RRC_INST_s {
}
eNB_RRC_INST
;
#define MAX_UE_CAPABILITY_SIZE
255
#define MAX_UE_CAPABILITY_SIZE
8192
typedef
struct
OAI_UECapability_s
{
uint8_t
sdu
[
MAX_UE_CAPABILITY_SIZE
];
uint8_t
sdu_size
;
int
sdu_size
;
LTE_UE_EUTRA_Capability_t
*
UE_EUTRA_Capability
;
}
OAI_UECapability_t
;
...
...
@@ -817,22 +817,22 @@ typedef struct UE_RRC_INST_s {
as_nas_info_t
initialNasMsg
;
OAI_UECapability_t
*
UECap
;
uint8_t
*
UECapability
;
uint8_t
UECapability_size
;
int
UECapability_size
;
UE_RRC_INFO
Info
[
NB_SIG_CNX_UE
];
SRB_INFO
Srb0
[
NB_SIG_CNX_UE
];
SRB_INFO_TABLE_ENTRY
Srb1
[
NB_CNX_UE
];
SRB_INFO_TABLE_ENTRY
Srb2
[
NB_CNX_UE
];
HANDOVER_INFO_UE
HandoverInfoUe
;
uint8_t
*
SIB1
[
NB_CNX_UE
];
uint8_t
sizeof_SIB1
[
NB_CNX_UE
];
int
sizeof_SIB1
[
NB_CNX_UE
];
uint8_t
*
SI
[
NB_CNX_UE
];
uint8_t
sizeof_SI
[
NB_CNX_UE
];
int
sizeof_SI
[
NB_CNX_UE
];
uint8_t
SIB1Status
[
NB_CNX_UE
];
uint8_t
SIStatus
[
NB_CNX_UE
];
uint8_t
*
SIB1_MBMS
[
NB_CNX_UE
];
uint8_t
sizeof_SIB1_MBMS
[
NB_CNX_UE
];
int
sizeof_SIB1_MBMS
[
NB_CNX_UE
];
uint8_t
*
SI_MBMS
[
NB_CNX_UE
];
uint8_t
sizeof_SI_MBMS
[
NB_CNX_UE
];
int
sizeof_SI_MBMS
[
NB_CNX_UE
];
uint8_t
SIB1Status_MBMS
[
NB_CNX_UE
];
uint8_t
SIStatus_MBMS
[
NB_CNX_UE
];
LTE_SystemInformationBlockType1_t
*
sib1
[
NB_CNX_UE
];
...
...
@@ -870,14 +870,14 @@ typedef struct UE_RRC_INST_s {
SRB_INFO
SL_Discovery
[
NB_CNX_UE
];
uint8_t
MBMS_flag
;
uint8_t
*
MCCH_MESSAGE
[
NB_CNX_UE
];
uint8_t
sizeof_MCCH_MESSAGE
[
NB_CNX_UE
];
int
sizeof_MCCH_MESSAGE
[
NB_CNX_UE
];
uint8_t
MCCH_MESSAGEStatus
[
NB_CNX_UE
];
LTE_MBSFNAreaConfiguration_r9_t
*
mcch_message
[
NB_CNX_UE
];
LTE_SystemInformationBlockType12_r9_t
*
sib12
[
NB_CNX_UE
];
LTE_SystemInformationBlockType13_r9_t
*
sib13
[
NB_CNX_UE
];
LTE_SystemInformationBlockType13_r9_t
*
sib13_MBMS
[
NB_CNX_UE
];
uint8_t
FeMBMS_flag
;
uint8_t
num_srb
;
int
num_srb
;
struct
LTE_SRB_ToAddMod
*
SRB1_config
[
NB_CNX_UE
];
struct
LTE_SRB_ToAddMod
*
SRB2_config
[
NB_CNX_UE
];
struct
LTE_DRB_ToAddMod
*
DRB_config
[
NB_CNX_UE
][
8
];
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
1f6d4a6c
...
...
@@ -157,7 +157,8 @@ extern RAN_CONTEXT_t RC;
* This is a helper function for xer_sprint, which directs all incoming data
* into the provided string.
*/
static
int
xer__nr_print2s
(
const
void
*
buffer
,
size_t
size
,
void
*
app_key
)
{
static
int
xer__nr_print2s
(
const
void
*
buffer
,
size_t
size
,
void
*
app_key
)
{
xer_sprint_string_t
*
string_buffer
=
(
xer_sprint_string_t
*
)
app_key
;
size_t
string_remaining
=
string_buffer
->
string_size
-
string_buffer
->
string_index
;
...
...
@@ -173,7 +174,8 @@ static int xer__nr_print2s (const void *buffer, size_t size, void *app_key) {
return
0
;
}
int
xer_nr_sprint
(
char
*
string
,
size_t
string_size
,
asn_TYPE_descriptor_t
*
td
,
void
*
sptr
)
{
int
xer_nr_sprint
(
char
*
string
,
size_t
string_size
,
asn_TYPE_descriptor_t
*
td
,
void
*
sptr
)
{
asn_enc_rval_t
er
;
xer_sprint_string_t
string_buffer
;
string_buffer
.
string
=
string
;
...
...
@@ -196,7 +198,7 @@ int xer_nr_sprint (char *string, size_t string_size, asn_TYPE_descriptor_t *td,
//------------------------------------------------------------------------------
uint8_
t
do_SIB23_NR
(
rrc_gNB_carrier_data_t
*
carrier
)
in
t
do_SIB23_NR
(
rrc_gNB_carrier_data_t
*
carrier
)
{
asn_enc_rval_t
enc_rval
;
SystemInformation_IEs__sib_TypeAndInfo__Member
*
sib2
=
NULL
;
...
...
@@ -516,13 +518,12 @@ int do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP,
return
((
enc_rval
.
encoded
+
7
)
/
8
);
}
uint8_
t
do_NR_SecurityModeCommand
(
in
t
do_NR_SecurityModeCommand
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
,
const
uint8_t
cipheringAlgorithm
,
NR_IntegrityProtAlgorithm_t
integrityProtAlgorithm
)
NR_IntegrityProtAlgorithm_t
integrityProtAlgorithm
)
//------------------------------------------------------------------------------
{
NR_DL_DCCH_Message_t
dl_dcch_msg
=
{
0
};
...
...
@@ -562,9 +563,9 @@ uint8_t do_NR_SecurityModeCommand(
/*TODO*/
//------------------------------------------------------------------------------
uint8_t
do_NR_SA_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
)
int
do_NR_SA_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
)
//------------------------------------------------------------------------------
{
NR_UE_CapabilityRequestFilterNR_t
*
sa_band_filter
;
...
...
@@ -663,17 +664,17 @@ int do_NR_RRCRelease(uint8_t *buffer, size_t buffer_size, uint8_t Transaction_id
}
//------------------------------------------------------------------------------
int
16_t
do_RRCReconfiguration
(
const
gNB_RRC_UE_t
*
UE
,
uint8_t
*
buffer
,
size_t
buffer_size
,
uint8_t
Transaction_id
,
NR_SRB_ToAddModList_t
*
SRB_configList
,
NR_DRB_ToAddModList_t
*
DRB_configList
,
NR_DRB_ToReleaseList_t
*
DRB_releaseList
,
NR_SecurityConfig_t
*
security_config
,
NR_MeasConfig_t
*
meas_config
,
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
*
dedicatedNAS_MessageList
,
NR_CellGroupConfig_t
*
cellGroupConfig
)
int
do_RRCReconfiguration
(
const
gNB_RRC_UE_t
*
UE
,
uint8_t
*
buffer
,
size_t
buffer_size
,
uint8_t
Transaction_id
,
NR_SRB_ToAddModList_t
*
SRB_configList
,
NR_DRB_ToAddModList_t
*
DRB_configList
,
NR_DRB_ToReleaseList_t
*
DRB_releaseList
,
NR_SecurityConfig_t
*
security_config
,
NR_MeasConfig_t
*
meas_config
,
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
*
dedicatedNAS_MessageList
,
NR_CellGroupConfig_t
*
cellGroupConfig
)
//------------------------------------------------------------------------------
{
NR_DL_DCCH_Message_t
dl_dcch_msg
=
{
0
};
...
...
@@ -816,12 +817,10 @@ int do_RRCSetupRequest(uint8_t *buffer, size_t buffer_size, uint8_t *rv)
}
//------------------------------------------------------------------------------
uint8_t
do_NR_RRCReconfigurationComplete_for_nsa
(
int
do_NR_RRCReconfigurationComplete_for_nsa
(
uint8_t
*
buffer
,
size_t
buffer_size
,
NR_RRC_TransactionIdentifier_t
Transaction_id
)
NR_RRC_TransactionIdentifier_t
Transaction_id
)
//------------------------------------------------------------------------------
{
NR_RRCReconfigurationComplete_t
rrc_complete_msg
;
...
...
@@ -849,7 +848,7 @@ do_NR_RRCReconfigurationComplete_for_nsa(
}
//------------------------------------------------------------------------------
uint8_
t
do_NR_RRCReconfigurationComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
const
uint8_t
Transaction_id
)
in
t
do_NR_RRCReconfigurationComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
const
uint8_t
Transaction_id
)
//------------------------------------------------------------------------------
{
NR_UL_DCCH_Message_t
ul_dcch_msg
=
{
0
};
...
...
@@ -874,12 +873,12 @@ uint8_t do_NR_RRCReconfigurationComplete(uint8_t *buffer, size_t buffer_size, co
return
((
enc_rval
.
encoded
+
7
)
/
8
);
}
uint8_
t
do_RRCSetupComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
const
uint8_t
Transaction_id
,
uint8_t
sel_plmn_id
,
const
int
dedicatedInfoNASLength
,
const
char
*
dedicatedInfoNAS
)
in
t
do_RRCSetupComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
const
uint8_t
Transaction_id
,
uint8_t
sel_plmn_id
,
const
int
dedicatedInfoNASLength
,
const
char
*
dedicatedInfoNAS
)
{
NR_UL_DCCH_Message_t
ul_dcch_msg
=
{
0
};
ul_dcch_msg
.
message
.
present
=
NR_UL_DCCH_MessageType_PR_c1
;
...
...
@@ -914,11 +913,11 @@ uint8_t do_RRCSetupComplete(uint8_t *buffer,
return
((
enc_rval
.
encoded
+
7
)
/
8
);
}
uint8_
t
do_NR_DLInformationTransfer
(
uint8_t
*
buffer
,
size_t
buffer_len
,
uint8_t
transaction_id
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
)
in
t
do_NR_DLInformationTransfer
(
uint8_t
*
buffer
,
size_t
buffer_len
,
uint8_t
transaction_id
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
)
{
NR_DL_DCCH_Message_t
dl_dcch_msg
=
{
0
};
dl_dcch_msg
.
message
.
present
=
NR_DL_DCCH_MessageType_PR_c1
;
...
...
@@ -944,7 +943,8 @@ uint8_t do_NR_DLInformationTransfer(uint8_t *buffer,
return
(
r
.
encoded
+
7
)
/
8
;
}
uint8_t
do_NR_ULInformationTransfer
(
uint8_t
**
buffer
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
)
{
int
do_NR_ULInformationTransfer
(
uint8_t
**
buffer
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
)
{
ssize_t
encoded
;
NR_UL_DCCH_Message_t
ul_dcch_msg
;
memset
(
&
ul_dcch_msg
,
0
,
sizeof
(
NR_UL_DCCH_Message_t
));
...
...
@@ -967,10 +967,10 @@ uint8_t do_NR_ULInformationTransfer(uint8_t **buffer, uint32_t pdu_length, uint8
return
encoded
;
}
uint8_
t
do_RRCReestablishmentRequest
(
uint8_t
*
buffer
,
NR_ReestablishmentCause_t
cause
,
uint32_t
cell_id
,
uint16_t
c_rnti
)
in
t
do_RRCReestablishmentRequest
(
uint8_t
*
buffer
,
NR_ReestablishmentCause_t
cause
,
uint32_t
cell_id
,
uint16_t
c_rnti
)
{
asn_enc_rval_t
enc_rval
;
NR_UL_CCCH_Message_t
ul_ccch_msg
;
...
...
@@ -1182,7 +1182,7 @@ void free_defaultMeasConfig(NR_MeasConfig_t *mc)
ASN_STRUCT_FREE
(
asn_DEF_NR_MeasConfig
,
mc
);
}
uint8_
t
do_NR_Paging
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
uint32_t
tmsi
)
in
t
do_NR_Paging
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
uint32_t
tmsi
)
{
LOG_D
(
NR_RRC
,
"[gNB %d] do_NR_Paging start
\n
"
,
Mod_id
);
NR_PCCH_Message_t
pcch_msg
;
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/MESSAGES/asn1_msg.h
View file @
1f6d4a6c
...
...
@@ -53,7 +53,7 @@
*/
int
xer_sprint_NR
(
char
*
string
,
size_t
string_size
,
struct
asn_TYPE_descriptor_s
*
td
,
void
*
sptr
);
uint8_
t
do_SIB23_NR
(
rrc_gNB_carrier_data_t
*
carrier
);
in
t
do_SIB23_NR
(
rrc_gNB_carrier_data_t
*
carrier
);
int
do_RRCReject
(
uint8_t
*
const
buffer
);
...
...
@@ -81,58 +81,58 @@ int do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP,
const
gNB_RrcConfigurationReq
*
configuration
,
NR_SRB_ToAddModList_t
*
SRBs
);
uint8_
t
do_NR_SecurityModeCommand
(
in
t
do_NR_SecurityModeCommand
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
,
const
uint8_t
cipheringAlgorithm
,
NR_IntegrityProtAlgorithm_t
integrityProtAlgorithm
);
uint8_t
do_NR_SA_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
);
int
do_NR_SA_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
);
int
do_NR_RRCRelease
(
uint8_t
*
buffer
,
size_t
buffer_size
,
uint8_t
Transaction_id
);
int
16_t
do_RRCReconfiguration
(
const
gNB_RRC_UE_t
*
UE
,
uint8_t
*
buffer
,
size_t
buffer_size
,
uint8_t
Transaction_id
,
NR_SRB_ToAddModList_t
*
SRB_configList
,
NR_DRB_ToAddModList_t
*
DRB_configList
,
NR_DRB_ToReleaseList_t
*
DRB_releaseList
,
NR_SecurityConfig_t
*
security_config
,
NR_MeasConfig_t
*
meas_config
,
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
*
dedicatedNAS_MessageList
,
NR_CellGroupConfig_t
*
cellGroupConfig
);
uint8_
t
do_RRCSetupComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
const
uint8_t
Transaction_id
,
uint8_t
sel_plmn_id
,
const
int
dedicatedInfoNASLength
,
const
char
*
dedicatedInfoNAS
);
int
do_RRCReconfiguration
(
const
gNB_RRC_UE_t
*
UE
,
uint8_t
*
buffer
,
size_t
buffer_size
,
uint8_t
Transaction_id
,
NR_SRB_ToAddModList_t
*
SRB_configList
,
NR_DRB_ToAddModList_t
*
DRB_configList
,
NR_DRB_ToReleaseList_t
*
DRB_releaseList
,
NR_SecurityConfig_t
*
security_config
,
NR_MeasConfig_t
*
meas_config
,
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
*
dedicatedNAS_MessageList
,
NR_CellGroupConfig_t
*
cellGroupConfig
);
in
t
do_RRCSetupComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
const
uint8_t
Transaction_id
,
uint8_t
sel_plmn_id
,
const
int
dedicatedInfoNASLength
,
const
char
*
dedicatedInfoNAS
);
int
do_RRCSetupRequest
(
uint8_t
*
buffer
,
size_t
buffer_size
,
uint8_t
*
rv
);
uint8_
t
do_NR_RRCReconfigurationComplete_for_nsa
(
uint8_t
*
buffer
,
size_t
buffer_size
,
NR_RRC_TransactionIdentifier_t
Transaction_id
);
in
t
do_NR_RRCReconfigurationComplete_for_nsa
(
uint8_t
*
buffer
,
size_t
buffer_size
,
NR_RRC_TransactionIdentifier_t
Transaction_id
);
uint8_
t
do_NR_RRCReconfigurationComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
const
uint8_t
Transaction_id
);
in
t
do_NR_RRCReconfigurationComplete
(
uint8_t
*
buffer
,
size_t
buffer_size
,
const
uint8_t
Transaction_id
);
uint8_
t
do_NR_DLInformationTransfer
(
uint8_t
*
buffer
,
size_t
buffer_len
,
uint8_t
transaction_id
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
);
in
t
do_NR_DLInformationTransfer
(
uint8_t
*
buffer
,
size_t
buffer_len
,
uint8_t
transaction_id
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
);
uint8_t
do_NR_ULInformationTransfer
(
uint8_t
**
buffer
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
);
int
do_NR_ULInformationTransfer
(
uint8_t
**
buffer
,
uint32_t
pdu_length
,
uint8_t
*
pdu_buffer
);
uint8_
t
do_RRCReestablishmentRequest
(
uint8_t
*
buffer
,
NR_ReestablishmentCause_t
cause
,
uint32_t
cell_id
,
uint16_t
c_rnti
);
in
t
do_RRCReestablishmentRequest
(
uint8_t
*
buffer
,
NR_ReestablishmentCause_t
cause
,
uint32_t
cell_id
,
uint16_t
c_rnti
);
int
do_RRCReestablishment
(
rrc_gNB_ue_context_t
*
const
ue_context_pP
,
uint8_t
*
const
buffer
,
...
...
@@ -145,6 +145,6 @@ int do_RRCReestablishmentComplete(uint8_t *buffer, size_t buffer_size, int64_t r
NR_MeasConfig_t
*
get_defaultMeasConfig
(
const
NR_MeasTiming_t
*
mt
,
int
band
,
int
scs
);
void
free_defaultMeasConfig
(
NR_MeasConfig_t
*
mc
);
uint8_
t
do_NR_Paging
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
uint32_t
tmsi
);
in
t
do_NR_Paging
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
uint32_t
tmsi
);
#endif
/* __RRC_NR_MESSAGES_ASN1_MSG__H__ */
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/nr_rrc_defs.h
View file @
1f6d4a6c
...
...
@@ -301,7 +301,7 @@ typedef struct gNB_RRC_UE_s {
ngap_security_capabilities_t
security_capabilities
;
//NSA block
/* Number of NSA e_rab */
uint8_t
nb_of_e_rabs
;
int
nb_of_e_rabs
;
/* list of pdu session to be setup by RRC layers */
nr_e_rab_param_t
e_rab
[
NB_RB_MAX
];
//[S1AP_MAX_E_RAB];
uint32_t
nsa_gtp_teid
[
S1AP_MAX_E_RAB
];
...
...
@@ -339,7 +339,7 @@ typedef struct rrc_gNB_ue_context_s {
typedef
struct
{
uint8_t
*
SIB23
;
uint8_t
sizeof_SIB23
;
int
sizeof_SIB23
;
}
rrc_gNB_carrier_data_t
;
//---------------------------------------------------
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR/rrc_gNB.c
View file @
1f6d4a6c
...
...
@@ -2366,7 +2366,6 @@ void rrc_gNB_generate_SecurityModeCommand(const protocol_ctxt_t *const ctxt_pP,
//-----------------------------------------------------------------------------
{
uint8_t
buffer
[
100
];
uint8_t
size
;
gNB_RRC_UE_t
*
ue_p
=
&
ue_context_pP
->
ue_context
;
AssertFatal
(
!
ue_p
->
as_security_active
,
"logic error: security already active
\n
"
);
...
...
@@ -2376,11 +2375,11 @@ void rrc_gNB_generate_SecurityModeCommand(const protocol_ctxt_t *const ctxt_pP,
T_INT
(
ctxt_pP
->
subframe
),
T_INT
(
ctxt_pP
->
rntiMaybeUEid
));
NR_IntegrityProtAlgorithm_t
integrity_algorithm
=
(
NR_IntegrityProtAlgorithm_t
)
ue_p
->
integrity_algorithm
;
size
=
do_NR_SecurityModeCommand
(
ctxt_pP
,
buffer
,
rrc_gNB_get_next_transaction_identifier
(
ctxt_pP
->
module_id
),
ue_p
->
ciphering_algorithm
,
integrity_algorithm
);
int
size
=
do_NR_SecurityModeCommand
(
ctxt_pP
,
buffer
,
rrc_gNB_get_next_transaction_identifier
(
ctxt_pP
->
module_id
),
ue_p
->
ciphering_algorithm
,
integrity_algorithm
);
LOG_DUMPMSG
(
NR_RRC
,
DEBUG_RRC
,
(
char
*
)
buffer
,
size
,
"[MSG] RRC Security Mode Command
\n
"
);
LOG_I
(
NR_RRC
,
"UE %u Logical Channel DL-DCCH, Generate SecurityModeCommand (bytes %d)
\n
"
,
ue_p
->
rrc_ue_id
,
size
);
...
...
@@ -2395,14 +2394,13 @@ rrc_gNB_generate_UECapabilityEnquiry(
)
//-----------------------------------------------------------------------------
{
uint8_t
buffer
[
100
];
uint8_t
size
;
uint8_t
buffer
[
100
];
T
(
T_ENB_RRC_UE_CAPABILITY_ENQUIRY
,
T_INT
(
ctxt_pP
->
module_id
),
T_INT
(
ctxt_pP
->
frame
),
T_INT
(
ctxt_pP
->
subframe
),
T_INT
(
ctxt_pP
->
rntiMaybeUEid
));
gNB_RRC_UE_t
*
ue
=
&
ue_context_pP
->
ue_context
;
uint8_t
xid
=
rrc_gNB_get_next_transaction_identifier
(
ctxt_pP
->
module_id
);
ue
->
xids
[
xid
]
=
RRC_UECAPABILITY_ENQUIRY
;
size
=
do_NR_SA_UECapabilityEnquiry
(
ctxt_pP
,
buffer
,
xid
);
int
size
=
do_NR_SA_UECapabilityEnquiry
(
ctxt_pP
,
buffer
,
xid
);
LOG_I
(
NR_RRC
,
"UE %d: Logical Channel DL-DCCH, Generate NR UECapabilityEnquiry (bytes %d, xid %d)
\n
"
,
ue
->
rrc_ue_id
,
size
,
xid
);
gNB_RRC_INST
*
rrc
=
RC
.
nrrrc
[
ctxt_pP
->
module_id
];
...
...
@@ -2470,7 +2468,6 @@ int rrc_gNB_generate_pcch_msg(sctp_assoc_t assoc_id, const NR_SIB1_t *sib1, uint
uint32_t
N
;
/* N: min(T,nB). total count of PF in one DRX cycle */
uint32_t
Ns
=
0
;
/* Ns: max(1,nB/T) */
uint32_t
T
;
/* DRX cycle */
uint32_t
length
;
uint8_t
buffer
[
RRC_BUF_SIZE
];
/* get default DRX cycle from configuration */
...
...
@@ -2535,9 +2532,7 @@ int rrc_gNB_generate_pcch_msg(sctp_assoc_t assoc_id, const NR_SIB1_t *sib1, uint
(
void
)
pfoffset
;
/* not used, suppress warning */
/* Create message for PDCP (DLInformationTransfer_t) */
length
=
do_NR_Paging
(
instance
,
buffer
,
tmsi
);
int
length
=
do_NR_Paging
(
instance
,
buffer
,
tmsi
);
if
(
length
==
-
1
)
{
LOG_I
(
NR_RRC
,
"do_Paging error
\n
"
);
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/NR_UE/rrc_UE.c
View file @
1f6d4a6c
...
...
@@ -891,7 +891,6 @@ static void nr_rrc_ue_process_masterCellGroup(NR_UE_RRC_INST_t *rrc,
static
void
rrc_ue_generate_RRCSetupComplete
(
const
NR_UE_RRC_INST_t
*
rrc
,
const
uint8_t
Transaction_id
)
{
uint8_t
buffer
[
100
];
uint8_t
size
;
const
char
*
nas_msg
;
int
nas_msg_length
;
...
...
@@ -906,7 +905,7 @@ static void rrc_ue_generate_RRCSetupComplete(const NR_UE_RRC_INST_t *rrc, const
nas_msg_length
=
sizeof
(
nr_nas_attach_req_imsi_dummy_NSA_case
);
}
size
=
do_RRCSetupComplete
(
buffer
,
sizeof
(
buffer
),
Transaction_id
,
rrc
->
selected_plmn_identity
,
nas_msg_length
,
nas_msg
);
int
size
=
do_RRCSetupComplete
(
buffer
,
sizeof
(
buffer
),
Transaction_id
,
rrc
->
selected_plmn_identity
,
nas_msg_length
,
nas_msg
);
LOG_I
(
NR_RRC
,
"[UE %ld][RAPROC] Logical Channel UL-DCCH (SRB1), Generating RRCSetupComplete (bytes%d)
\n
"
,
rrc
->
ue_id
,
size
);
int
srb_id
=
1
;
// RRC setup complete on SRB1
LOG_D
(
NR_RRC
,
"[RRC_UE %ld] PDCP_DATA_REQ/%d Bytes RRCSetupComplete ---> %d
\n
"
,
rrc
->
ue_id
,
size
,
srb_id
);
...
...
@@ -1522,8 +1521,8 @@ static void nr_rrc_ue_process_RadioBearerConfig(NR_UE_RRC_INST_t *ue_rrc,
static
void
nr_rrc_ue_generate_RRCReconfigurationComplete
(
NR_UE_RRC_INST_t
*
rrc
,
const
int
srb_id
,
const
uint8_t
Transaction_id
)
{
uint8_t
buffer
[
32
]
,
size
;
size
=
do_NR_RRCReconfigurationComplete
(
buffer
,
sizeof
(
buffer
),
Transaction_id
);
uint8_t
buffer
[
32
];
int
size
=
do_NR_RRCReconfigurationComplete
(
buffer
,
sizeof
(
buffer
),
Transaction_id
);
LOG_I
(
NR_RRC
,
" Logical Channel UL-DCCH (SRB1), Generating RRCReconfigurationComplete (bytes %d)
\n
"
,
size
);
AssertFatal
(
srb_id
==
1
||
srb_id
==
3
,
"Invalid SRB ID %d
\n
"
,
srb_id
);
LOG_D
(
RLC
,
...
...
This diff is collapsed.
Click to expand it.
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