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
lizhongxiao
OpenXG-RAN
Commits
3b101444
Commit
3b101444
authored
Dec 19, 2022
by
Swetank Srivastava
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
10.3.1 TC Passed
parent
5288bbc2
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
241 additions
and
123 deletions
+241
-123
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+241
-119
openair3/SS/ss_eNB_srb_task.c
openair3/SS/ss_eNB_srb_task.c
+0
-4
No files found.
openair2/RRC/LTE/rrc_eNB.c
View file @
3b101444
...
...
@@ -3261,39 +3261,162 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
ASN_SEQUENCE_ADD
(
&
SRB_configList
->
list
,
SRB2_config
);
// this list has the configuration for SRB1 and SRB2
ASN_SEQUENCE_ADD
(
&
(
*
SRB_configList2
)
->
list
,
SRB2_config
);
// this list has only the configuration for SRB2
/* Here we are populating the drb_ToAddModList received from TTCN */
LTE_DL_DCCH_Message_t
*
dl_dcch_msg
=
NULL
;
if
(
RC
.
ss
.
mode
==
SS_SOFTMODEM
)
/* Here we are populating the drb_ToAddModList received from TTCN with selected few parameters */
if
(
RC
.
ss
.
mode
>=
SS_SOFTMODEM
)
{
uint8_t
num_drb
=
0
;
LTE_DL_DCCH_Message_t
*
dl_dcch_msg
=
NULL
;
long
logicalChannelIdentityT
=
3
;
uper_decode
(
NULL
,
&
asn_DEF_LTE_DL_DCCH_Message
,
(
void
**
)
&
dl_dcch_msg
,
ue_context_pP
->
ue_context
.
sdu
ue_context_pP
->
ue_context
.
sdu
,
ue_context_pP
->
ue_context
.
sdu_size
,
0
,
0
);
xer_fprint
(
stdout
,
&
asn_DEF_LTE_DL_DCCH_Message
,(
void
*
)
dl_dcch_msg
);
if
(
dl_dcch_msg
->
message
.
rrcConnectionReconfiguration
.
criticalExtensions
.
c1
.
rrcConnectionReconfiguration
.
criticalExtensions
.
present
==
LTE_RRCConnectionReconfiguration__criticalExtensions_PR_c1
)
if
(
dl_dcch_msg
->
message
.
choice
.
c1
.
choice
.
rrcConnectionReconfiguration
.
criticalExtensions
.
choice
.
c1
.
choice
.
rrcConnectionReconfiguration_r8
.
radioResourceConfigDedicated
!=
NULL
)
{
struct
LTE_RRCConnectionReconfiguration__criticalExtensions
*
ce
=
NULL
;
ce
=
&
dl_dcch_msg
->
message
.
rrcConnectionReconfiguration
.
criticalExtensions
.
c1
.
rrcConnectionReconfiguration
.
criticalExtensions
;
num_drb
=
ce
->
c1
.
rrcConnectionReconfiguration_r8
.
radioResourceConfigDedicated
.
drb_ToAddModList
.
list
.
count
;
for
(
int
ik
=
0
;
ik
<
num_drb
;
ik
++
)
{
LTE_RRCConnectionReconfiguration_r8_IEs_t
*
ce
=
NULL
;
ce
=
&
dl_dcch_msg
->
message
.
choice
.
c1
.
choice
.
rrcConnectionReconfiguration
.
criticalExtensions
.
choice
.
c1
.
choice
.
rrcConnectionReconfiguration_r8
;
num_drb
=
ce
->
radioResourceConfigDedicated
->
drb_ToAddModList
->
list
.
count
;
if
(
*
DRB_configList
)
{
free
(
*
DRB_configList
);
}
}
// list for all the configured DRB
*
DRB_configList
=
CALLOC
(
1
,
sizeof
(
**
DRB_configList
));
memset
(
*
DRB_configList
,
0
,
sizeof
(
**
DRB_configList
));
DRB_configList2
=&
ue_context_pP
->
ue_context
.
DRB_configList2
[
xid
];
// list for the configured DRB for a this xid
if
(
*
DRB_configList2
)
{
free
(
*
DRB_configList2
);
}
*
DRB_configList2
=
CALLOC
(
1
,
sizeof
(
**
DRB_configList2
));
memset
(
*
DRB_configList2
,
0
,
sizeof
(
**
DRB_configList2
));
struct
LTE_DRB_ToAddModList
*
p_drb
=
NULL
;
p_drb
=
ce
->
radioResourceConfigDedicated
->
drb_ToAddModList
;
/* Configure DRB */
// list for all the configured DRB
if
(
*
DRB_configList
)
{
free
(
*
DRB_configList
);
for
(
int
ik
=
0
;
ik
<
num_drb
;
ik
++
)
{
DRB_config
=
CALLOC
(
1
,
sizeof
(
*
DRB_config
));
if
(
p_drb
!=
NULL
)
{
DRB_config
->
drb_Identity
=
p_drb
->
list
.
array
[
ik
]
->
drb_Identity
;
}
if
(
p_drb
->
list
.
array
[
ik
]
->
eps_BearerIdentity
!=
NULL
)
{
DRB_config
->
eps_BearerIdentity
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
DRB_config
->
eps_BearerIdentity
)
=
*
p_drb
->
list
.
array
[
ik
]
->
eps_BearerIdentity
;
}
if
(
p_drb
->
list
.
array
[
ik
]
->
pdcp_Config
!=
NULL
)
{
DRB_pdcp_config
=
CALLOC
(
1
,
sizeof
(
*
DRB_pdcp_config
));
DRB_config
->
pdcp_Config
=
DRB_pdcp_config
;
DRB_pdcp_config
->
discardTimer
=
CALLOC
(
1
,
sizeof
(
long
));
if
(
p_drb
->
list
.
array
[
ik
]
->
pdcp_Config
->
discardTimer
!=
NULL
)
{
*
DRB_pdcp_config
->
discardTimer
=
*
p_drb
->
list
.
array
[
ik
]
->
pdcp_Config
->
discardTimer
;
}
#ifdef RRC_DEFAULT_RAB_IS_AM // EXMIMO_IOT
PDCP_rlc_AM
=
CALLOC
(
1
,
sizeof
(
*
PDCP_rlc_AM
));
DRB_pdcp_config
->
rlc_AM
=
PDCP_rlc_AM
;
if
(
1
)
{
PDCP_rlc_AM
->
statusReportRequired
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
PdcpCfg
.
rlc_AM
->
statusReportRequired
;
}
else
{
PDCP_rlc_AM
->
statusReportRequired
=
FALSE
;
}
#else
PDCP_rlc_UM
=
CALLOC
(
1
,
sizeof
(
*
PDCP_rlc_UM
));
DRB_pdcp_config
->
rlc_UM
=
PDCP_rlc_UM
;
if
(
1
)
{
PDCP_rlc_UM
->
pdcp_SN_Size
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
PdcpCfg
.
rlc_UM
->
pdcp_SN_Size
;
}
else
{
PDCP_rlc_UM
->
pdcp_SN_Size
=
LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits
;
}
#endif
if
(
1
)
{
DRB_pdcp_config
->
headerCompression
.
present
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
PdcpCfg
.
headerCompression
.
present
;
}
else
{
DRB_pdcp_config
->
headerCompression
.
present
=
LTE_PDCP_Config__headerCompression_PR_notUsed
;
}
}
// NN: this is the 1st DRB for this ue, so set it to 1
DRB_config
->
logicalChannelIdentity
=
CALLOC
(
1
,
sizeof
(
long
));
*
(
DRB_config
->
logicalChannelIdentity
)
=
logicalChannelIdentityT
;
// value : x+2
logicalChannelIdentityT
++
;
DRB_rlc_config
=
CALLOC
(
1
,
sizeof
(
*
DRB_rlc_config
));
DRB_config
->
rlc_Config
=
DRB_rlc_config
;
#ifdef RRC_DEFAULT_RAB_IS_AM
if
(
1
)
{
/* DRB1 stored at index 3 in RC.RB_Config*/
DRB_rlc_config
->
present
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
present
;
if
(
DRB_rlc_config
->
present
==
LTE_RLC_Config_PR_am
)
{
DRB_rlc_config
->
choice
.
am
.
ul_AM_RLC
.
t_PollRetransmit
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
am
.
ul_AM_RLC
.
t_PollRetransmit
;
DRB_rlc_config
->
choice
.
am
.
ul_AM_RLC
.
pollPDU
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
am
.
ul_AM_RLC
.
pollPDU
;
DRB_rlc_config
->
choice
.
am
.
ul_AM_RLC
.
pollByte
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
am
.
ul_AM_RLC
.
pollByte
;
DRB_rlc_config
->
choice
.
am
.
ul_AM_RLC
.
maxRetxThreshold
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
am
.
ul_AM_RLC
.
maxRetxThreshold
;
DRB_rlc_config
->
choice
.
am
.
dl_AM_RLC
.
t_Reordering
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
am
.
dl_AM_RLC
.
t_Reordering
;
DRB_rlc_config
->
choice
.
am
.
dl_AM_RLC
.
t_StatusProhibit
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
am
.
dl_AM_RLC
.
t_StatusProhibit
;
}
else
if
(
DRB_rlc_config
->
present
==
LTE_RLC_Config_PR_um_Bi_Directional
)
{
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
ul_UM_RLC
.
sn_FieldLength
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
um_Bi_Directional
.
ul_UM_RLC
.
sn_FieldLength
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
sn_FieldLength
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
sn_FieldLength
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
t_Reordering
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
t_Reordering
;
}
}
else
{
DRB_rlc_config
->
present
=
LTE_RLC_Config_PR_am
;
DRB_rlc_config
->
choice
.
am
.
ul_AM_RLC
.
t_PollRetransmit
=
LTE_T_PollRetransmit_ms50
;
DRB_rlc_config
->
choice
.
am
.
ul_AM_RLC
.
pollPDU
=
LTE_PollPDU_p16
;
DRB_rlc_config
->
choice
.
am
.
ul_AM_RLC
.
pollByte
=
LTE_PollByte_kBinfinity
;
DRB_rlc_config
->
choice
.
am
.
ul_AM_RLC
.
maxRetxThreshold
=
LTE_UL_AM_RLC__maxRetxThreshold_t8
;
DRB_rlc_config
->
choice
.
am
.
dl_AM_RLC
.
t_Reordering
=
LTE_T_Reordering_ms35
;
DRB_rlc_config
->
choice
.
am
.
dl_AM_RLC
.
t_StatusProhibit
=
LTE_T_StatusProhibit_ms25
;
}
#else
if
(
1
)
{
DRB_rlc_config
->
present
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
present
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
ul_UM_RLC
.
sn_FieldLength
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
um_Bi_Directional
.
ul_UM_RLC
.
sn_FieldLength
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
sn_FieldLength
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
sn_FieldLength
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
t_Reordering
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
t_Reordering
;
}
else
{
DRB_rlc_config
->
present
=
LTE_RLC_Config_PR_um_Bi_Directional
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
ul_UM_RLC
.
sn_FieldLength
=
LTE_SN_FieldLength_size10
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
sn_FieldLength
=
LTE_SN_FieldLength_size10
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
dl_UM_RLC
.
t_Reordering
=
LTE_T_Reordering_ms35
;
}
#endif
/* Avoid gcc warnings */
(
void
)
PDCP_rlc_AM
;
(
void
)
PDCP_rlc_UM
;
DRB_lchan_config
=
CALLOC
(
1
,
sizeof
(
*
DRB_lchan_config
));
DRB_config
->
logicalChannelConfig
=
DRB_lchan_config
;
DRB_ul_SpecificParameters
=
CALLOC
(
1
,
sizeof
(
*
DRB_ul_SpecificParameters
));
DRB_lchan_config
->
ul_SpecificParameters
=
DRB_ul_SpecificParameters
;
if
(
1
)
{
DRB_ul_SpecificParameters
->
priority
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
Mac
.
ul_SpecificParameters
->
priority
;
DRB_ul_SpecificParameters
->
prioritisedBitRate
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
Mac
.
ul_SpecificParameters
->
prioritisedBitRate
;
}
else
{
DRB_ul_SpecificParameters
->
priority
=
12
;
// lower priority than srb1, srb2 and other dedicated bearer
DRB_ul_SpecificParameters
->
prioritisedBitRate
=
LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8
;
// LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
}
DRB_ul_SpecificParameters
->
bucketSizeDuration
=
LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50
;
// LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
logicalchannelgroup_drb
=
CALLOC
(
1
,
sizeof
(
long
));
*
logicalchannelgroup_drb
=
1
;
DRB_ul_SpecificParameters
->
logicalChannelGroup
=
logicalchannelgroup_drb
;
ASN_SEQUENCE_ADD
(
&
(
*
DRB_configList
)
->
list
,
DRB_config
);
ASN_SEQUENCE_ADD
(
&
(
*
DRB_configList2
)
->
list
,
DRB_config
);
}
/* End of for loop for drb id */
}
/* End of if for radioResourceConfigDedicated */
memset
(
ue_context_pP
->
ue_context
.
sdu
,
0
,
SDU_SIZE
);
ue_context_pP
->
ue_context
.
sdu_size
=
0
;
}
/* End of SS_SOFTMODEM check */
else
{
*
DRB_configList
=
CALLOC
(
1
,
sizeof
(
**
DRB_configList
));
memset
(
*
DRB_configList
,
0
,
sizeof
(
**
DRB_configList
));
DRB_configList2
=&
ue_context_pP
->
ue_context
.
DRB_configList2
[
xid
];
// list for the configured DRB for a this xid
...
...
@@ -3314,7 +3437,6 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
DRB_rlc_config
=
CALLOC
(
1
,
sizeof
(
*
DRB_rlc_config
));
DRB_config
->
rlc_Config
=
DRB_rlc_config
;
#ifdef RRC_DEFAULT_RAB_IS_AM
//if (RC.ss.mode == SS_SOFTMODEM) {
if
(
1
)
{
/* DRB1 stored at index 3 in RC.RB_Config*/
DRB_rlc_config
->
present
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
present
;
...
...
@@ -3340,7 +3462,6 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
DRB_rlc_config
->
choice
.
am
.
dl_AM_RLC
.
t_StatusProhibit
=
LTE_T_StatusProhibit_ms25
;
}
#else
//if (RC.ss.mode == SS_SOFTMODEM) {
if
(
1
)
{
DRB_rlc_config
->
present
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
present
;
DRB_rlc_config
->
choice
.
um_Bi_Directional
.
ul_UM_RLC
.
sn_FieldLength
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
RlcCfg
.
choice
.
um_Bi_Directional
.
ul_UM_RLC
.
sn_FieldLength
;
...
...
@@ -3365,7 +3486,6 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
#ifdef RRC_DEFAULT_RAB_IS_AM // EXMIMO_IOT
PDCP_rlc_AM
=
CALLOC
(
1
,
sizeof
(
*
PDCP_rlc_AM
));
DRB_pdcp_config
->
rlc_AM
=
PDCP_rlc_AM
;
//if (RC.ss.mode == SS_SOFTMODEM) {
if
(
1
)
{
PDCP_rlc_AM
->
statusReportRequired
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
PdcpCfg
.
rlc_AM
->
statusReportRequired
;
}
else
{
...
...
@@ -3374,14 +3494,12 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
#else
PDCP_rlc_UM
=
CALLOC
(
1
,
sizeof
(
*
PDCP_rlc_UM
));
DRB_pdcp_config
->
rlc_UM
=
PDCP_rlc_UM
;
//if (RC.ss.mode == SS_SOFTMODEM) {
if
(
1
)
{
PDCP_rlc_UM
->
pdcp_SN_Size
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
PdcpCfg
.
rlc_UM
->
pdcp_SN_Size
;
}
else
{
PDCP_rlc_UM
->
pdcp_SN_Size
=
LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits
;
}
#endif
//if (RC.ss.mode == SS_SOFTMODEM) {
if
(
1
)
{
DRB_pdcp_config
->
headerCompression
.
present
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
PdcpCfg
.
headerCompression
.
present
;
}
else
{
...
...
@@ -3391,7 +3509,6 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
DRB_config
->
logicalChannelConfig
=
DRB_lchan_config
;
DRB_ul_SpecificParameters
=
CALLOC
(
1
,
sizeof
(
*
DRB_ul_SpecificParameters
));
DRB_lchan_config
->
ul_SpecificParameters
=
DRB_ul_SpecificParameters
;
//if (RC.ss.mode == SS_SOFTMODEM) {
if
(
1
)
{
DRB_ul_SpecificParameters
->
priority
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
Mac
.
ul_SpecificParameters
->
priority
;
DRB_ul_SpecificParameters
->
prioritisedBitRate
=
RC
.
RB_Config
[
ue_context_pP
->
ue_context
.
primaryCC_id
][
3
].
Mac
.
ul_SpecificParameters
->
prioritisedBitRate
;
...
...
@@ -3406,6 +3523,8 @@ void rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt_t
DRB_ul_SpecificParameters
->
logicalChannelGroup
=
logicalchannelgroup_drb
;
ASN_SEQUENCE_ADD
(
&
(
*
DRB_configList
)
->
list
,
DRB_config
);
ASN_SEQUENCE_ADD
(
&
(
*
DRB_configList2
)
->
list
,
DRB_config
);
}
/* MAC Main Config */
// The different parts of MAC main config are set below
mac_MainConfig
=
CALLOC
(
1
,
sizeof
(
*
mac_MainConfig
));
...
...
@@ -10549,6 +10668,9 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
pdcp_config_set_security_cipher
(
pdcp_p
,
ciphering_algorithm
);
}
}
memcpy
(
ue_context_p
->
ue_context
.
sdu
,
SS_RRC_PDU_REQ
(
msg_p
).
sdu
,
SS_RRC_PDU_REQ
(
msg_p
).
sdu_size
);
ue_context_p
->
ue_context
.
sdu_size
=
SS_RRC_PDU_REQ
(
msg_p
).
sdu_size
;
rrc_eNB_generate_defaultRRCConnectionReconfiguration
(
&
ctxt
,
ue_context_p
,
0
);
}
}
...
...
openair3/SS/ss_eNB_srb_task.c
View file @
3b101444
...
...
@@ -213,7 +213,6 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
assert
(
req
);
LTE_DL_DCCH_Message_t
*
dl_dcch_msg
=
NULL
;
LTE_DL_CCCH_Message_t
*
dl_ccch_msg
=
NULL
;
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
MessageDef
*
message_p
=
itti_alloc_new_message
(
TASK_RRC_ENB
,
0
,
SS_RRC_PDU_REQ
);
assert
(
message_p
);
...
...
@@ -251,9 +250,6 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
memcpy
(
lttng_sdu
,
SS_RRC_PDU_REQ
(
message_p
).
sdu
,
SS_RRC_PDU_REQ
(
message_p
).
sdu_size
);
LOG_P
(
OAILOG_DEBUG
,
"DL_DCCH_Message"
,
lttng_sdu
,
SS_RRC_PDU_REQ
(
message_p
).
sdu_size
);
ue_context_p
=
rrc_eNB_get_ue_context
(
RC
.
rrc
[
instance_g
],
SS_RRC_PDU_REQ
(
msg_p
).
rnti
);
memcpy
(
ue_context_p
->
sdu
,
SS_RRC_PDU_REQ
(
message_p
).
sdu
,
SS_RRC_PDU_REQ
(
message_p
).
sdu_size
);
ue_context_p
->
sdu_size
=
SS_RRC_PDU_REQ
(
message_p
).
sdu_size
;
}
LOG_A
(
ENB_SS
,
"[SS_SRB][EUTRA_RRC_PDU_REQ] sending to TASK_RRC_ENB: {srb: %d, ch: %s, qty: %d rnti %d}
\n
"
,
...
...
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