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
spbro
OpenXG-RAN
Commits
7e088701
Commit
7e088701
authored
Sep 17, 2019
by
Stefan Schaffelder
Committed by
LouisAdrien
Sep 18, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
message-transfer-update
parent
cd6b19fa
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
7 deletions
+49
-7
openair2/F1AP/f1ap_du_rrc_message_transfer.c
openair2/F1AP/f1ap_du_rrc_message_transfer.c
+44
-3
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+5
-4
No files found.
openair2/F1AP/f1ap_du_rrc_message_transfer.c
View file @
7e088701
...
@@ -47,6 +47,7 @@
...
@@ -47,6 +47,7 @@
#include "common/ran_context.h"
#include "common/ran_context.h"
#include "rrc_eNB_UE_context.h"
#include "rrc_eNB_UE_context.h"
#include "asn1_msg.h"
// undefine C_RNTI from
// undefine C_RNTI from
// openair1/PHY/LTE_TRANSPORT/transport_common.h which
// openair1/PHY/LTE_TRANSPORT/transport_common.h which
...
@@ -401,8 +402,38 @@ int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
...
@@ -401,8 +402,38 @@ int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
for
(
i
=
0
;
i
<
8
;
i
++
){
for
(
i
=
0
;
i
<
8
;
i
++
){
DRB2LCHAN
[
i
]
=
0
;
DRB2LCHAN
[
i
]
=
0
;
}
}
if
(
rrcConnectionReconfiguration_r8
->
radioResourceConfigDedicated
->
mac_MainConfig
)
if
(
rrcConnectionReconfiguration_r8
->
radioResourceConfigDedicated
->
mac_MainConfig
)
{
mac_MainConfig
=
&
rrcConnectionReconfiguration_r8
->
radioResourceConfigDedicated
->
mac_MainConfig
->
choice
.
explicitValue
;
mac_MainConfig
=
&
rrcConnectionReconfiguration_r8
->
radioResourceConfigDedicated
->
mac_MainConfig
->
choice
.
explicitValue
;
int
UE_id
=
find_UE_id
(
ctxt
.
module_id
,
ctxt
.
rnti
);
if
(
UE_id
!=
-
1
)
{
eNB_RRC_INST
*
rrc_inst
=
RC
.
rrc
[
ctxt
.
module_id
];
uint8_t
cc_id
=
ue_context_p
->
ue_context
.
primaryCC_id
;
eNB_MAC_INST
*
mac
=
RC
.
mac
[
ctxt
.
module_id
];
UE_list_t
*
UE_list
=
&
(
mac
->
UE_list
);
if
(
rrc_inst
->
carrier
[
cc_id
].
sib1
->
tdd_Config
==
NULL
&&
UE_list
->
UE_template
[
cc_id
][
UE_id
].
rach_resource_type
==
0
)
{
if
(
cc_id
<
MAX_NUM_CCs
)
{
LTE_UE_EUTRA_Capability_t
*
UEcap
=
ue_context_p
->
ue_context
.
UE_Capability
;
mac_MainConfig
->
drx_Config
=
do_DrxConfig
(
cc_id
,
&
rrc_inst
->
configuration
,
UEcap
);
if
(
mac_MainConfig
->
drx_Config
==
NULL
)
{
LOG_E
(
F1AP
,
"drx_Configuration parameter is NULL, cannot configure local UE parameters
\n
"
);
}
else
{
/* Set timers and thresholds values in local MAC context of UE */
eNB_Config_Local_DRX
(
ctxt
.
module_id
,
ctxt
.
rnti
,
mac_MainConfig
->
drx_Config
);
LOG_D
(
F1AP
,
"DRX configured in mac main config for RRC Connection Reconfiguration
\n
"
);
}
}
else
{
LOG_E
(
F1AP
,
"Invalid CC_id for DRX configuration
\n
"
);
}
}
}
else
{
// UE_id invalid
LOG_E
(
F1AP
,
"Invalid UE_id found!
\n
"
);
}
}
LTE_MeasGapConfig_t
*
measGapConfig
=
NULL
;
LTE_MeasGapConfig_t
*
measGapConfig
=
NULL
;
struct
LTE_PhysicalConfigDedicated
*
physicalConfigDedicated
=
rrcConnectionReconfiguration_r8
->
radioResourceConfigDedicated
->
physicalConfigDedicated
;
struct
LTE_PhysicalConfigDedicated
*
physicalConfigDedicated
=
rrcConnectionReconfiguration_r8
->
radioResourceConfigDedicated
->
physicalConfigDedicated
;
rrc_rlc_config_asn1_req
(
rrc_rlc_config_asn1_req
(
...
@@ -602,7 +633,9 @@ int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
...
@@ -602,7 +633,9 @@ int DU_handle_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
}
}
int
DU_send_UL_RRC_MESSAGE_TRANSFER
(
instance_t
instance
,
const
f1ap_ul_rrc_message_t
*
msg
)
{
int
DU_send_UL_RRC_MESSAGE_TRANSFER
(
instance_t
instance
,
const
f1ap_ul_rrc_message_t
*
msg
)
{
const
rnti_t
rnti
=
msg
->
rnti
;
const
rnti_t
rnti
=
msg
->
rnti
;
F1AP_F1AP_PDU_t
pdu
;
F1AP_F1AP_PDU_t
pdu
;
...
@@ -703,6 +736,7 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance, const f1ap_ul_rrc_messa
...
@@ -703,6 +736,7 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance, const f1ap_ul_rrc_messa
break
;
break
;
case
LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionReconfigurationComplete
:
case
LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionReconfigurationComplete
:
break
;
break
;
case
LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionReestablishmentComplete
:
case
LTE_UL_DCCH_MessageType__c1_PR_rrcConnectionReestablishmentComplete
:
...
@@ -715,9 +749,16 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance, const f1ap_ul_rrc_messa
...
@@ -715,9 +749,16 @@ int DU_send_UL_RRC_MESSAGE_TRANSFER(instance_t instance, const f1ap_ul_rrc_messa
}
else
{
}
else
{
LOG_I
(
F1AP
,
"Processing RRCConnectionSetupComplete UE %x
\n
"
,
rnti
);
LOG_I
(
F1AP
,
"Processing RRCConnectionSetupComplete UE %x
\n
"
,
rnti
);
ue_context_p
->
ue_context
.
Status
=
RRC_CONNECTED
;
ue_context_p
->
ue_context
.
Status
=
RRC_CONNECTED
;
int
UE_id_mac
=
find_UE_id
(
instance
,
rnti
);
UE_sched_ctrl_t
*
UE_scheduling_control
=
&
(
RC
.
mac
[
instance
]
->
UE_list
.
UE_sched_ctrl
[
UE_id_mac
]);
if
(
UE_scheduling_control
->
cdrx_waiting_ack
==
TRUE
)
{
UE_scheduling_control
->
cdrx_waiting_ack
=
FALSE
;
}
}
}
break
;
break
;
case
LTE_UL_DCCH_MessageType__c1_PR_securityModeComplete
:
case
LTE_UL_DCCH_MessageType__c1_PR_securityModeComplete
:
LOG_I
(
F1AP
,
"[MSG] RRC securityModeComplete
\n
"
);
LOG_I
(
F1AP
,
"[MSG] RRC securityModeComplete
\n
"
);
break
;
break
;
...
...
openair2/RRC/LTE/rrc_eNB.c
View file @
7e088701
...
@@ -3202,11 +3202,11 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
...
@@ -3202,11 +3202,11 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
mac_MainConfig
->
phr_Config
->
choice
.
setup
.
dl_PathlossChange
=
LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB3
;
// Value dB1 =1 dB, dB3 = 3 dB
mac_MainConfig
->
phr_Config
->
choice
.
setup
.
dl_PathlossChange
=
LTE_MAC_MainConfig__phr_Config__setup__dl_PathlossChange_dB3
;
// Value dB1 =1 dB, dB3 = 3 dB
mac_MainConfig
->
drx_Config
=
NULL
;
mac_MainConfig
->
drx_Config
=
NULL
;
rnti_t
rnti
=
ue_context_pP
->
ue_id_rnti
;
module_id_t
module_id
=
ctxt_pP
->
module_id
;
if
(
!
NODE_IS_CU
(
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
node_type
))
{
if
(
!
NODE_IS_CU
(
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
node_type
))
{
/* CDRX Configuration */
/* CDRX Configuration */
// Need to check if UE is a BR UE
// Need to check if UE is a BR UE
rnti_t
rnti
=
ue_context_pP
->
ue_id_rnti
;
module_id_t
module_id
=
ctxt_pP
->
module_id
;
int
UE_id
=
find_UE_id
(
module_id
,
rnti
);
int
UE_id
=
find_UE_id
(
module_id
,
rnti
);
if
(
UE_id
!=
-
1
)
{
if
(
UE_id
!=
-
1
)
{
...
@@ -6498,7 +6498,8 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
...
@@ -6498,7 +6498,8 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
/* CDRX: activated if ack was expected */
/* CDRX: activated if ack was expected */
int
UE_id_mac
=
find_UE_id
(
ctxt_pP
->
module_id
,
ue_context_pP
->
ue_context
.
rnti
);
int
UE_id_mac
=
find_UE_id
(
ctxt_pP
->
module_id
,
ue_context_pP
->
ue_context
.
rnti
);
if
(
UE_id_mac
==
-
1
){
if
(
UE_id_mac
==
-
1
){
LOG_E
(
RRC
,
PROTOCOL_RRC_CTXT_UE_FMT
" rrc_eNB_process_RRCConnectionReconfigurationComplete without UE_id(MAC) rnti %x, let's return
\n
"
,
PROTOCOL_RRC_CTXT_UE_ARGS
(
ctxt_pP
),
ue_context_pP
->
ue_context
.
rnti
);
LOG_E
(
RRC
,
PROTOCOL_RRC_CTXT_UE_FMT
" rrc_eNB_process_RRCConnectionReconfigurationComplete without UE_id(MAC) rnti %x, let's return
\n
"
,
PROTOCOL_RRC_CTXT_UE_ARGS
(
ctxt_pP
),
ue_context_pP
->
ue_context
.
rnti
);
return
;
return
;
}
}
UE_sched_ctrl_t
*
UE_scheduling_control
=
&
(
RC
.
mac
[
ctxt_pP
->
module_id
]
->
UE_list
.
UE_sched_ctrl
[
UE_id_mac
]);
UE_sched_ctrl_t
*
UE_scheduling_control
=
&
(
RC
.
mac
[
ctxt_pP
->
module_id
]
->
UE_list
.
UE_sched_ctrl
[
UE_id_mac
]);
...
...
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