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
wangwenhui
OpenXG-RAN
Commits
287010f8
Commit
287010f8
authored
Nov 13, 2018
by
Louis Adrien Dufrene
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RRC timer: last format done. Timer reset in scheduling of DTCH (DL/UL). Commit to test.
parent
76e16362
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
44 additions
and
6 deletions
+44
-6
openair2/COMMON/platform_types.h
openair2/COMMON/platform_types.h
+1
-1
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+17
-0
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+19
-1
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+3
-1
openair2/RRC/LTE/rrc_eNB_S1AP.c
openair2/RRC/LTE/rrc_eNB_S1AP.c
+4
-3
No files found.
openair2/COMMON/platform_types.h
View file @
287010f8
...
@@ -65,7 +65,7 @@ typedef int32_t sdu_size_t;
...
@@ -65,7 +65,7 @@ typedef int32_t sdu_size_t;
typedef
uint32_t
frame_t
;
typedef
uint32_t
frame_t
;
typedef
int32_t
sframe_t
;
typedef
int32_t
sframe_t
;
typedef
uint32_t
sub_frame_t
;
typedef
uint32_t
sub_frame_t
;
typedef
uint16_t
module_id_t
;
typedef
uint16_t
module_id_t
;
typedef
uint8_t
slice_id_t
;
typedef
uint8_t
slice_id_t
;
typedef
uint8_t
eNB_index_t
;
typedef
uint8_t
eNB_index_t
;
typedef
uint16_t
ue_id_t
;
typedef
uint16_t
ue_id_t
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
View file @
287010f8
...
@@ -43,6 +43,10 @@
...
@@ -43,6 +43,10 @@
#include "RRC/LTE/rrc_extern.h"
#include "RRC/LTE/rrc_extern.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
/************************************************/
//#include "RRC/LTE/rrc_eNB_UE_context.h"
//#include "RRC/LTE/rrc_defs.h"
/************************************************/
//#include "LAYER2/MAC/pre_processor.c"
//#include "LAYER2/MAC/pre_processor.c"
#include "pdcp.h"
#include "pdcp.h"
...
@@ -466,6 +470,8 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
...
@@ -466,6 +470,8 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
int
header_length_last
;
int
header_length_last
;
int
header_length_total
;
int
header_length_total
;
rrc_eNB_ue_context_t
*
ue_contextP
;
// added by LA
start_meas
(
&
eNB
->
schedule_dlsch
);
start_meas
(
&
eNB
->
schedule_dlsch
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH
,
VCD_FUNCTION_IN
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_SCHEDULE_DLSCH
,
VCD_FUNCTION_IN
);
...
@@ -1106,6 +1112,17 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
...
@@ -1106,6 +1112,17 @@ schedule_ue_spec(module_id_t module_idP, int slice_idxP,
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
// reset RRC inactivity timer after uplane activity
ue_contextP
=
rrc_eNB_get_ue_context
(
RC
.
rrc
[
module_idP
],
rnti
);
ue_contextP
->
ue_context
.
ue_rrc_inactivity_timer
=
1
;
LOG_W
(
RRC
,
"After reset, rrc_inactivity_timer is %d, of UE rntiP %d, ue_context_rnti %d, UE_id %d, ue_initial_id %d
\n
"
,
ue_contextP
->
ue_context
.
ue_rrc_inactivity_timer
,
rnti
,
ue_contextP
->
ue_id_rnti
,
UE_id
,
ue_contextP
->
ue_context
.
ue_initial_id
);
}
// end if (rlc_status.bytes_in_buffer > 0)
}
// end if (rlc_status.bytes_in_buffer > 0)
}
else
{
// no TBS left
}
else
{
// no TBS left
break
;
// break for (lcid = NB_RB_MAX - 1; lcid >= DTCH; lcid--)
break
;
// break for (lcid = NB_RB_MAX - 1; lcid >= DTCH; lcid--)
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
287010f8
...
@@ -45,6 +45,10 @@
...
@@ -45,6 +45,10 @@
#include "RRC/LTE/rrc_extern.h"
#include "RRC/LTE/rrc_extern.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
/************************************************/
//#include "RRC/LTE/rrc_eNB_UE_context.h"
//#include "RRC/LTE/rrc_defs.h"
/************************************************/
#include "assertions.h"
#include "assertions.h"
//#include "LAYER2/MAC/pre_processor.c"
//#include "LAYER2/MAC/pre_processor.c"
...
@@ -111,6 +115,8 @@ rx_sdu(const module_id_t enb_mod_idP,
...
@@ -111,6 +115,8 @@ rx_sdu(const module_id_t enb_mod_idP,
(
RA_t
*
)
&
RC
.
mac
[
enb_mod_idP
]
->
common_channels
[
CC_idP
].
ra
[
0
];
(
RA_t
*
)
&
RC
.
mac
[
enb_mod_idP
]
->
common_channels
[
CC_idP
].
ra
[
0
];
int
first_rb
=
0
;
int
first_rb
=
0
;
rrc_eNB_ue_context_t
*
ue_contextP
;
// added by LA
start_meas
(
&
mac
->
rx_ulsch_sdu
);
start_meas
(
&
mac
->
rx_ulsch_sdu
);
if
((
UE_id
>
MAX_MOBILES_PER_ENB
)
||
(
UE_id
==
-
1
))
if
((
UE_id
>
MAX_MOBILES_PER_ENB
)
||
(
UE_id
==
-
1
))
...
@@ -732,6 +738,18 @@ rx_sdu(const module_id_t enb_mod_idP,
...
@@ -732,6 +738,18 @@ rx_sdu(const module_id_t enb_mod_idP,
//clear uplane_inactivity_timer
//clear uplane_inactivity_timer
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
UE_list
->
UE_sched_ctrl
[
UE_id
].
uplane_inactivity_timer
=
0
;
// reset RRC inactivity timer after uplane activity
ue_contextP
=
rrc_eNB_get_ue_context
(
RC
.
rrc
[
enb_mod_idP
],
rntiP
);
ue_contextP
->
ue_context
.
ue_rrc_inactivity_timer
=
1
;
LOG_W
(
RRC
,
"After reset, rrc_inactivity_timer is %d, of UE rntiP %d, ue_context_rnti %d, UE_id %d, ue_initial_id %d
\n
"
,
ue_contextP
->
ue_context
.
ue_rrc_inactivity_timer
,
rntiP
,
ue_contextP
->
ue_id_rnti
,
UE_id
,
ue_contextP
->
ue_context
.
ue_initial_id
);
}
else
{
/* rx_length[i] */
}
else
{
/* rx_length[i] */
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_errors_rx
+=
1
;
UE_list
->
eNB_UE_stats
[
CC_idP
][
UE_id
].
num_errors_rx
+=
1
;
...
@@ -743,7 +761,7 @@ rx_sdu(const module_id_t enb_mod_idP,
...
@@ -743,7 +761,7 @@ rx_sdu(const module_id_t enb_mod_idP,
UE_id
);
UE_id
);
}
}
}
else
{
/
*(UE_id != -1 */
}
else
{
/
/ end if (UE_id != -1)
LOG_E
(
MAC
,
"[eNB %d] CC_id %d Frame %d : received unsupported or unknown LCID %d from UE %d "
,
LOG_E
(
MAC
,
"[eNB %d] CC_id %d Frame %d : received unsupported or unknown LCID %d from UE %d "
,
enb_mod_idP
,
enb_mod_idP
,
CC_idP
,
CC_idP
,
...
...
openair2/RRC/LTE/rrc_eNB.c
View file @
287010f8
...
@@ -1036,7 +1036,7 @@ rrc_eNB_process_RRCConnectionSetupComplete(
...
@@ -1036,7 +1036,7 @@ rrc_eNB_process_RRCConnectionSetupComplete(
ue_context_pP
->
ue_context
.
Srb1
.
Active
=
1
;
ue_context_pP
->
ue_context
.
Srb1
.
Active
=
1
;
ue_context_pP
->
ue_context
.
Status
=
RRC_CONNECTED
;
ue_context_pP
->
ue_context
.
Status
=
RRC_CONNECTED
;
ue_context_pP
->
ue_context
.
ue_rrc_inactivity_timer
=
1
;
// set rrc inactivity when UE goes into RRC_CONNECTED
ue_context_pP
->
ue_context
.
ue_rrc_inactivity_timer
=
1
;
// set rrc inactivity when UE goes into RRC_CONNECTED
ue_context_pP
->
ue_context
.
ue_rrc_inactivity_timer_thres
=
10000
;
//
SHOULD NOT BE DONE HERE !!!!!
ue_context_pP
->
ue_context
.
ue_rrc_inactivity_timer_thres
=
10000
;
//
The value should come from config file
T
(
T_ENB_RRC_CONNECTION_SETUP_COMPLETE
,
T_INT
(
ctxt_pP
->
module_id
),
T_INT
(
ctxt_pP
->
frame
),
T
(
T_ENB_RRC_CONNECTION_SETUP_COMPLETE
,
T_INT
(
ctxt_pP
->
module_id
),
T_INT
(
ctxt_pP
->
frame
),
T_INT
(
ctxt_pP
->
subframe
),
T_INT
(
ctxt_pP
->
rnti
));
T_INT
(
ctxt_pP
->
subframe
),
T_INT
(
ctxt_pP
->
rnti
));
...
@@ -1369,6 +1369,8 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
...
@@ -1369,6 +1369,8 @@ rrc_eNB_process_RRCConnectionReestablishmentComplete(
uint8_t
next_xid
=
rrc_eNB_get_next_transaction_identifier
(
ctxt_pP
->
module_id
);
uint8_t
next_xid
=
rrc_eNB_get_next_transaction_identifier
(
ctxt_pP
->
module_id
);
ue_context_pP
->
ue_context
.
Status
=
RRC_CONNECTED
;
ue_context_pP
->
ue_context
.
Status
=
RRC_CONNECTED
;
ue_context_pP
->
ue_context
.
ue_rrc_inactivity_timer
=
1
;
// set rrc inactivity when UE goes into RRC_CONNECTED
ue_context_pP
->
ue_context
.
ue_rrc_inactivity_timer_thres
=
10000
;
// The value should come from config file
ue_context_pP
->
ue_context
.
reestablishment_xid
=
next_xid
;
ue_context_pP
->
ue_context
.
reestablishment_xid
=
next_xid
;
SRB_configList2
=
&
ue_context_pP
->
ue_context
.
SRB_configList2
[
xid
];
SRB_configList2
=
&
ue_context_pP
->
ue_context
.
SRB_configList2
[
xid
];
...
...
openair2/RRC/LTE/rrc_eNB_S1AP.c
View file @
287010f8
...
@@ -167,7 +167,8 @@ void extract_imsi(uint8_t *pdu_buf, uint32_t pdu_len, rrc_eNB_ue_context_t *ue_c
...
@@ -167,7 +167,8 @@ void extract_imsi(uint8_t *pdu_buf, uint32_t pdu_len, rrc_eNB_ue_context_t *ue_c
# if defined(ENABLE_ITTI)
# if defined(ENABLE_ITTI)
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/*
/*
* TODO
* Get the UE S1 struct containing hashtables S1_id/UE_id.
* Is also used to set the S1_id of the UE, depending on inputs.
*/
*/
struct
rrc_ue_s1ap_ids_s
*
struct
rrc_ue_s1ap_ids_s
*
rrc_eNB_S1AP_get_ue_ids
(
rrc_eNB_S1AP_get_ue_ids
(
...
@@ -305,7 +306,7 @@ rrc_eNB_S1AP_get_ue_ids(
...
@@ -305,7 +306,7 @@ rrc_eNB_S1AP_get_ue_ids(
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/*
/*
*
TODO
*
Remove UE ids (ue_initial_id and S1_id) from hashtables.
*/
*/
void
void
rrc_eNB_S1AP_remove_ue_ids
(
rrc_eNB_S1AP_remove_ue_ids
(
...
@@ -789,7 +790,7 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
...
@@ -789,7 +790,7 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/*
/*
*
TODO
*
Initial UE NAS message on S1AP.
*/
*/
void
void
rrc_eNB_send_S1AP_NAS_FIRST_REQ
(
rrc_eNB_send_S1AP_NAS_FIRST_REQ
(
...
...
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