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
promise
OpenXG-RAN
Commits
ce3a9708
Commit
ce3a9708
authored
Nov 26, 2020
by
Xue Song
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modify RRCReconfiguration message
parent
59c2b9eb
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
196 additions
and
155 deletions
+196
-155
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+15
-87
openair2/RRC/NR/MESSAGES/asn1_msg.h
openair2/RRC/NR/MESSAGES/asn1_msg.h
+12
-5
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+169
-63
No files found.
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
ce3a9708
...
...
@@ -960,26 +960,25 @@ uint8_t do_NR_RRCRelease(uint8_t *buffer,
return
((
enc_rval
.
encoded
+
7
)
/
8
);
}
//------------------------------------------------------------------------------
uint16_t
do_RRCReconfiguration
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_gNB_ue_context_t
*
const
ue_context_pP
,
uint8_t
*
buffer
,
uint8_t
Transaction_id
,
gNB_RRC_INST
*
gnb_rrc_inst
)
NR_SRB_ToAddModList_t
*
SRB_configList
,
NR_DRB_ToAddModList_t
*
DRB_configList
,
NR_DRB_ToReleaseList_t
*
DRB_releaseList
,
NR_SecurityConfig_t
*
security_config
,
NR_SDAP_Config_t
*
sdap_config
,
NR_MeasConfig_t
*
meas_config
,
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
*
dedicatedNAS_MessageList
,
NR_MAC_CellGroupConfig_t
*
mac_CellGroupConfig
)
//------------------------------------------------------------------------------
{
NR_DL_DCCH_Message_t
dl_dcch_msg
;
asn_enc_rval_t
enc_rval
;
NR_RRCReconfiguration_IEs_t
*
ie
;
NR_SRB_ToAddModList_t
*
SRB_configList
=
NULL
;
NR_SRB_ToAddModList_t
*
SRB_configList2
=
NULL
;
NR_SRB_ToAddMod_t
*
SRB2_config
=
NULL
;
NR_DRB_ToAddModList_t
*
DRB_configList
=
NULL
;
NR_DRB_ToAddModList_t
*
DRB_configList2
=
NULL
;
NR_DRB_ToAddMod_t
*
DRB_config
=
NULL
;
NR_SDAP_Config_t
*
sdap_config
=
NULL
;
NR_SecurityConfig_t
*
security_config
=
NULL
;
NR_DedicatedNAS_Message_t
*
dedicatedNAS_Message
=
NULL
;
memset
(
&
dl_dcch_msg
,
0
,
sizeof
(
NR_DL_DCCH_Message_t
));
dl_dcch_msg
.
message
.
present
=
NR_DL_DCCH_MessageType_PR_c1
;
...
...
@@ -991,73 +990,6 @@ uint16_t do_RRCReconfiguration(
dl_dcch_msg
.
message
.
choice
.
c1
->
choice
.
rrcReconfiguration
->
criticalExtensions
.
present
=
NR_RRCReconfiguration__criticalExtensions_PR_rrcReconfiguration
;
/******************** Radio Bearer Config ********************/
/* Configure SRB2 */
SRB_configList2
=
ue_context_pP
->
ue_context
.
SRB_configList2
[
Transaction_id
];
SRB_configList
=
ue_context_pP
->
ue_context
.
SRB_configList
;
SRB_configList
=
CALLOC
(
1
,
sizeof
(
*
SRB_configList
));
memset
(
SRB_configList
,
0
,
sizeof
(
*
SRB_configList
));
if
(
SRB_configList2
)
{
free
(
SRB_configList2
);
}
SRB_configList2
=
CALLOC
(
1
,
sizeof
(
*
SRB_configList2
));
memset
(
SRB_configList2
,
0
,
sizeof
(
*
SRB_configList2
));
SRB2_config
=
CALLOC
(
1
,
sizeof
(
*
SRB2_config
));
SRB2_config
->
srb_Identity
=
2
;
ASN_SEQUENCE_ADD
(
&
SRB_configList
->
list
,
SRB2_config
);
ASN_SEQUENCE_ADD
(
&
SRB_configList2
->
list
,
SRB2_config
);
/* Configure DRB */
DRB_configList
=
ue_context_pP
->
ue_context
.
DRB_configList
;
if
(
DRB_configList
)
{
free
(
DRB_configList
);
}
DRB_configList
=
CALLOC
(
1
,
sizeof
(
*
DRB_configList
));
memset
(
DRB_configList
,
0
,
sizeof
(
*
DRB_configList
));
DRB_configList2
=
ue_context_pP
->
ue_context
.
DRB_configList2
[
Transaction_id
];
if
(
DRB_configList2
)
{
free
(
DRB_configList2
);
}
DRB_configList2
=
CALLOC
(
1
,
sizeof
(
*
DRB_configList2
));
memset
(
DRB_configList2
,
0
,
sizeof
(
*
DRB_configList2
));
DRB_config
=
CALLOC
(
1
,
sizeof
(
*
DRB_config
));
DRB_config
->
drb_Identity
=
1
;
DRB_config
->
cnAssociation
=
CALLOC
(
1
,
sizeof
(
*
DRB_config
->
cnAssociation
));
DRB_config
->
cnAssociation
->
present
=
NR_DRB_ToAddMod__cnAssociation_PR_sdap_Config
;
// TODO sdap_Config
sdap_config
=
CALLOC
(
1
,
sizeof
(
NR_SDAP_Config_t
));
memset
(
sdap_config
,
0
,
sizeof
(
NR_SDAP_Config_t
));
DRB_config
->
cnAssociation
->
choice
.
sdap_Config
=
sdap_config
;
// TODO pdcp_Config
DRB_config
->
reestablishPDCP
=
NULL
;
DRB_config
->
recoverPDCP
=
NULL
;
DRB_config
->
pdcp_Config
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
));
DRB_config
->
pdcp_Config
->
drb
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
drb
));
DRB_config
->
pdcp_Config
->
drb
->
discardTimer
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
drb
->
discardTimer
));
*
DRB_config
->
pdcp_Config
->
drb
->
discardTimer
=
NR_PDCP_Config__drb__discardTimer_ms30
;
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeUL
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeUL
));
*
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeUL
=
NR_PDCP_Config__drb__pdcp_SN_SizeUL_len18bits
;
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeDL
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeDL
));
*
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeDL
=
NR_PDCP_Config__drb__pdcp_SN_SizeDL_len18bits
;
DRB_config
->
pdcp_Config
->
drb
->
headerCompression
.
present
=
NR_PDCP_Config__drb__headerCompression_PR_notUsed
;
DRB_config
->
pdcp_Config
->
drb
->
headerCompression
.
choice
.
notUsed
=
0
;
DRB_config
->
pdcp_Config
->
drb
->
integrityProtection
=
NULL
;
DRB_config
->
pdcp_Config
->
drb
->
statusReportRequired
=
NULL
;
DRB_config
->
pdcp_Config
->
drb
->
outOfOrderDelivery
=
NULL
;
DRB_config
->
pdcp_Config
->
moreThanOneRLC
=
NULL
;
DRB_config
->
pdcp_Config
->
t_Reordering
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
t_Reordering
));
*
DRB_config
->
pdcp_Config
->
t_Reordering
=
NR_PDCP_Config__t_Reordering_ms0
;
DRB_config
->
pdcp_Config
->
ext1
=
NULL
;
ASN_SEQUENCE_ADD
(
&
DRB_configList
->
list
,
DRB_config
);
ASN_SEQUENCE_ADD
(
&
DRB_configList2
->
list
,
DRB_config
);
/* Configure Security */
// security_config = CALLOC(1, sizeof(NR_SecurityConfig_t));
// security_config->securityAlgorithmConfig = CALLOC(1, sizeof(*ie->radioBearerConfig->securityConfig->securityAlgorithmConfig));
...
...
@@ -1072,7 +1004,7 @@ uint16_t do_RRCReconfiguration(
ie
->
radioBearerConfig
->
drb_ToAddModList
=
DRB_configList
;
ie
->
radioBearerConfig
->
securityConfig
=
security_config
;
ie
->
radioBearerConfig
->
srb3_ToRelease
=
NULL
;
ie
->
radioBearerConfig
->
drb_ToReleaseList
=
NULL
;
ie
->
radioBearerConfig
->
drb_ToReleaseList
=
DRB_releaseList
;
/******************** Secondary Cell Group ********************/
// rrc_gNB_carrier_data_t *carrier = &(gnb_rrc_inst->carrier);
...
...
@@ -1085,16 +1017,12 @@ uint16_t do_RRCReconfiguration(
/******************** Meas Config ********************/
// measConfig
ie
->
measConfig
=
NULL
;
ie
->
measConfig
=
meas_config
;
// lateNonCriticalExtension
ie
->
lateNonCriticalExtension
=
NULL
;
// nonCriticalExtension
ie
->
nonCriticalExtension
=
calloc
(
1
,
sizeof
(
NR_RRCReconfiguration_v1530_IEs_t
));
dedicatedNAS_Message
=
calloc
(
1
,
sizeof
(
NR_DedicatedNAS_Message_t
));
dedicatedNAS_Message
->
buf
=
ue_context_pP
->
ue_context
.
nas_pdu
.
buffer
;
dedicatedNAS_Message
->
size
=
ue_context_pP
->
ue_context
.
nas_pdu
.
length
;
ie
->
nonCriticalExtension
->
dedicatedNAS_MessageList
=
calloc
(
1
,
sizeof
(
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
));
ASN_SEQUENCE_ADD
(
&
ie
->
nonCriticalExtension
->
dedicatedNAS_MessageList
->
list
,
dedicatedNAS_Message
);
ie
->
nonCriticalExtension
->
dedicatedNAS_MessageList
=
dedicatedNAS_MessageList
;
dl_dcch_msg
.
message
.
choice
.
c1
->
choice
.
rrcReconfiguration
->
criticalExtensions
.
choice
.
rrcReconfiguration
=
ie
;
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.h
View file @
ce3a9708
...
...
@@ -107,10 +107,17 @@ uint8_t do_NR_RRCRelease(uint8_t *buffer,
uint8_t
Transaction_id
);
uint16_t
do_RRCReconfiguration
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_gNB_ue_context_t
*
const
ue_context_pP
,
uint8_t
*
buffer
,
uint8_t
Transaction_id
,
gNB_RRC_INST
*
gnb_rrc_inst
);
NR_SRB_ToAddModList_t
*
SRB_configList
,
NR_DRB_ToAddModList_t
*
DRB_configList
,
NR_DRB_ToReleaseList_t
*
DRB_releaseList
,
NR_SecurityConfig_t
*
security_config
,
NR_SDAP_Config_t
*
sdap_config
,
NR_MeasConfig_t
*
meas_config
,
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
*
dedicatedNAS_MessageList
,
NR_MAC_CellGroupConfig_t
*
mac_CellGroupConfig
);
uint8_t
do_RRCSetupComplete
(
uint8_t
Mod_id
,
uint8_t
*
buffer
,
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
ce3a9708
...
...
@@ -489,18 +489,113 @@ rrc_gNB_generate_defaultRRCReconfiguration(
)
//-----------------------------------------------------------------------------
{
// gNB_RRC_UE_t *ue_p = &ue_context_pP->ue_context;
uint8_t
buffer
[
RRC_BUF_SIZE
];
uint16_t
size
;
gNB_RRC_INST
*
gnb_rrc_inst
=
RC
.
nrrrc
[
ctxt_pP
->
module_id
];
NR_SRB_ToAddModList_t
*
SRB_configList2
=
NULL
;
NR_SRB_ToAddModList_t
*
SRB_configList
=
ue_context_pP
->
ue_context
.
SRB_configList
;
NR_DRB_ToAddModList_t
*
DRB_configList
=
NULL
;
NR_DRB_ToAddModList_t
*
DRB_configList2
=
NULL
;
NR_SRB_ToAddMod_t
*
SRB2_config
=
NULL
;
NR_DRB_ToAddMod_t
*
DRB_config
=
NULL
;
NR_SDAP_Config_t
*
sdap_config
=
NULL
;
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
*
dedicatedNAS_MessageList
=
NULL
;
NR_DedicatedNAS_Message_t
*
dedicatedNAS_Message
=
NULL
;
uint8_t
xid
=
rrc_gNB_get_next_transaction_identifier
(
ctxt_pP
->
module_id
);
/******************** Radio Bearer Config ********************/
/* Configure SRB2 */
SRB_configList2
=
ue_context_pP
->
ue_context
.
SRB_configList2
[
xid
];
if
(
SRB_configList2
)
{
free
(
SRB_configList2
);
}
SRB_configList2
=
CALLOC
(
1
,
sizeof
(
*
SRB_configList2
));
memset
(
SRB_configList2
,
0
,
sizeof
(
*
SRB_configList2
));
SRB2_config
=
CALLOC
(
1
,
sizeof
(
*
SRB2_config
));
SRB2_config
->
srb_Identity
=
2
;
ASN_SEQUENCE_ADD
(
&
SRB_configList2
->
list
,
SRB2_config
);
ASN_SEQUENCE_ADD
(
&
SRB_configList
->
list
,
SRB2_config
);
/* Configure DRB */
DRB_configList
=
ue_context_pP
->
ue_context
.
DRB_configList
;
if
(
DRB_configList
)
{
free
(
DRB_configList
);
}
DRB_configList
=
CALLOC
(
1
,
sizeof
(
*
DRB_configList
));
memset
(
DRB_configList
,
0
,
sizeof
(
*
DRB_configList
));
DRB_configList2
=
ue_context_pP
->
ue_context
.
DRB_configList2
[
xid
];
if
(
DRB_configList2
)
{
free
(
DRB_configList2
);
}
DRB_configList2
=
CALLOC
(
1
,
sizeof
(
*
DRB_configList2
));
memset
(
DRB_configList2
,
0
,
sizeof
(
*
DRB_configList2
));
DRB_config
=
CALLOC
(
1
,
sizeof
(
*
DRB_config
));
DRB_config
->
drb_Identity
=
1
;
DRB_config
->
cnAssociation
=
CALLOC
(
1
,
sizeof
(
*
DRB_config
->
cnAssociation
));
DRB_config
->
cnAssociation
->
present
=
NR_DRB_ToAddMod__cnAssociation_PR_sdap_Config
;
// TODO sdap_Config
sdap_config
=
CALLOC
(
1
,
sizeof
(
NR_SDAP_Config_t
));
memset
(
sdap_config
,
0
,
sizeof
(
NR_SDAP_Config_t
));
DRB_config
->
cnAssociation
->
choice
.
sdap_Config
=
sdap_config
;
// TODO pdcp_Config
DRB_config
->
reestablishPDCP
=
NULL
;
DRB_config
->
recoverPDCP
=
NULL
;
DRB_config
->
pdcp_Config
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
));
DRB_config
->
pdcp_Config
->
drb
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
drb
));
DRB_config
->
pdcp_Config
->
drb
->
discardTimer
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
drb
->
discardTimer
));
*
DRB_config
->
pdcp_Config
->
drb
->
discardTimer
=
NR_PDCP_Config__drb__discardTimer_ms30
;
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeUL
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeUL
));
*
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeUL
=
NR_PDCP_Config__drb__pdcp_SN_SizeUL_len18bits
;
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeDL
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeDL
));
*
DRB_config
->
pdcp_Config
->
drb
->
pdcp_SN_SizeDL
=
NR_PDCP_Config__drb__pdcp_SN_SizeDL_len18bits
;
DRB_config
->
pdcp_Config
->
drb
->
headerCompression
.
present
=
NR_PDCP_Config__drb__headerCompression_PR_notUsed
;
DRB_config
->
pdcp_Config
->
drb
->
headerCompression
.
choice
.
notUsed
=
0
;
DRB_config
->
pdcp_Config
->
drb
->
integrityProtection
=
NULL
;
DRB_config
->
pdcp_Config
->
drb
->
statusReportRequired
=
NULL
;
DRB_config
->
pdcp_Config
->
drb
->
outOfOrderDelivery
=
NULL
;
DRB_config
->
pdcp_Config
->
moreThanOneRLC
=
NULL
;
DRB_config
->
pdcp_Config
->
t_Reordering
=
calloc
(
1
,
sizeof
(
*
DRB_config
->
pdcp_Config
->
t_Reordering
));
*
DRB_config
->
pdcp_Config
->
t_Reordering
=
NR_PDCP_Config__t_Reordering_ms0
;
DRB_config
->
pdcp_Config
->
ext1
=
NULL
;
ASN_SEQUENCE_ADD
(
&
DRB_configList
->
list
,
DRB_config
);
ASN_SEQUENCE_ADD
(
&
DRB_configList2
->
list
,
DRB_config
);
if
(
ue_context_pP
->
ue_context
.
nas_pdu_flag
==
1
)
{
dedicatedNAS_Message
=
CALLOC
(
1
,
sizeof
(
NR_DedicatedNAS_Message_t
));
memset
(
dedicatedNAS_Message
,
0
,
sizeof
(
OCTET_STRING_t
));
OCTET_STRING_fromBuf
(
dedicatedNAS_Message
,
(
char
*
)
ue_context_pP
->
ue_context
.
nas_pdu
.
buffer
,
ue_context_pP
->
ue_context
.
nas_pdu
.
length
);
ASN_SEQUENCE_ADD
(
&
dedicatedNAS_MessageList
->
list
,
dedicatedNAS_Message
);
}
size
=
do_RRCReconfiguration
(
ctxt_pP
,
ue_context_pP
,
buffer
,
rrc_gNB_get_next_transaction_identifier
(
ctxt_pP
->
module_id
),
gnb_rrc_inst
);
LOG_DUMPMSG
(
NR_RRC
,
DEBUG_RRC
,(
char
*
)
buffer
,
size
,
"[MSG] RRC Reconfiguration
\n
"
);
/* If list is empty free the list and reset the address */
if
(
dedicatedNAS_MessageList
->
list
.
count
==
0
)
{
free
(
dedicatedNAS_MessageList
);
dedicatedNAS_MessageList
=
NULL
;
}
memset
(
buffer
,
0
,
RRC_BUF_SIZE
);
size
=
do_RRCReconfiguration
(
ctxt_pP
,
buffer
,
xid
,
SRB_configList
,
DRB_configList
,
NULL
,
NULL
,
NULL
,
NULL
,
dedicatedNAS_MessageList
,
NULL
);
free
(
ue_context_pP
->
ue_context
.
nas_pdu
.
buffer
);
LOG_DUMPMSG
(
NR_RRC
,
DEBUG_RRC
,(
char
*
)
buffer
,
size
,
"[MSG] RRC Reconfiguration
\n
"
);
LOG_I
(
NR_RRC
,
"[gNB %d] Frame %d, Logical Channel DL-DCCH, Generate NR_RRCReconfiguration (bytes %d, UE id %x)
\n
"
,
ctxt_pP
->
module_id
,
ctxt_pP
->
frame
,
...
...
@@ -561,14 +656,16 @@ rrc_gNB_generate_dedicatedRRCReconfiguration_release(
uint16_t
size
=
0
;
NR_DRB_ToReleaseList_t
*
DRB_Release_configList2
=
NULL
;
NR_DRB_Identity_t
*
DRB_release
;
DRB_Release_configList2
=
ue_context_pP
->
ue_context
.
DRB_Release_configList2
[
xid
];
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
*
dedicatedNAS_MessageList
=
NULL
;
NR_DedicatedNAS_Message_t
*
dedicatedNAS_Message
=
NULL
;
DRB_Release_configList2
=
ue_context_pP
->
ue_context
.
DRB_Release_configList2
[
xid
];
if
(
DRB_Release_configList2
)
{
free
(
DRB_Release_configList2
);
}
DRB_Release_configList2
=
CALLOC
(
1
,
sizeof
(
*
DRB_Release_configList2
));
for
(
i
=
0
;
i
<
NB_RB_MAX
;
i
++
)
{
if
((
ue_context_pP
->
ue_context
.
pdusession
[
i
].
status
==
PDU_SESSION_STATUS_TORELEASE
)
&&
ue_context_pP
->
ue_context
.
pdusession
[
i
].
xid
==
xid
)
{
DRB_release
=
CALLOC
(
1
,
sizeof
(
NR_DRB_Identity_t
));
...
...
@@ -579,19 +676,29 @@ rrc_gNB_generate_dedicatedRRCReconfiguration_release(
/* If list is empty free the list and reset the address */
if
(
nas_length
>
0
)
{
memcpy
(
ue_context_pP
->
ue_context
.
nas_pdu
.
buffer
,
nas_buffer
,
nas_length
);
ue_context_pP
->
ue_context
.
nas_pdu
.
length
=
nas_length
;
dedicatedNAS_MessageList
=
CALLOC
(
1
,
sizeof
(
struct
NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList
));
dedicatedNAS_Message
=
CALLOC
(
1
,
sizeof
(
NR_DedicatedNAS_Message_t
));
memset
(
dedicatedNAS_Message
,
0
,
sizeof
(
OCTET_STRING_t
));
OCTET_STRING_fromBuf
(
dedicatedNAS_Message
,
(
char
*
)
nas_buffer
,
nas_length
);
ASN_SEQUENCE_ADD
(
&
dedicatedNAS_MessageList
->
list
,
dedicatedNAS_Message
);
LOG_I
(
NR_RRC
,
"add NAS info with size %d
\n
"
,
nas_length
);
}
else
{
LOG_W
(
NR_RRC
,
"dedlicated NAS list is empty
\n
"
);
}
memset
(
buffer
,
0
,
RRC_BUF_SIZE
);
size
=
do_RRCReconfiguration
(
ctxt_pP
,
ue_context_pP
,
buffer
,
xid
,
size
=
do_RRCReconfiguration
(
ctxt_pP
,
buffer
,
xid
,
NULL
,
NULL
,
DRB_Release_configList2
,
NULL
,
NULL
,
NULL
,
dedicatedNAS_MessageList
,
NULL
);
ue_context_pP
->
ue_context
.
pdu_session_release_command_flag
=
1
;
LOG_DUMPMSG
(
NR_RRC
,
DEBUG_RRC
,(
char
*
)
buffer
,
size
,
"[MSG] RRC Reconfiguration
\n
"
);
...
...
@@ -1412,7 +1519,6 @@ rrc_gNB_decode_dcch(
ue_context_p
,
ul_dcch_msg
);
}
sleep
(
1
);
rrc_gNB_generate_defaultRRCReconfiguration
(
ctxt_pP
,
ue_context_p
);
break
;
...
...
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