Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
82bbb144
Commit
82bbb144
authored
Apr 05, 2017
by
shahab SHARIATBAGHERI
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Warning Decreasing
parent
b097ba85
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
70 additions
and
41 deletions
+70
-41
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
+8
-7
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
+8
-8
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.h
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.h
+3
-3
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h
...air2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h
+3
-1
openair2/ENB_APP/flexran_agent.c
openair2/ENB_APP/flexran_agent.c
+1
-1
openair2/ENB_APP/flexran_agent.h
openair2/ENB_APP/flexran_agent.h
+4
-1
openair2/ENB_APP/flexran_agent_common.c
openair2/ENB_APP/flexran_agent_common.c
+1
-0
openair2/ENB_APP/flexran_agent_common.h
openair2/ENB_APP/flexran_agent_common.h
+7
-7
openair2/ENB_APP/flexran_agent_handler.c
openair2/ENB_APP/flexran_agent_handler.c
+3
-2
openair2/ENB_APP/flexran_agent_ran_api.c
openair2/ENB_APP/flexran_agent_ran_api.c
+15
-5
openair2/ENB_APP/flexran_agent_ran_api.h
openair2/ENB_APP/flexran_agent_ran_api.h
+12
-1
openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c
openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c
+1
-1
openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c
...air2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c
+1
-1
openair2/RRC/LITE/rrc_eNB.c
openair2/RRC/LITE/rrc_eNB.c
+3
-3
No files found.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
View file @
82bbb144
...
...
@@ -32,6 +32,7 @@
#include "flexran_agent_mac_internal.h"
#include "flexran_agent_net_comm.h"
#include "flexran_agent_timer.h"
#include "flexran_agent_ran_api.h"
#include "LAYER2/MAC/proto.h"
#include "LAYER2/MAC/flexran_agent_mac_proto.h"
...
...
@@ -63,7 +64,7 @@ int flexran_agent_mac_stats_reply(mid_t mod_id,
// Protocol__FlexHeader *header;
int
i
,
j
,
k
;
int
cc_id
=
0
;
//
int cc_id = 0;
int
enb_id
=
mod_id
;
/* Allocate memory for list of UE reports */
...
...
@@ -141,11 +142,11 @@ int flexran_agent_mac_stats_reply(mid_t mod_id,
/* Check flag for creation of MAC CE buffer status report */
if
(
report_config
->
ue_report_type
[
i
].
ue_report_flags
&
PROTOCOL__FLEX_UE_STATS_TYPE__FLUST_MAC_CE_BS
)
{
// TODO: Fill in the actual MAC CE buffer status report
ue_report
[
i
]
->
pending_mac_ces
=
(
flexran_get_MAC_CE_bitmap_TA
(
enb_id
,
i
,
0
)
|
(
0
<<
1
)
|
(
0
<<
2
)
|
(
0
<<
3
))
&
15
;
/*
Use as bitmap. Set one or more of the; /* Use as bitmap. Set one or more of the
PROTOCOL__FLEX_CE_TYPE__FLPCET_ values
found in stats_common.pb-c.h. See
flex_ce_type in FlexRAN specification */
ue_report
[
i
]
->
pending_mac_ces
=
(
flexran_get_MAC_CE_bitmap_TA
(
enb_id
,
i
,
0
)
|
(
0
<<
1
)
|
(
0
<<
2
)
|
(
0
<<
3
))
&
15
;
//
Use as bitmap. Set one or more of the; /* Use as bitmap. Set one or more of the
//
PROTOCOL__FLEX_CE_TYPE__FLPCET_ values
//
found in stats_common.pb-c.h. See
// flex_ce_type in FlexRAN specification
ue_report
[
i
]
->
has_pending_mac_ces
=
1
;
}
...
...
@@ -213,7 +214,7 @@ int flexran_agent_mac_stats_reply(mid_t mod_id,
goto
error
;
protocol__flex_csi_p11__init
(
csi11
);
csi11
->
wb_cqi
=
flexran_get_ue_wcqi
(
enb_id
,
i
);
csi11
->
wb_cqi
=
flexran_get_ue_wcqi
(
enb_id
,
i
);
// According To spec 36.213
if
(
flexran_get_antenna_ports
(
enb_id
,
j
)
==
2
&&
csi_reports
[
j
]
->
ri
==
1
)
{
...
...
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
View file @
82bbb144
...
...
@@ -61,12 +61,12 @@ void flexran_agent_init_rrc_agent(mid_t mod_id) {
int
flexran_agent_ue_state_change
(
mid_t
mod_id
,
uint32_t
rnti
,
uint8_t
state_change
)
{
void
flexran_agent_ue_state_change
(
mid_t
mod_id
,
uint32_t
rnti
,
uint8_t
state_change
)
{
int
size
;
Protocol__FlexranMessage
*
msg
;
Protocol__FlexHeader
*
header
;
void
*
data
;
int
priority
;
int
priority
=
0
;
err_code_t
err_code
;
int
xid
=
0
;
...
...
@@ -258,7 +258,7 @@ int flexran_agent_ue_state_change(mid_t mod_id, uint32_t rnti, uint8_t state_cha
LOG_D
(
FLEXRAN_AGENT
,
"sent message with size %d
\n
"
,
size
);
return
;
error:
LOG_
D
(
FLEXRAN_AGENT
,
"Could not send UE state message
\n
"
);
LOG_
E
(
FLEXRAN_AGENT
,
"Could not send UE state message becasue of %d
\n
"
,
err_code
);
}
...
...
@@ -278,10 +278,10 @@ int flexran_agent_destroy_ue_state_change(Protocol__FlexranMessage *msg) {
}
/* this is called by RRC as a part of rrc xface . The controller previously requested this*/
int
flexran_trigger_rrc_measurements
(
mid_t
mod_id
,
MeasResults_t
*
measResults
)
{
void
flexran_trigger_rrc_measurements
(
mid_t
mod_id
,
MeasResults_t
*
measResults
)
{
// int i, m, k;
int
priority
;
int
priority
=
0
;
// Warning Preventing
void
*
data
;
int
size
;
err_code_t
err_code
;
...
...
@@ -618,16 +618,16 @@ int flexran_trigger_rrc_measurements (mid_t mod_id, MeasResults_t* measResults)
LOG_I
(
FLEXRAN_AGENT
,
"RRC Trigger is done
\n
"
);
return
0
;
return
;
error:
LOG_E
(
RRC
,
"Error triggering RRC measurements message!"
);
LOG_E
(
FLEXRAN_AGENT
,
"Could not send UE state message becasue of %d
\n
"
,
err_code
);
/* Free the measurement report received from UE. */
// ASN_STRUCT_FREE(asn_DEF_MeasResults, p->meas);
/* Free the params. */
// free(p);
return
-
1
;
//
return -1;
}
...
...
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.h
View file @
82bbb144
...
...
@@ -41,7 +41,7 @@
#include "flexran.pb-c.h"
#include "stats_messages.pb-c.h"
#include "stats_common.pb-c.h"
#include "MeasResults.h"
#include "flexran_agent_common.h"
#include "flexran_agent_rrc_defs.h"
...
...
@@ -51,7 +51,7 @@
void
flexran_agent_init_rrc_agent
(
mid_t
mod_id
);
/* UE state change message constructor and destructor */
int
flexran_agent_ue_state_change
(
mid_t
mod_id
,
uint32_t
rnti
,
uint8_t
state_change
);
void
flexran_agent_ue_state_change
(
mid_t
mod_id
,
uint32_t
rnti
,
uint8_t
state_change
);
int
flexran_agent_destroy_ue_state_change
(
Protocol__FlexranMessage
*
msg
);
...
...
@@ -63,7 +63,7 @@ int flexran_agent_destroy_ue_state_change(Protocol__FlexranMessage *msg);
// void flexran_agent_send_update_rrc_stats(mid_t mod_id);
/* this is called by RRC as a part of rrc xface . The controller previously requested this*/
int
flexran_trigger_rrc_measurements
(
mid_t
mod_id
,
MeasResults_t
*
);
void
flexran_trigger_rrc_measurements
(
mid_t
mod_id
,
MeasResults_t
*
);
/*Register technology specific interface callbacks*/
int
flexran_agent_register_rrc_xface
(
mid_t
mod_id
,
AGENT_RRC_xface
*
xface
);
...
...
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc_defs.h
View file @
82bbb144
...
...
@@ -38,9 +38,11 @@
#ifndef __FLEXRAN_AGENT_RRC_PRIMITIVES_H__
#define __FLEXRAN_AGENT_RRC_PRIMITIVES_H__
#include "PHY/extern.h"
#include "flexran_agent_defs.h"
#include "flexran.pb-c.h"
#include "header.pb-c.h"
#include "MeasResults.h"
#define RINGBUFFER_SIZE 100
...
...
@@ -55,7 +57,7 @@ typedef struct {
void
(
*
flexran_agent_notify_ue_state_change
)(
mid_t
mod_id
,
uint32_t
rnti
,
uint32_t
state_change
);
void
(
*
flexran_trigger_rrc_measurements
)(
mid_t
mod_id
,
MeasResults_t
*
measResults
)
void
(
*
flexran_trigger_rrc_measurements
)(
mid_t
mod_id
,
MeasResults_t
*
measResults
)
;
}
AGENT_RRC_xface
;
...
...
openair2/ENB_APP/flexran_agent.c
View file @
82bbb144
...
...
@@ -264,7 +264,7 @@ int flexran_agent_start(mid_t mod_id, const Enb_properties_array_t* enb_properti
AGENT_MAC_xface
*
mac_agent_xface
=
(
AGENT_MAC_xface
*
)
malloc
(
sizeof
(
AGENT_MAC_xface
));
flexran_agent_register_mac_xface
(
mod_id
,
mac_agent_xface
);
AGENT_RRC_xface
*
rrc_agent_xface
=
(
AGENT_
MAC_xface
*
)
malloc
(
sizeof
(
AGENT_MA
C_xface
));
AGENT_RRC_xface
*
rrc_agent_xface
=
(
AGENT_
RRC_xface
*
)
malloc
(
sizeof
(
AGENT_RR
C_xface
));
flexran_agent_register_rrc_xface
(
mod_id
,
rrc_agent_xface
);
/*
...
...
openair2/ENB_APP/flexran_agent.h
View file @
82bbb144
...
...
@@ -34,7 +34,10 @@
#include "flexran_agent_extern.h"
#include "flexran_agent_timer.h"
#include "flexran_agent_defs.h"
#include "flexran_agent_net_comm.h"
#include "flexran_agent_ran_api.h"
#include "flexran_agent_mac.h"
#include "flexran_agent_rrc.h"
#include "log.h"
#include "assertions.h"
...
...
openair2/ENB_APP/flexran_agent_common.c
View file @
82bbb144
...
...
@@ -33,6 +33,7 @@
#include "flexran_agent_common_internal.h"
#include "flexran_agent_extern.h"
#include "flexran_agent_net_comm.h"
#include "flexran_agent_ran_api.h"
#include "PHY/extern.h"
#include "log.h"
...
...
openair2/ENB_APP/flexran_agent_common.h
View file @
82bbb144
...
...
@@ -37,7 +37,8 @@
#include "flexran.pb-c.h"
#include "stats_messages.pb-c.h"
#include "stats_common.pb-c.h"
#include "flexran_agent_ran_api.h"
#include "flexran_agent_net_comm.h"
#include "flexran_agent_defs.h"
#include "enb_config.h"
...
...
@@ -156,16 +157,15 @@ int flexran_agent_handle_stats(mid_t mod_id, const void *params, Protocol__Flexr
/* Function to be used to handle reply message . */
int
flexran_agent_stats_reply
(
mid_t
enb_id
,
xid_t
xid
,
const
report_config_t
*
report_config
,
Protocol__FlexranMessage
**
msg
);
/* Statistics request protocol message constructor and destructor */
/*
Top level
Statistics request protocol message constructor and destructor */
int
flexran_agent_stats_request
(
mid_t
mod_id
,
xid_t
xid
,
const
stats_request_config_t
*
report_config
,
Protocol__FlexranMessage
**
msg
);
int
flexran_agent_destroy_stats_request
(
Protocol__FlexranMessage
*
msg
);
int
flexran_agent_stats_request
(
mid_t
mod_id
,
xid_t
xid
,
const
stats_request_config_t
*
report_config
,
Protocol__FlexranMessage
**
msg
);
int
flexran_agent_destroy_stats_request
(
Protocol__FlexranMessage
*
msg
);
err_code_t
flexran_agent_enable_cont_stats_update
(
mid_t
mod_id
,
xid_t
xid
,
stats_request_config_t
*
stats_req
)
;
err_code_t
flexran_agent_init_cont_stats_update
(
mid_t
mod_id
);
void
flexran_agent_send_update_stats
(
mid_t
mod_id
);
int
flexran_agent_stats_request
(
mid_t
mod_id
,
xid_t
xid
,
const
stats_request_config_t
*
report_config
,
Protocol__FlexranMessage
**
msg
)
;
err_code_t
flexran_agent_enable_cont_stats_update
(
mid_t
mod_id
,
xid_t
xid
,
stats_request_config_t
*
stats_req
)
;
#endif
openair2/ENB_APP/flexran_agent_handler.c
View file @
82bbb144
...
...
@@ -31,6 +31,7 @@
#include "flexran_agent_mac.h"
#include "flexran_agent_rrc.h"
#include "flexran_agent_timer.h"
#include "flexran_agent_ran_api.h"
#include "log.h"
#include "assertions.h"
...
...
@@ -96,7 +97,7 @@ Protocol__FlexranMessage* flexran_agent_handle_message (mid_t mod_id,
err_code
=
PROTOCOL__FLEXRAN_ERR__MSG_DECODING
;
goto
error
;
}
printf
(
"==================> %d %d
\n
"
,
decoded_message
->
msg_case
,
decoded_message
->
msg_dir
);
//
printf("==================> %d %d \n", decoded_message->msg_case, decoded_message->msg_dir);
if
((
decoded_message
->
msg_case
>
sizeof
(
agent_messages_callback
)
/
(
3
*
sizeof
(
flexran_agent_message_decoded_callback
)))
||
(
decoded_message
->
msg_dir
>
PROTOCOL__FLEXRAN_DIRECTION__UNSUCCESSFUL_OUTCOME
)){
err_code
=
PROTOCOL__FLEXRAN_ERR__MSG_NOT_HANDLED
;
...
...
@@ -754,4 +755,4 @@ err_code_t flexran_agent_destroy_cont_stats_update(mid_t mod_id) {
// mac_agent_registered[mod_id] = 0;
return
1
;
}
\ No newline at end of file
}
openair2/ENB_APP/flexran_agent_ran_api.c
View file @
82bbb144
...
...
@@ -152,11 +152,21 @@ int flexran_get_ue_wcqi (mid_t mod_id, mid_t ue_id) {
// return ((UE_list_t *)enb_ue[mod_id])->eNB_UE_stats[UE_PCCID(mod_id,ue_id)][ue_id].dl_cqi;
}
int
flexran_get_tx_queue_size
(
mid_t
mod_id
,
mid_t
ue_id
,
logical_chan_id_t
channel_id
)
{
int
flexran_get_tx_queue_size
(
mid_t
mod_id
,
mid_t
ue_id
,
logical_chan_id_t
channel_id
,
char
*
buffer_status
)
{
rnti_t
rnti
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
uint16_t
frame
=
(
uint16_t
)
flexran_get_current_frame
(
mod_id
);
mac_rlc_status_resp_t
rlc_status
=
mac_rlc_status_ind
(
mod_id
,
rnti
,
mod_id
,
frame
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
channel_id
,
0
);
return
rlc_status
.
bytes_in_buffer
;
mac_rlc_status_resp_t
rlc_status
=
mac_rlc_status_ind
(
mod_id
,
rnti
,
mod_id
,
frame
,
ENB_FLAG_YES
,
MBMS_FLAG_NO
,
channel_id
,
0
);
if
(
strcmp
(
buffer_status
,
"bytes_buffer"
)){
return
rlc_status
.
bytes_in_buffer
;
}
else
if
(
strcmp
(
buffer_status
,
"pdu_buffer"
))
{
return
rlc_status
.
pdus_in_buffer
;
}
/* else if (strcmp(buffer_status, "head_line")){ */
/* return rlc_status.head_sdu_remaining_size_to_send; */
/* } */
}
int
flexran_get_hol_delay
(
mid_t
mod_id
,
mid_t
ue_id
,
logical_chan_id_t
channel_id
)
{
...
...
@@ -168,7 +178,7 @@ int flexran_get_hol_delay(mid_t mod_id, mid_t ue_id, logical_chan_id_t channel_i
short
flexran_get_TA
(
mid_t
mod_id
,
mid_t
ue_id
,
int
CC_id
)
{
UE_list_t
*
UE_list
=&
eNB_mac_inst
[
mod_id
].
UE_list
;
//
UE_list_t *UE_list=&eNB_mac_inst[mod_id].UE_list;
int
rnti
;
rnti
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
...
...
@@ -227,7 +237,7 @@ void flexran_update_TA(mid_t mod_id, mid_t ue_id, int CC_id) {
int
flexran_get_MAC_CE_bitmap_TA
(
mid_t
mod_id
,
mid_t
ue_id
,
int
CC_id
)
{
UE_list_t
*
UE_list
=
&
eNB_mac_inst
[
mod_id
].
UE_list
;
//
UE_list_t *UE_list = &eNB_mac_inst[mod_id].UE_list;
rnti_t
rnti
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
LTE_eNB_UE_stats
*
eNB_UE_stats
=
mac_xface
->
get_eNB_UE_stats
(
mod_id
,
CC_id
,
rnti
);
...
...
openair2/ENB_APP/flexran_agent_ran_api.h
View file @
82bbb144
...
...
@@ -89,7 +89,7 @@ int flexran_get_ue_phr (mid_t mod_id, mid_t ue_id);
int
flexran_get_ue_wcqi
(
mid_t
mod_id
,
mid_t
ue_id
);
/* Get the transmission queue size for a UE with a channel_id logical channel id */
int
flexran_get_tx_queue_size
(
mid_t
mod_id
,
mid_t
ue_id
,
logical_chan_id_t
channel_id
);
int
flexran_get_tx_queue_size
(
mid_t
mod_id
,
mid_t
ue_id
,
logical_chan_id_t
channel_id
,
char
*
buffer_status
);
/* Get the head of line delay for a UE with a channel_id logical channel id */
int
flexran_get_hol_delay
(
mid_t
mod_id
,
mid_t
ue_id
,
logical_chan_id_t
channel_id
);
...
...
@@ -198,6 +198,17 @@ int flexran_get_p0_pucch_status(mid_t mod_id, mid_t ue_id, int CC_id);
int
flexran_update_p0_pucch
(
mid_t
mod_id
,
mid_t
ue_id
,
int
CC_id
);
int
flexran_get_hopping_mode
(
mid_t
mod_id
,
int
CC_id
);
int
flexran_get_hopping_offset
(
mid_t
mod_id
,
int
CC_id
);
int
flexran_get_n_SB
(
mid_t
mod_id
,
int
CC_id
);
int
flexran_get_phich_resource
(
mid_t
mod_id
,
int
CC_id
);
int
flexran_get_enable64QAM
(
mid_t
mod_id
,
int
CC_id
);
int
flexran_get_phich_duration
(
mid_t
mod_id
,
int
CC_id
);
/*
* ************************************
...
...
openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c
View file @
82bbb144
...
...
@@ -50,7 +50,7 @@
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "ENB_APP/flexran_agent_defs.h"
#include "flexran_agent_ran_api.h"
#include "pdcp.h"
#include "header.pb-c.h"
...
...
openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue_remote.c
View file @
82bbb144
...
...
@@ -30,7 +30,7 @@
*/
#include "flexran_agent_common_internal.h"
#include "flexran_agent_ran_api.h"
#include "flexran_agent_scheduler_dlsch_ue_remote.h"
#include "LAYER2/MAC/defs.h"
...
...
openair2/RRC/LITE/rrc_eNB.c
View file @
82bbb144
...
...
@@ -2198,10 +2198,10 @@ flexran_rrc_eNB_generate_defaultRRCConnectionReconfiguration(const protocol_ctxt
MeasObjectToAddModList_t
*
MeasObj_list
=
NULL
;
MeasObjectToAddMod_t
*
MeasObj
=
NULL
;
ReportConfigToAddModList_t
*
ReportConfig_list
=
NULL
;
ReportConfigToAddMod_t
*
ReportConfig_per
,
*
ReportConfig_A1
,
*
ReportConfig_A2
,
*
ReportConfig_A3
,
*
ReportConfig_A4
,
*
ReportConfig_A5
;
ReportConfigToAddMod_t
*
ReportConfig_per
;
//
, *ReportConfig_A1,
//
*ReportConfig_A2, *ReportConfig_A3, *ReportConfig_A4, *ReportConfig_A5;
MeasIdToAddModList_t
*
MeasId_list
=
NULL
;
MeasIdToAddMod_t
*
MeasId0
,
*
MeasId1
,
*
MeasId2
,
*
MeasId3
,
*
MeasId4
,
*
MeasId5
;
MeasIdToAddMod_t
*
MeasId0
;
//
, *MeasId1, *MeasId2, *MeasId3, *MeasId4, *MeasId5;
#if Rel10
long
*
sr_ProhibitTimer_r9
=
NULL
;
// uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
...
...
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