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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG-RAN
Commits
40b131be
Commit
40b131be
authored
Oct 13, 2021
by
matzakos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Small corrections in F1AP UE context management messages and indentation fixes
parent
b37195ad
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
198 additions
and
204 deletions
+198
-204
openair2/F1AP/f1ap_cu_ue_context_management.c
openair2/F1AP/f1ap_cu_ue_context_management.c
+30
-30
openair2/F1AP/f1ap_du_ue_context_management.c
openair2/F1AP/f1ap_du_ue_context_management.c
+167
-174
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+1
-0
No files found.
openair2/F1AP/f1ap_cu_ue_context_management.c
View file @
40b131be
...
@@ -1090,52 +1090,52 @@ int CU_send_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, f1ap_ue_context
...
@@ -1090,52 +1090,52 @@ int CU_send_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, f1ap_ue_context
}
}
/* optional */
/* optional */
/* c
5
. CUtoDURRCInformation */
/* c
6
. CUtoDURRCInformation */
if
(
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
!=
NULL
)
{
if
(
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
!=
NULL
)
{
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationRequestIEs_t
,
ie
5
);
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationRequestIEs_t
,
ie
6
);
ie
5
->
id
=
F1AP_ProtocolIE_ID_id_CUtoDURRCInformation
;
ie
6
->
id
=
F1AP_ProtocolIE_ID_id_CUtoDURRCInformation
;
ie
5
->
criticality
=
F1AP_Criticality_reject
;
ie
6
->
criticality
=
F1AP_Criticality_reject
;
ie
5
->
value
.
present
=
F1AP_UEContextModificationRequestIEs__value_PR_CUtoDURRCInformation
;
ie
6
->
value
.
present
=
F1AP_UEContextModificationRequestIEs__value_PR_CUtoDURRCInformation
;
/* 6.1 cG_ConfigInfo */
/* 6.1 cG_ConfigInfo */
if
(
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
cG_ConfigInfo
!=
NULL
){
if
(
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
cG_ConfigInfo
!=
NULL
){
const
char
cG_ConfigInfoStr
[]
=
"asdsa1d32sa1d31asd31as"
;
asn1cCalloc
(
ie6
->
value
.
choice
.
CUtoDURRCInformation
.
cG_ConfigInfo
,
cG_ConfigInfo
)
;
asn1cCalloc
(
ie5
->
value
.
choice
.
CUtoDURRCInformation
.
cG_ConfigInfo
,
cG_ConfigInfo
);
OCTET_STRING_fromBuf
(
cG_ConfigInfo
,
(
const
char
*
)
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
cG_ConfigInfo
,
OCTET_STRING_fromBuf
(
cG_ConfigInfo
,
cG_ConfigInfoStr
,
strlen
(
cG_ConfigInfoStr
))
;
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
cG_ConfigInfo_length
)
;
}
}
/* optional */
/* optional */
/* 6.2 uE_CapabilityRAT_ContainerList */
/* 6.2 uE_CapabilityRAT_ContainerList */
if
(
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
uE_CapabilityRAT_ContainerList
!=
NULL
){
if
(
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
uE_CapabilityRAT_ContainerList
!=
NULL
){
asn1cCalloc
(
ie
5
->
value
.
choice
.
CUtoDURRCInformation
.
uE_CapabilityRAT_ContainerList
,
uE_CapabilityRAT_ContainerList
);
asn1cCalloc
(
ie
6
->
value
.
choice
.
CUtoDURRCInformation
.
uE_CapabilityRAT_ContainerList
,
uE_CapabilityRAT_ContainerList
);
OCTET_STRING_fromBuf
(
uE_CapabilityRAT_ContainerList
,
(
const
char
*
)
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
uE_CapabilityRAT_ContainerList
,
OCTET_STRING_fromBuf
(
uE_CapabilityRAT_ContainerList
,
(
const
char
*
)
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
uE_CapabilityRAT_ContainerList
,
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
uE_CapabilityRAT_ContainerList_length
)
;
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
uE_CapabilityRAT_ContainerList_length
)
;
}
}
/* optional */
/* optional */
/* 6.3 measConfig */
/* 6.3 measConfig */
if
(
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
measConfig
!=
NULL
){
if
(
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
measConfig
!=
NULL
){
const
char
measConfigStr
[]
=
"asdsa1d32sa1d31asd31as"
;
asn1cCalloc
(
ie6
->
value
.
choice
.
CUtoDURRCInformation
.
measConfig
,
measConfig
)
;
asn1cCalloc
(
ie5
->
value
.
choice
.
CUtoDURRCInformation
.
measConfig
,
measConfig
);
OCTET_STRING_fromBuf
(
measConfig
,
(
const
char
*
)
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
measConfig
,
OCTET_STRING_fromBuf
(
measConfig
,
measConfigStr
,
strlen
(
measConfigStr
))
;
f1ap_ue_context_modification_req
->
cu_to_du_rrc_information
->
measConfig_length
)
;
}
}
}
}
/* optional */
/* optional */
/* c
6
. TransmissionActionIndicator */
/* c
7
. TransmissionActionIndicator */
if
(
0
)
{
if
(
0
)
{
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationRequestIEs_t
,
ie
6
);
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationRequestIEs_t
,
ie
7
);
ie
6
->
id
=
F1AP_ProtocolIE_ID_id_TransmissionActionIndicator
;
ie
7
->
id
=
F1AP_ProtocolIE_ID_id_TransmissionActionIndicator
;
ie
6
->
criticality
=
F1AP_Criticality_ignore
;
ie
7
->
criticality
=
F1AP_Criticality_ignore
;
ie
6
->
value
.
present
=
F1AP_UEContextModificationRequestIEs__value_PR_TransmissionActionIndicator
;
ie
7
->
value
.
present
=
F1AP_UEContextModificationRequestIEs__value_PR_TransmissionActionIndicator
;
ie
6
->
value
.
choice
.
TransmissionActionIndicator
=
F1AP_TransmissionActionIndicator_stop
;
ie
7
->
value
.
choice
.
TransmissionActionIndicator
=
F1AP_TransmissionActionIndicator_stop
;
}
}
/* optional */
/* optional */
/* c
7
. ResourceCoordinationTransferContainer */
/* c
8
. ResourceCoordinationTransferContainer */
if
(
0
)
{
if
(
0
)
{
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationRequestIEs_t
,
ie
7
);
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationRequestIEs_t
,
ie
8
);
ie
7
->
id
=
F1AP_ProtocolIE_ID_id_ResourceCoordinationTransferContainer
;
ie
8
->
id
=
F1AP_ProtocolIE_ID_id_ResourceCoordinationTransferContainer
;
ie
7
->
criticality
=
F1AP_Criticality_ignore
;
ie
8
->
criticality
=
F1AP_Criticality_ignore
;
ie
7
->
value
.
present
=
F1AP_UEContextModificationRequestIEs__value_PR_ResourceCoordinationTransferContainer
;
ie
8
->
value
.
present
=
F1AP_UEContextModificationRequestIEs__value_PR_ResourceCoordinationTransferContainer
;
OCTET_STRING_fromBuf
(
&
ie
7
->
value
.
choice
.
ResourceCoordinationTransferContainer
,
"asdsa1d32sa1d31asd31as"
,
OCTET_STRING_fromBuf
(
&
ie
8
->
value
.
choice
.
ResourceCoordinationTransferContainer
,
"asdsa1d32sa1d31asd31as"
,
strlen
(
"asdsa1d32sa1d31asd31as"
));
strlen
(
"asdsa1d32sa1d31asd31as"
));
}
}
...
@@ -1152,11 +1152,11 @@ int CU_send_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, f1ap_ue_context
...
@@ -1152,11 +1152,11 @@ int CU_send_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance, f1ap_ue_context
/* optional */
/* optional */
/* c8. RRCContainer */
/* c8. RRCContainer */
if
(
0
)
{
if
(
0
)
{
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationRequestIEs_t
,
ie8
);
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationRequestIEs_t
,
ie8
1
);
ie8
->
id
=
F1AP_ProtocolIE_ID_id_RRCContainer
;
ie8
1
->
id
=
F1AP_ProtocolIE_ID_id_RRCContainer
;
ie8
->
criticality
=
F1AP_Criticality_ignore
;
ie8
1
->
criticality
=
F1AP_Criticality_ignore
;
ie8
->
value
.
present
=
F1AP_UEContextModificationRequestIEs__value_PR_RRCContainer
;
ie8
1
->
value
.
present
=
F1AP_UEContextModificationRequestIEs__value_PR_RRCContainer
;
OCTET_STRING_fromBuf
(
&
ie8
->
value
.
choice
.
RRCContainer
,
"asdsa1d32sa1d31asd31as"
,
OCTET_STRING_fromBuf
(
&
ie8
1
->
value
.
choice
.
RRCContainer
,
"asdsa1d32sa1d31asd31as"
,
strlen
(
"asdsa1d32sa1d31asd31as"
));
strlen
(
"asdsa1d32sa1d31asd31as"
));
}
}
...
@@ -1661,7 +1661,7 @@ int CU_handle_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance,
...
@@ -1661,7 +1661,7 @@ int CU_handle_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance,
/* GNB_CU_UE_F1AP_ID */
/* GNB_CU_UE_F1AP_ID */
F1AP_FIND_PROTOCOLIE_BY_ID
(
F1AP_UEContextModificationResponseIEs_t
,
ie
,
container
,
F1AP_FIND_PROTOCOLIE_BY_ID
(
F1AP_UEContextModificationResponseIEs_t
,
ie
,
container
,
F1AP_ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID
,
fals
e
);
F1AP_ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID
,
tru
e
);
f1ap_ue_context_modification_resp
->
gNB_CU_ue_id
=
ie
->
value
.
choice
.
GNB_CU_UE_F1AP_ID
;
f1ap_ue_context_modification_resp
->
gNB_CU_ue_id
=
ie
->
value
.
choice
.
GNB_CU_UE_F1AP_ID
;
LOG_D
(
F1AP
,
"f1ap_ue_context_setup_resp->gNB_CU_ue_id is: %d
\n
"
,
f1ap_ue_context_modification_resp
->
gNB_CU_ue_id
);
LOG_D
(
F1AP
,
"f1ap_ue_context_setup_resp->gNB_CU_ue_id is: %d
\n
"
,
f1ap_ue_context_modification_resp
->
gNB_CU_ue_id
);
...
...
openair2/F1AP/f1ap_du_ue_context_management.c
View file @
40b131be
...
@@ -970,20 +970,20 @@ int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance,
...
@@ -970,20 +970,20 @@ int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance,
for
(
i
=
0
;
i
<
f1ap_ue_context_modification_req
->
drbs_to_be_setup_length
;
++
i
)
{
for
(
i
=
0
;
i
<
f1ap_ue_context_modification_req
->
drbs_to_be_setup_length
;
++
i
)
{
f1ap_drb_to_be_setup_t
*
drb_p
=
&
f1ap_ue_context_modification_req
->
drbs_to_be_setup
[
i
];
f1ap_drb_to_be_setup_t
*
drb_p
=
&
f1ap_ue_context_modification_req
->
drbs_to_be_setup
[
i
];
F1AP_DRBs_ToBeSetup
_Item_t
*
drbs_tobesetup
_item_p
=
F1AP_DRBs_ToBeSetup
Mod_Item_t
*
drbs_tobesetupmod
_item_p
=
&
((
F1AP_DRBs_ToBeSetup
_ItemIEs_t
*
)
ieDrb
->
value
.
choice
.
DRBs_ToBeSetupMod_List
.
list
.
array
[
i
])
->
value
.
choice
.
DRBs_ToBeSetup
_Item
;
&
((
F1AP_DRBs_ToBeSetup
Mod_ItemIEs_t
*
)
ieDrb
->
value
.
choice
.
DRBs_ToBeSetupMod_List
.
list
.
array
[
i
])
->
value
.
choice
.
DRBs_ToBeSetupMod
_Item
;
drb_p
->
drb_id
=
drbs_tobesetup_item_p
->
dRBID
;
drb_p
->
drb_id
=
drbs_tobesetup
mod
_item_p
->
dRBID
;
/* TODO in the following, assume only one UP UL TNL is present.
/* TODO in the following, assume only one UP UL TNL is present.
* this matches/assumes OAI CU implementation, can be up to 2! */
* this matches/assumes OAI CU implementation, can be up to 2! */
drb_p
->
up_ul_tnl_length
=
1
;
drb_p
->
up_ul_tnl_length
=
1
;
AssertFatal
(
drbs_tobesetup_item_p
->
uLUPTNLInformation_ToBeSetup_List
.
list
.
count
>
0
,
AssertFatal
(
drbs_tobesetup
mod
_item_p
->
uLUPTNLInformation_ToBeSetup_List
.
list
.
count
>
0
,
"no UL UP TNL Information in DRBs to be Setup list
\n
"
);
"no UL UP TNL Information in DRBs to be Setup list
\n
"
);
F1AP_ULUPTNLInformation_ToBeSetup_Item_t
*
ul_up_tnl_info_p
=
(
F1AP_ULUPTNLInformation_ToBeSetup_Item_t
*
)
drbs_tobesetup_item_p
->
uLUPTNLInformation_ToBeSetup_List
.
list
.
array
[
0
];
F1AP_ULUPTNLInformation_ToBeSetup_Item_t
*
ul_up_tnl_info_p
=
(
F1AP_ULUPTNLInformation_ToBeSetup_Item_t
*
)
drbs_tobesetup
mod
_item_p
->
uLUPTNLInformation_ToBeSetup_List
.
list
.
array
[
0
];
F1AP_GTPTunnel_t
*
ul_up_tnl0
=
ul_up_tnl_info_p
->
uLUPTNLInformation
.
choice
.
gTPTunnel
;
F1AP_GTPTunnel_t
*
ul_up_tnl0
=
ul_up_tnl_info_p
->
uLUPTNLInformation
.
choice
.
gTPTunnel
;
BIT_STRING_TO_TRANSPORT_LAYER_ADDRESS_IPv4
(
&
ul_up_tnl0
->
transportLayerAddress
,
drb_p
->
up_ul_tnl
[
0
].
tl_address
);
BIT_STRING_TO_TRANSPORT_LAYER_ADDRESS_IPv4
(
&
ul_up_tnl0
->
transportLayerAddress
,
drb_p
->
up_ul_tnl
[
0
].
tl_address
);
OCTET_STRING_TO_INT32
(
&
ul_up_tnl0
->
gTP_TEID
,
drb_p
->
up_ul_tnl
[
0
].
teid
);
OCTET_STRING_TO_INT32
(
&
ul_up_tnl0
->
gTP_TEID
,
drb_p
->
up_ul_tnl
[
0
].
teid
);
switch
(
drbs_tobesetup_item_p
->
rLCMode
)
{
switch
(
drbs_tobesetup
mod
_item_p
->
rLCMode
)
{
case
F1AP_RLCMode_rlc_am
:
case
F1AP_RLCMode_rlc_am
:
drb_p
->
rlc_mode
=
RLC_MODE_AM
;
drb_p
->
rlc_mode
=
RLC_MODE_AM
;
break
;
break
;
...
@@ -1042,8 +1042,9 @@ int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance,
...
@@ -1042,8 +1042,9 @@ int DU_handle_UE_CONTEXT_MODIFICATION_REQUEST(instance_t instance,
//FIXME
//FIXME
//rnti_t rnti = f1ap_get_rnti_by_du_id(DUtype, instance, du_ue_f1ap_id);
//rnti_t rnti = f1ap_get_rnti_by_du_id(DUtype, instance, du_ue_f1ap_id);
ctxt
.
instance
=
instance
;
ctxt
.
instance
=
instance
;
ctxt
.
instance
=
instance
;
ctxt
.
module_id
=
instance
;
ctxt
.
enb_flag
=
1
;
ctxt
.
enb_flag
=
1
;
ctxt
.
eNB_index
=
instance
;
mem_block_t
*
pdcp_pdu_p
=
get_free_mem_block
(
ieRRC
->
value
.
choice
.
RRCContainer
.
size
,
__func__
);
mem_block_t
*
pdcp_pdu_p
=
get_free_mem_block
(
ieRRC
->
value
.
choice
.
RRCContainer
.
size
,
__func__
);
memcpy
(
&
pdcp_pdu_p
->
data
[
0
],
ieRRC
->
value
.
choice
.
RRCContainer
.
buf
,
ieRRC
->
value
.
choice
.
RRCContainer
.
size
);
memcpy
(
&
pdcp_pdu_p
->
data
[
0
],
ieRRC
->
value
.
choice
.
RRCContainer
.
buf
,
ieRRC
->
value
.
choice
.
RRCContainer
.
size
);
du_rlc_data_req
(
&
ctxt
,
1
,
0x00
,
1
,
1
,
0
,
ieRRC
->
value
.
choice
.
RRCContainer
.
size
,
pdcp_pdu_p
);
du_rlc_data_req
(
&
ctxt
,
1
,
0x00
,
1
,
1
,
0
,
ieRRC
->
value
.
choice
.
RRCContainer
.
size
,
pdcp_pdu_p
);
...
@@ -1099,7 +1100,7 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
...
@@ -1099,7 +1100,7 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
}
}
/* mandatory */
/* mandatory */
/* c
3
. DUtoCURRCInformation */
/* c
4
. DUtoCURRCInformation */
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationResponseIEs_t
,
ie4
);
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationResponseIEs_t
,
ie4
);
ie4
->
id
=
F1AP_ProtocolIE_ID_id_DUtoCURRCInformation
;
ie4
->
id
=
F1AP_ProtocolIE_ID_id_DUtoCURRCInformation
;
ie4
->
criticality
=
F1AP_Criticality_reject
;
ie4
->
criticality
=
F1AP_Criticality_reject
;
...
@@ -1127,15 +1128,13 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
...
@@ -1127,15 +1128,13 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
/* optional */
/* optional */
/* c5. DRBs_Setup_List */
/* c5. DRBs_Setup_List */
if
(
resp
->
drbs_to_be_setup_length
>
0
){
if
(
resp
->
drbs_to_be_setup_length
>
0
)
{
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationResponseIEs_t
,
ie5
);
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextModificationResponseIEs_t
,
ie5
);
ie5
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_SetupMod_List
;
ie5
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_SetupMod_List
;
ie5
->
criticality
=
F1AP_Criticality_ignore
;
ie5
->
criticality
=
F1AP_Criticality_ignore
;
ie5
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_DRBs_SetupMod_List
;
ie5
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_DRBs_SetupMod_List
;
for
(
int
i
=
0
;
i
<
resp
->
drbs_to_be_setup_length
;
i
++
)
{
for
(
int
i
=
0
;
i
<
resp
->
drbs_to_be_setup_length
;
i
++
)
{
//
asn1cSequenceAdd
(
ie5
->
value
.
choice
.
DRBs_SetupMod_List
.
list
,
F1AP_DRBs_SetupMod_ItemIEs_t
,
drbs_setupmod_item_ies
);
asn1cSequenceAdd
(
ie5
->
value
.
choice
.
DRBs_SetupMod_List
.
list
,
F1AP_DRBs_SetupMod_ItemIEs_t
,
drbs_setupmod_item_ies
);
drbs_setupmod_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_SetupMod_Item
;
drbs_setupmod_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_SetupMod_Item
;
drbs_setupmod_item_ies
->
criticality
=
F1AP_Criticality_ignore
;
drbs_setupmod_item_ies
->
criticality
=
F1AP_Criticality_ignore
;
drbs_setupmod_item_ies
->
value
.
present
=
F1AP_DRBs_SetupMod_ItemIEs__value_PR_DRBs_SetupMod_Item
;
drbs_setupmod_item_ies
->
value
.
present
=
F1AP_DRBs_SetupMod_ItemIEs__value_PR_DRBs_SetupMod_Item
;
...
@@ -1178,15 +1177,13 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
...
@@ -1178,15 +1177,13 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
ie6
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_DRBs_Modified_List
;
ie6
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_DRBs_Modified_List
;
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
//
asn1cSequenceAdd
(
ie6
->
value
.
choice
.
DRBs_Modified_List
.
list
,
asn1cSequenceAdd
(
ie6
->
value
.
choice
.
DRBs_Modified_List
.
list
,
F1AP_DRBs_Modified_ItemIEs_t
,
drbs_modified_item_ies
);
F1AP_DRBs_Modified_ItemIEs_t
,
drbs_modified_item_ies
);
drbs_modified_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_Modified_Item
;
drbs_modified_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_Modified_Item
;
drbs_modified_item_ies
->
criticality
=
F1AP_Criticality_reject
;
drbs_modified_item_ies
->
criticality
=
F1AP_Criticality_reject
;
drbs_modified_item_ies
->
value
.
present
=
F1AP_DRBs_Modified_ItemIEs__value_PR_DRBs_Modified_Item
;
drbs_modified_item_ies
->
value
.
present
=
F1AP_DRBs_Modified_ItemIEs__value_PR_DRBs_Modified_Item
;
/* 13.1 SRBs_modified_Item */
/* DRBs_modified_Item */
F1AP_DRBs_Modified_Item_t
*
drbs_modified_item
=
F1AP_DRBs_Modified_Item_t
*
drbs_modified_item
=
&
drbs_modified_item_ies
->
value
.
choice
.
DRBs_Modified_Item
;
&
drbs_modified_item_ies
->
value
.
choice
.
DRBs_Modified_Item
;
/* dRBID */
/* dRBID */
drbs_modified_item
->
dRBID
=
25L
;
drbs_modified_item
->
dRBID
=
25L
;
/* ULTunnels_Modified_List */
/* ULTunnels_Modified_List */
...
@@ -1214,7 +1211,6 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
...
@@ -1214,7 +1211,6 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
ie7
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_SRBs_FailedToBeSetupMod_List
;
ie7
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_SRBs_FailedToBeSetupMod_List
;
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
//
asn1cSequenceAdd
(
ie7
->
value
.
choice
.
SRBs_FailedToBeSetupMod_List
.
list
,
asn1cSequenceAdd
(
ie7
->
value
.
choice
.
SRBs_FailedToBeSetupMod_List
.
list
,
F1AP_SRBs_FailedToBeSetupMod_ItemIEs_t
,
srbs_failedToBeSetupMod_item_ies
);
F1AP_SRBs_FailedToBeSetupMod_ItemIEs_t
,
srbs_failedToBeSetupMod_item_ies
);
srbs_failedToBeSetupMod_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_SRBs_FailedToBeSetupMod_Item
;
srbs_failedToBeSetupMod_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_SRBs_FailedToBeSetupMod_Item
;
...
@@ -1240,13 +1236,12 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
...
@@ -1240,13 +1236,12 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
ie8
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_DRBs_FailedToBeSetupMod_List
;
ie8
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_DRBs_FailedToBeSetupMod_List
;
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
//
asn1cSequenceAdd
(
ie8
->
value
.
choice
.
DRBs_FailedToBeSetupMod_List
.
list
,
asn1cSequenceAdd
(
ie8
->
value
.
choice
.
DRBs_FailedToBeSetupMod_List
.
list
,
F1AP_DRBs_FailedToBeSetupMod_ItemIEs_t
,
drbs_failedToBeSetupMod_item_ies
);
F1AP_DRBs_FailedToBeSetupMod_ItemIEs_t
,
drbs_failedToBeSetupMod_item_ies
);
drbs_failedToBeSetupMod_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_FailedToBeSetupMod_Item
;
drbs_failedToBeSetupMod_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_FailedToBeSetupMod_Item
;
drbs_failedToBeSetupMod_item_ies
->
criticality
=
F1AP_Criticality_reject
;
drbs_failedToBeSetupMod_item_ies
->
criticality
=
F1AP_Criticality_reject
;
drbs_failedToBeSetupMod_item_ies
->
value
.
present
=
F1AP_DRBs_FailedToBeSetupMod_ItemIEs__value_PR_DRBs_FailedToBeSetupMod_Item
;
drbs_failedToBeSetupMod_item_ies
->
value
.
present
=
F1AP_DRBs_FailedToBeSetupMod_ItemIEs__value_PR_DRBs_FailedToBeSetupMod_Item
;
/* 10.1 DRBs_
ToBeSetupMod_Item */
/* DRBs_Failed
ToBeSetupMod_Item */
F1AP_DRBs_FailedToBeSetupMod_Item_t
*
drbs_failedToBeSetupMod_item
=
F1AP_DRBs_FailedToBeSetupMod_Item_t
*
drbs_failedToBeSetupMod_item
=
&
drbs_failedToBeSetupMod_item_ies
->
value
.
choice
.
DRBs_FailedToBeSetupMod_Item
;
&
drbs_failedToBeSetupMod_item_ies
->
value
.
choice
.
DRBs_FailedToBeSetupMod_Item
;
/* dRBID */
/* dRBID */
...
@@ -1266,7 +1261,6 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
...
@@ -1266,7 +1261,6 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
ie9
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_SCell_FailedtoSetupMod_List
;
ie9
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_SCell_FailedtoSetupMod_List
;
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
//
asn1cSequenceAdd
(
ie9
->
value
.
choice
.
SCell_FailedtoSetupMod_List
.
list
,
asn1cSequenceAdd
(
ie9
->
value
.
choice
.
SCell_FailedtoSetupMod_List
.
list
,
F1AP_SCell_FailedtoSetupMod_ItemIEs_t
,
scell_failedtoSetupMod_item_ies
);
F1AP_SCell_FailedtoSetupMod_ItemIEs_t
,
scell_failedtoSetupMod_item_ies
);
scell_failedtoSetupMod_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_SCell_FailedtoSetupMod_Item
;
scell_failedtoSetupMod_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_SCell_FailedtoSetupMod_Item
;
...
@@ -1291,7 +1285,6 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
...
@@ -1291,7 +1285,6 @@ int DU_send_UE_CONTEXT_MODIFICATION_RESPONSE(instance_t instance, f1ap_ue_contex
ie10
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_DRBs_FailedToBeModified_List
;
ie10
->
value
.
present
=
F1AP_UEContextModificationResponseIEs__value_PR_DRBs_FailedToBeModified_List
;
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
//
asn1cSequenceAdd
(
ie10
->
value
.
choice
.
DRBs_FailedToBeModified_List
.
list
,
asn1cSequenceAdd
(
ie10
->
value
.
choice
.
DRBs_FailedToBeModified_List
.
list
,
F1AP_DRBs_FailedToBeModified_ItemIEs_t
,
drbs_failedToBeModified_item_ies
);
F1AP_DRBs_FailedToBeModified_ItemIEs_t
,
drbs_failedToBeModified_item_ies
);
drbs_failedToBeModified_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_FailedToBeModified_Item
;
drbs_failedToBeModified_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_DRBs_FailedToBeModified_Item
;
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
40b131be
...
@@ -3668,6 +3668,7 @@ static void rrc_CU_process_ue_context_modification_response(MessageDef *msg_p, c
...
@@ -3668,6 +3668,7 @@ static void rrc_CU_process_ue_context_modification_response(MessageDef *msg_p, c
sizeof
(
*
cellGroupConfig
->
rlc_BearerToAddModList
));
sizeof
(
*
cellGroupConfig
->
rlc_BearerToAddModList
));
}
}
}
}
LOG_I
(
NR_RRC
,
"Updated master cell group configuration stored at the UE context of the CU:
\n
"
);
xer_fprint
(
stdout
,
&
asn_DEF_NR_CellGroupConfig
,
ue_context_p
->
ue_context
.
masterCellGroup
);
xer_fprint
(
stdout
,
&
asn_DEF_NR_CellGroupConfig
,
ue_context_p
->
ue_context
.
masterCellGroup
);
rrc_gNB_generate_dedicatedRRCReconfiguration
(
&
ctxt
,
ue_context_p
,
cellGroupConfig
);
rrc_gNB_generate_dedicatedRRCReconfiguration
(
&
ctxt
,
ue_context_p
,
cellGroupConfig
);
...
...
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