Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Li-Wei Liu
openairinterface5G
Commits
924e10f7
Commit
924e10f7
authored
Jul 01, 2019
by
Thomas Laurent
Browse files
fix rfsim ue initial sync and legacy OAI C struct syntax
parent
67293964
Changes
26
Hide whitespace changes
Inline
Side-by-side
cmake_targets/CMakeLists.txt
View file @
924e10f7
...
...
@@ -174,7 +174,7 @@ set(CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -D
${
MKVER
}
"
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
${
C_FLAGS_PROCESSOR
}
-std=c++11 -D
${
MKVER
}
"
"
${
CMAKE_CXX_FLAGS
}
${
C_FLAGS_PROCESSOR
}
-Wno-packed-bitfield-compat -fPIC -Wall -fno-strict-aliasing -rdynamic
-std=c++11 -D
${
MKVER
}
"
)
...
...
@@ -604,7 +604,6 @@ set(HWLIB_TCP_BRIDGE_OAI_SOURCE
add_library
(
tcp_bridge_oai MODULE
${
HWLIB_TCP_BRIDGE_OAI_SOURCE
}
)
set_target_properties
(
tcp_bridge_oai PROPERTIES COMPILE_FLAGS
"-fvisibility=hidden"
)
add_library
(
rfsimulator MODULE
${
OPENAIR_TARGETS
}
/ARCH/rfsimulator/simulator.c
)
##########################################################
...
...
@@ -1986,6 +1985,11 @@ add_library(uescope MODULE ${XFORMS_SOURCE} ${XFORMS_SOURCE_SOFTMODEM} ${XFORMS_
target_link_libraries
(
enbscope
${
XFORMS_LIBRARIES
}
)
target_link_libraries
(
uescope
${
XFORMS_LIBRARIES
}
)
add_library
(
rfsimulator MODULE
${
OPENAIR_TARGETS
}
/ARCH/rfsimulator/simulator.c
)
target_link_libraries
(
rfsimulator SIMU
${
ATLAS_LIBRARIES
}
)
set
(
CMAKE_MODULE_PATH
"
${
OPENAIR_DIR
}
/cmake_targets/tools/MODULES"
"
${
CMAKE_MODULE_PATH
}
"
)
#include T directory even if the T is off because T macros are in the code
...
...
@@ -2029,6 +2033,25 @@ add_definitions(-DASN1_MINIMUM_VERSION=924)
#################################
# add executables for operation
#################################
add_library
(
minimal_lib
${
OPENAIR_DIR
}
/common/utils/backtrace.c
${
OPENAIR_DIR
}
/common/utils/LOG/log.c
${
OPENAIR_DIR
}
/common/config/config_userapi.c
${
OPENAIR_DIR
}
/common/config/config_load_configmodule.c
${
OPENAIR_DIR
}
/common/config/config_cmdline.c
${
OPENAIR_DIR
}
/common/utils/minimal_stub.c
${
T_SOURCE
}
)
target_link_libraries
(
minimal_lib pthread dl
${
T_LIB
}
)
add_executable
(
replay_node
${
OPENAIR_TARGETS
}
/ARCH/rfsimulator/stored_node.c
)
target_link_libraries
(
replay_node minimal_lib
)
add_executable
(
measurement_display
${
OPENAIR_DIR
}
/common/utils/threadPool/measurement_display.c
)
target_link_libraries
(
measurement_display minimal_lib
)
# lte-softmodem is both eNB and UE implementation
###################################################
...
...
common/config/config_userapi.c
View file @
924e10f7
...
...
@@ -450,7 +450,7 @@ int config_setdefault_double(paramdef_t *cfgoptions, char *prefix) {
config_check_valptr
(
cfgoptions
,
(
char
**
)
&
(
cfgoptions
->
dblptr
),
sizeof
(
double
));
if
(
((
cfgoptions
->
paramflags
&
PARAMFLAG_MANDATORY
)
==
0
))
{
*
(
cfgoptions
->
u64
ptr
)
=
cfgoptions
->
defdblval
;
*
(
cfgoptions
->
dbl
ptr
)
=
cfgoptions
->
defdblval
;
status
=
1
;
printf_params
(
"[CONFIG] %s set to default value %lf
\n
"
,
cfgoptions
->
optname
,
*
(
cfgoptions
->
dblptr
));
}
...
...
common/utils/minimal_stub.c
0 → 100644
View file @
924e10f7
int
T_stdout
;
void
exit_function
(
const
char
*
file
,
const
char
*
function
,
const
int
line
,
const
char
*
s
)
{
}
common/utils/simple_executable.h
0 → 100644
View file @
924e10f7
#ifndef __SIMPLE_EXE_H__
#define __SIMPLE_EXE_H__
#ifndef __USE_GNU
#define __USE_GNU
#endif
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
#include <stdio.h>
#include <pthread.h>
#include <sched.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <string.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/time.h>
#include <stdint.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdbool.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
#include <common/utils/assertions.h>
#include <common/utils/LOG/log.h>
#include "common_lib.h"
#ifdef T
#undef T
#define T(...)
#endif
#endif
openair1/PHY/defs_eNB.h
View file @
924e10f7
...
...
@@ -33,7 +33,9 @@
#define __PHY_DEFS_ENB__H__
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
#include <sched.h>
#include <stdio.h>
#include <stdlib.h>
...
...
openair1/PHY/impl_defs_lte_NB_IoT.h
View file @
924e10f7
...
...
@@ -415,7 +415,7 @@ typedef struct {
/// nprach_CP_Length_r13, for the CP length(unit us) only 66.7 and 266.7 is implemented
uint16_t
nprach_CP_Length
;
/// The criterion for UEs to select a NPRACH resource. Up to 2 RSRP threshold values can be signalled. \vr{[1..2]}
struct
rsrp_ThresholdsNPrachInfoList
*
rsrp_ThresholdsPrachInfoList
;
rsrp_ThresholdsNPrachInfoList
*
rsrp_ThresholdsPrachInfoList
;
/// NPRACH Parameters List
NPRACH_List_NB_IoT_t
nprach_ParametersList
;
...
...
openair1/PHY/impl_defs_top.h
View file @
924e10f7
...
...
@@ -282,8 +282,16 @@ typedef struct {
#define cmax(a,b) ((a>b) ? (a) : (b))
#define cmax3(a,b,c) ((cmax(a,b)>c) ? (cmax(a,b)) : (c))
#define cmin(a,b) ((a<b) ? (a) : (b))
#ifdef __cplusplus
#ifdef min
#undef min
#undef max
#endif
#else
#define max(a,b) cmax(a,b)
#define min(a,b) cmin(a,b)
#endif
#ifndef malloc16
# ifdef __AVX2__
...
...
openair2/LAYER2/MAC/config.c
View file @
924e10f7
...
...
@@ -1001,7 +1001,7 @@ void eNB_Config_Local_DRX(
{
UE_list_t
*
UE_list_mac
=
NULL
;
int
UE_id
=
-
1
;
UE_sched_ctrl
*
UE_scheduling_control
=
NULL
;
UE_sched_ctrl
_t
*
UE_scheduling_control
=
NULL
;
UE_list_mac
=
&
(
RC
.
mac
[
Mod_id
]
->
UE_list
);
...
...
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
924e10f7
...
...
@@ -91,7 +91,7 @@ void schedule_SRS(module_id_t module_idP,
eNB_MAC_INST
*
eNB
=
RC
.
mac
[
module_idP
];
UE_list_t
*
UE_list
=
&
(
eNB
->
UE_list
);
nfapi_ul_config_request_body_t
*
ul_req
=
NULL
;
UE_sched_ctrl
*
UE_scheduling_control
=
NULL
;
UE_sched_ctrl
_t
*
UE_scheduling_control
=
NULL
;
COMMON_channels_t
*
cc
=
eNB
->
common_channels
;
LTE_SoundingRS_UL_ConfigCommon_t
*
soundingRS_UL_ConfigCommon
=
NULL
;
struct
LTE_SoundingRS_UL_ConfigDedicated
*
soundingRS_UL_ConfigDedicated
=
NULL
;
...
...
@@ -198,7 +198,7 @@ void schedule_CSI(module_id_t module_idP,
UE_list_t
*
UE_list
=
&
eNB
->
UE_list
;
COMMON_channels_t
*
cc
=
NULL
;
nfapi_ul_config_request_body_t
*
ul_req
=
NULL
;
UE_sched_ctrl
*
UE_scheduling_control
=
NULL
;
UE_sched_ctrl
_t
*
UE_scheduling_control
=
NULL
;
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
cc
=
&
eNB
->
common_channels
[
CC_id
];
...
...
@@ -571,7 +571,7 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP,
eNB_MAC_INST
*
eNB
=
RC
.
mac
[
module_idP
];
UE_list_t
*
UE_list
=
&
(
eNB
->
UE_list
);
COMMON_channels_t
*
cc
=
eNB
->
common_channels
;
UE_sched_ctrl
*
UE_scheduling_control
=
NULL
;
UE_sched_ctrl
_t
*
UE_scheduling_control
=
NULL
;
start_meas
(
&
(
eNB
->
eNB_scheduler
));
...
...
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
View file @
924e10f7
...
...
@@ -480,7 +480,7 @@ schedule_ue_spec(module_id_t module_idP,
eNB_UE_STATS
*
eNB_UE_stats
=
NULL
;
UE_TEMPLATE
*
ue_template
=
NULL
;
eNB_STATS
*
eNB_stats
=
NULL
;
RRC_release_ctrl
*
release_ctrl
=
NULL
;
RRC_release_ctrl
_t
*
release_ctrl
=
NULL
;
DLSCH_PDU
*
dlsch_pdu
=
NULL
;
RA_t
*
ra
=
NULL
;
int
sdu_length_total
=
0
;
...
...
@@ -490,7 +490,7 @@ schedule_ue_spec(module_id_t module_idP,
int
continue_flag
=
0
;
int32_t
normalized_rx_power
,
target_rx_power
;
int
tpc
=
1
;
UE_sched_ctrl
*
ue_sched_ctrl
;
UE_sched_ctrl
_t
*
ue_sched_ctrl
;
int
mcs
;
int
i
;
int
min_rb_unit
[
NFAPI_CC_MAX
];
...
...
@@ -1688,7 +1688,7 @@ dlsch_scheduler_interslice_multiplexing(module_id_t Mod_id,
int
nb_mac_CC
=
RC
.
nb_mac_CC
[
Mod_id
];
UE_list_t
*
UE_list
=
&
eNB
->
UE_list
;
slice_info_t
*
sli
=
&
eNB
->
slice_info
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
COMMON_channels_t
*
cc
;
int
N_RBG
[
NFAPI_CC_MAX
];
int
slice_sorted_list
[
MAX_NUM_SLICES
];
...
...
@@ -1914,7 +1914,7 @@ schedule_ue_spec_br(module_id_t module_idP,
COMMON_channels_t
*
cc
=
mac
->
common_channels
;
UE_list_t
*
UE_list
=
&
mac
->
UE_list
;
UE_TEMPLATE
*
UE_template
=
NULL
;
UE_sched_ctrl
*
ue_sched_ctl
=
NULL
;
UE_sched_ctrl
_t
*
ue_sched_ctl
=
NULL
;
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
=
NULL
;
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
=
NULL
;
nfapi_tx_request_pdu_t
*
TX_req
=
NULL
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
View file @
924e10f7
...
...
@@ -179,7 +179,7 @@ void dlsch_scheduler_pre_ue_select_fairRR(
eNB_MAC_INST
*
eNB
=
RC
.
mac
[
module_idP
];
COMMON_channels_t
*
cc
=
eNB
->
common_channels
;
UE_list_t
*
UE_list
=
&
eNB
->
UE_list
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
uint8_t
CC_id
;
int
UE_id
;
unsigned
char
round
=
0
;
...
...
@@ -585,7 +585,7 @@ void dlsch_scheduler_pre_processor_fairRR (module_id_t Mod_id,
// uint16_t r1=0;
uint8_t
CC_id
;
UE_list_t
*
UE_list
=
&
RC
.
mac
[
Mod_id
]
->
UE_list
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
// int rrc_status = RRC_IDLE;
COMMON_channels_t
*
cc
;
#ifdef TM5
...
...
@@ -596,7 +596,7 @@ void dlsch_scheduler_pre_processor_fairRR (module_id_t Mod_id,
rnti_t
rnti1
,
rnti2
;
LTE_eNB_UE_stats
*
eNB_UE_stats1
=
NULL
;
LTE_eNB_UE_stats
*
eNB_UE_stats2
=
NULL
;
UE_sched_ctrl
*
ue_sched_ctl1
,
*
ue_sched_ctl2
;
UE_sched_ctrl
_t
*
ue_sched_ctl1
,
*
ue_sched_ctl2
;
#endif
memset
(
rballoc_sub
[
0
],
0
,(
MAX_NUM_CCs
)
*
(
N_RBG_MAX
)
*
sizeof
(
unsigned
char
));
memset
(
min_rb_unit
,
0
,
sizeof
(
min_rb_unit
));
...
...
@@ -828,7 +828,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
int32_t
normalized_rx_power
,
target_rx_power
;
int32_t
tpc
=
1
;
static
int32_t
tpc_accumulated
=
0
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
int
mcs
;
int
i
;
int
min_rb_unit
[
MAX_NUM_CCs
];
...
...
@@ -1968,7 +1968,7 @@ void ulsch_scheduler_pre_ue_select_fairRR(
uint8_t
ulsch_ue_max_num
[
MAX_NUM_CCs
];
uint16_t
saved_ulsch_dci
[
MAX_NUM_CCs
];
rnti_t
rnti
;
UE_sched_ctrl
*
UE_sched_ctl
=
NULL
;
UE_sched_ctrl
_t
*
UE_sched_ctl
=
NULL
;
uint8_t
cc_id_flag
[
MAX_NUM_CCs
];
uint8_t
harq_pid
=
0
,
round
=
0
;
UE_list_t
*
UE_list
=
&
eNB
->
UE_list
;
...
...
@@ -2627,7 +2627,7 @@ void schedule_ulsch_rnti_fairRR(module_id_t module_idP,
COMMON_channels_t
*
cc
;
UE_list_t
*
UE_list
=&
eNB
->
UE_list
;
UE_TEMPLATE
*
UE_template
;
UE_sched_ctrl
*
UE_sched_ctrl
;
UE_sched_ctrl
_t
*
UE_sched_ctrl
;
int
sched_frame
=
frameP
;
int
rvidx_tab
[
4
]
=
{
0
,
2
,
3
,
1
};
uint16_t
ul_req_index
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
View file @
924e10f7
...
...
@@ -208,7 +208,7 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
COMMON_channels_t
*
cc
=
&
mac
->
common_channels
[
0
];
UE_list_t
*
UE_list
=&
mac
->
UE_list
;
UE_TEMPLATE
*
UE_template
;
UE_sched_ctrl
*
UE_sched_ctrl
;
UE_sched_ctrl
_t
*
UE_sched_ctrl
;
int
sched_frame
=
frameP
;
int
sched_subframe
=
(
subframeP
+
4
)
%
10
;
uint16_t
ul_req_index
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
924e10f7
...
...
@@ -1073,7 +1073,7 @@ get_dl_cqi_pmi_size_pusch(COMMON_channels_t *cc,
//------------------------------------------------------------------------------
uint8_t
get_rel8_dl_cqi_pmi_size
(
UE_sched_ctrl
*
sched_ctl
,
get_rel8_dl_cqi_pmi_size
(
UE_sched_ctrl
_t
*
sched_ctl
,
int
CC_idP
,
COMMON_channels_t
*
cc
,
uint8_t
tmode
,
...
...
@@ -2182,7 +2182,7 @@ add_new_ue(module_id_t mod_idP,
#endif
memset
((
void
*
)
&
UE_list
->
UE_sched_ctrl
[
UE_id
],
0
,
sizeof
(
UE_sched_ctrl
));
sizeof
(
UE_sched_ctrl
_t
));
memset
((
void
*
)
&
UE_list
->
eNB_UE_stats
[
cc_idP
][
UE_id
],
0
,
sizeof
(
eNB_UE_STATS
));
...
...
@@ -2520,7 +2520,7 @@ UE_is_to_be_scheduled(module_id_t module_idP,
//------------------------------------------------------------------------------
{
UE_TEMPLATE
*
UE_template
=
&
RC
.
mac
[
module_idP
]
->
UE_list
.
UE_template
[
CC_id
][
UE_id
];
UE_sched_ctrl
*
UE_sched_ctl
=
&
RC
.
mac
[
module_idP
]
->
UE_list
.
UE_sched_ctrl
[
UE_id
];
UE_sched_ctrl
_t
*
UE_sched_ctl
=
&
RC
.
mac
[
module_idP
]
->
UE_list
.
UE_sched_ctrl
[
UE_id
];
// do not schedule UE if UL is not working
if
(
UE_sched_ctl
->
ul_failure_timer
>
0
||
UE_sched_ctl
->
ul_out_of_sync
>
0
)
...
...
@@ -3928,7 +3928,7 @@ extract_harq(module_id_t mod_idP,
{
eNB_MAC_INST
*
eNB
=
RC
.
mac
[
mod_idP
];
UE_list_t
*
UE_list
=
&
eNB
->
UE_list
;
UE_sched_ctrl
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
UE_sched_ctrl
_t
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
rnti_t
rnti
=
UE_RNTI
(
mod_idP
,
UE_id
);
COMMON_channels_t
*
cc
=
&
eNB
->
common_channels
[
CC_idP
];
nfapi_harq_indication_fdd_rel13_t
*
harq_indication_fdd
;
...
...
@@ -4573,7 +4573,7 @@ extract_pucch_csi(module_id_t mod_idP,
//------------------------------------------------------------------------------
{
UE_list_t
*
UE_list
=
&
RC
.
mac
[
mod_idP
]
->
UE_list
;
UE_sched_ctrl
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
UE_sched_ctrl
_t
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
COMMON_channels_t
*
cc
=
&
RC
.
mac
[
mod_idP
]
->
common_channels
[
CC_idP
];
int
no_pmi
;
uint8_t
Ltab
[
6
]
=
{
0
,
2
,
4
,
4
,
4
,
4
};
...
...
@@ -4685,7 +4685,7 @@ extract_pusch_csi(module_id_t mod_idP,
{
UE_list_t
*
UE_list
=
&
RC
.
mac
[
mod_idP
]
->
UE_list
;
COMMON_channels_t
*
cc
=
&
RC
.
mac
[
mod_idP
]
->
common_channels
[
CC_idP
];
UE_sched_ctrl
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
UE_sched_ctrl
_t
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
int
Ntab
[
6
]
=
{
0
,
4
,
7
,
9
,
10
,
13
};
int
Ntab_uesel
[
6
]
=
{
0
,
8
,
13
,
17
,
19
,
25
};
int
Ltab_uesel
[
6
]
=
{
0
,
6
,
9
,
13
,
15
,
18
};
...
...
@@ -4980,7 +4980,7 @@ cqi_indication(module_id_t mod_idP,
return
;
}
UE_sched_ctrl
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
UE_sched_ctrl
_t
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
if
(
UE_id
>=
0
)
{
LOG_D
(
MAC
,
"%s() UE_id:%d channel:%d cqi:%d
\n
"
,
...
...
@@ -5047,7 +5047,7 @@ SR_indication(module_id_t mod_idP,
T_INT
(
rntiP
));
int
UE_id
=
find_UE_id
(
mod_idP
,
rntiP
);
UE_list_t
*
UE_list
=
&
RC
.
mac
[
mod_idP
]
->
UE_list
;
UE_sched_ctrl
*
UE_scheduling_ctrl
=
NULL
;
UE_sched_ctrl
_t
*
UE_scheduling_ctrl
=
NULL
;
if
(
UE_id
!=
-
1
)
{
UE_scheduling_ctrl
=
&
(
UE_list
->
UE_sched_ctrl
[
UE_id
]);
...
...
@@ -5178,7 +5178,7 @@ harq_indication(module_id_t mod_idP,
}
UE_list_t
*
UE_list
=
&
RC
.
mac
[
mod_idP
]
->
UE_list
;
UE_sched_ctrl
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
UE_sched_ctrl
_t
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
COMMON_channels_t
*
cc
=
&
RC
.
mac
[
mod_idP
]
->
common_channels
[
CC_idP
];
// extract HARQ Information
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
924e10f7
...
...
@@ -121,7 +121,7 @@ rx_sdu(const module_id_t enb_mod_idP,
eNB_MAC_INST
*
mac
=
NULL
;
UE_list_t
*
UE_list
=
NULL
;
rrc_eNB_ue_context_t
*
ue_contextP
=
NULL
;
UE_sched_ctrl
*
UE_scheduling_control
=
NULL
;
UE_sched_ctrl
_t
*
UE_scheduling_control
=
NULL
;
UE_TEMPLATE
*
UE_template_ptr
=
NULL
;
/* Init */
...
...
@@ -1340,7 +1340,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
UE_list_t
*
UE_list
=
NULL
;
slice_info_t
*
sli
=
NULL
;
UE_TEMPLATE
*
UE_template_ptr
=
NULL
;
UE_sched_ctrl
*
UE_sched_ctrl_ptr
=
NULL
;
UE_sched_ctrl
_t
*
UE_sched_ctrl_ptr
=
NULL
;
int
rvidx_tab
[
4
]
=
{
0
,
2
,
3
,
1
};
int
first_rb_slice
[
NFAPI_CC_MAX
];
int
n_rb_ul_tab
[
NFAPI_CC_MAX
];
...
...
@@ -1954,7 +1954,7 @@ void schedule_ulsch_rnti_emtc(module_id_t module_idP,
COMMON_channels_t
*
cc
=
eNB
->
common_channels
;
UE_list_t
*
UE_list
=
&
(
eNB
->
UE_list
);
UE_TEMPLATE
*
UE_template
=
NULL
;
UE_sched_ctrl
*
UE_sched_ctrl
=
NULL
;
UE_sched_ctrl
_t
*
UE_sched_ctrl
=
NULL
;
if
(
sched_subframeP
<
subframeP
)
{
sched_frame
++
;
...
...
openair2/LAYER2/MAC/mac.h
View file @
924e10f7
...
...
@@ -1070,7 +1070,7 @@ typedef struct {
/// DRX UL retransmission timer, one per UL HARQ process
/* Not implemented yet */
/* End of C-DRX related timers */
}
UE_sched_ctrl
;
}
UE_sched_ctrl
_t
;
/*! \brief eNB template for the Random access information */
typedef
struct
{
...
...
@@ -1168,7 +1168,7 @@ typedef struct {
/// eNB to UE statistics
eNB_UE_STATS
eNB_UE_stats
[
NFAPI_CC_MAX
][
MAX_MOBILES_PER_ENB
];
/// scheduling control info
UE_sched_ctrl
UE_sched_ctrl
[
MAX_MOBILES_PER_ENB
];
UE_sched_ctrl
_t
UE_sched_ctrl
[
MAX_MOBILES_PER_ENB
];
int
next
[
MAX_MOBILES_PER_ENB
];
int
head
;
int
next_ul
[
MAX_MOBILES_PER_ENB
];
...
...
@@ -1191,11 +1191,11 @@ typedef struct {
rnti_t
rnti
;
///remove UE context flag
boolean_t
removeContextFlg
;
}
UE_free_ctrl
;
}
UE_free_ctrl
_t
;
/*! \brief REMOVE UE list used by eNB to order UEs/CC for deleting*/
typedef
struct
{
/// deleting control info
UE_free_ctrl
UE_free_ctrl
[
NUMBER_OF_UE_MAX
+
1
];
UE_free_ctrl
_t
UE_free_ctrl
[
NUMBER_OF_UE_MAX
+
1
];
int
num_UEs
;
int
head_freelist
;
///the head position of the delete list
int
tail_freelist
;
///the tail position of the delete list
...
...
@@ -1772,11 +1772,11 @@ typedef struct {
volatile
uint8_t
flag
;
rnti_t
rnti
;
mui_t
rrc_eNB_mui
;
}
RRC_release_ctrl
;
}
RRC_release_ctrl
_t
;
typedef
struct
{
uint16_t
num_UEs
;
RRC_release_ctrl
RRC_release_ctrl
[
NUMBER_OF_UE_MAX
];
RRC_release_ctrl
_t
RRC_release_ctrl
[
NUMBER_OF_UE_MAX
];
}
RRC_release_list_t
;
typedef
struct
{
...
...
openair2/LAYER2/MAC/mac_proto.h
View file @
924e10f7
...
...
@@ -1160,7 +1160,7 @@ void get_csi_params(COMMON_channels_t * cc,
struct
LTE_CQI_ReportPeriodic
*
cqi_PMI_ConfigIndex
,
uint16_t
*
Npd
,
uint16_t
*
N_OFFSET_CQI
,
int
*
H
);
uint8_t
get_rel8_dl_cqi_pmi_size
(
UE_sched_ctrl
*
sched_ctl
,
int
CC_idP
,
uint8_t
get_rel8_dl_cqi_pmi_size
(
UE_sched_ctrl
_t
*
sched_ctl
,
int
CC_idP
,
COMMON_channels_t
*
cc
,
uint8_t
tmode
,
struct
LTE_CQI_ReportPeriodic
*
cqi_ReportPeriodic
);
...
...
openair2/LAYER2/MAC/pre_processor.c
View file @
924e10f7
...
...
@@ -505,7 +505,7 @@ void sort_UEs(module_id_t Mod_idP,
int
list_size
=
0
;
struct
sort_ue_dl_params
params
=
{
Mod_idP
,
frameP
,
subframeP
,
slice_idx
};
UE_list_t
*
UE_list
=
&
(
RC
.
mac
[
Mod_idP
]
->
UE_list
);
UE_sched_ctrl
*
UE_scheduling_control
=
NULL
;
UE_sched_ctrl
_t
*
UE_scheduling_control
=
NULL
;
for
(
int
i
=
0
;
i
<
MAX_MOBILES_PER_ENB
;
i
++
)
{
...
...
@@ -546,7 +546,7 @@ void dlsch_scheduler_pre_processor_partitioning(module_id_t Mod_id,
const
uint8_t
rbs_retx
[
NFAPI_CC_MAX
])
{
int
UE_id
,
CC_id
,
N_RB_DL
,
i
;
UE_list_t
*
UE_list
=
&
RC
.
mac
[
Mod_id
]
->
UE_list
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
uint16_t
available_rbs
;
for
(
UE_id
=
UE_list
->
head
;
UE_id
>=
0
;
UE_id
=
UE_list
->
next
[
UE_id
])
{
...
...
@@ -590,7 +590,7 @@ void dlsch_scheduler_pre_processor_accounting(module_id_t Mod_id,
int
ue_count_retx
[
NFAPI_CC_MAX
];
//uint8_t ue_retx_flag[NFAPI_CC_MAX][MAX_MOBILES_PER_ENB];
UE_list_t
*
UE_list
=
&
RC
.
mac
[
Mod_id
]
->
UE_list
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
COMMON_channels_t
*
cc
;
// Reset
...
...
@@ -1226,7 +1226,7 @@ dlsch_scheduler_pre_processor(module_id_t Mod_id,
uint8_t
(
*
MIMO_mode_indicator
)[
N_RBG_MAX
]
=
sli
->
pre_processor_results
[
slice_idx
].
MIMO_mode_indicator
;
UE_list_t
*
UE_list
=
&
eNB
->
UE_list
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
// int rrc_status = RRC_IDLE;
#ifdef TM5
int
harq_pid1
=
0
;
...
...
@@ -1236,7 +1236,7 @@ dlsch_scheduler_pre_processor(module_id_t Mod_id,
rnti_t
rnti1
,
rnti2
;
LTE_eNB_UE_stats
*
eNB_UE_stats1
=
NULL
;
LTE_eNB_UE_stats
*
eNB_UE_stats2
=
NULL
;
UE_sched_ctrl
*
ue_sched_ctl1
,
*
ue_sched_ctl2
;
UE_sched_ctrl
_t
*
ue_sched_ctl1
,
*
ue_sched_ctl2
;
#endif
// Initialize scheduling information for all active UEs
memset
(
&
sli
->
pre_processor_results
[
slice_idx
],
0
,
sizeof
(
sli
->
pre_processor_results
[
slice_idx
]));
...
...
@@ -1391,7 +1391,7 @@ dlsch_scheduler_pre_processor_reset(module_id_t module_idP,
uint8_t
CC_id
;
int
i
,
j
;
UE_list_t
*
UE_list
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
int
N_RB_DL
,
RBGsize
,
RBGsize_last
;
int
N_RBG
[
NFAPI_CC_MAX
];
#ifdef SF0_LIMIT
...
...
@@ -1615,7 +1615,7 @@ dlsch_scheduler_pre_processor_allocate(module_id_t Mod_id,
int
i
;
int
tm
=
get_tmode
(
Mod_id
,
CC_id
,
UE_id
);
UE_list_t
*
UE_list
=
&
RC
.
mac
[
Mod_id
]
->
UE_list
;
UE_sched_ctrl
*
ue_sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
UE_sched_ctrl
_t
*
ue_sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
int
N_RB_DL
=
to_prb
(
RC
.
mac
[
Mod_id
]
->
common_channels
[
CC_id
].
mib
->
message
.
dl_Bandwidth
);
for
(
i
=
0
;
i
<
N_RBG
;
i
++
)
{
...
...
@@ -1685,7 +1685,7 @@ void ulsch_scheduler_pre_processor(module_id_t module_idP,
UE_list_t
*
UE_list
=
&
eNB
->
UE_list
;
slice_info_t
*
sli
=
&
eNB
->
slice_info
;
UE_TEMPLATE
*
UE_template
=
0
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
int
N_RB_UL
=
0
;
uint16_t
available_rbs
,
first_rb_offset
;
rnti_t
rntiTable
[
MAX_MOBILES_PER_ENB
];
...
...
@@ -1865,7 +1865,7 @@ assign_max_mcs_min_rb(module_id_t module_idP,
UE_list_t
*
UE_list
=
&
eNB
->
UE_list
;
slice_info_t
*
sli
=
&
eNB
->
slice_info
;
UE_TEMPLATE
*
UE_template
;
UE_sched_ctrl
*
ue_sched_ctl
;
UE_sched_ctrl
_t
*
ue_sched_ctl
;
int
Ncp
;
int
N_RB_UL
;
int
first_rb_offset
,
available_rbs
;
...
...
@@ -2042,7 +2042,7 @@ void sort_ue_ul(module_id_t module_idP,
int
list_size
=
0
;
struct
sort_ue_ul_params
params
=
{
module_idP
,
sched_frameP
,
sched_subframeP
};
UE_list_t
*
UE_list
=
&
RC
.
mac
[
module_idP
]
->
UE_list
;
UE_sched_ctrl
*
UE_scheduling_control
=
NULL
;
UE_sched_ctrl
_t
*
UE_scheduling_control
=
NULL
;
for
(
int
i
=
0
;
i
<
MAX_MOBILES_PER_ENB
;
i
++
)
{
...
...
openair2/RRC/LTE/rrc_eNB.c
View file @
924e10f7
...
...
@@ -5814,7 +5814,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
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
;
}
UE_sched_ctrl
*
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
]);
if
(
UE_scheduling_control
->
cdrx_waiting_ack
==
TRUE
)
{
UE_scheduling_control
->
cdrx_waiting_ack
=
FALSE
;
...
...
targets/ARCH/COMMON/common_lib.c
View file @
924e10f7
...
...
@@ -42,35 +42,35 @@
int
set_device
(
openair0_device
*
device
)
{
switch
(
device
->
type
)
{
case
EXMIMO_DEV
:
printf
(
"[%s] has loaded EXPRESS MIMO device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_I
(
HW
,
"[%s] has loaded EXPRESS MIMO device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
break
;
case
USRP_B200_DEV
:
printf
(
"[%s] has loaded USRP B200 device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_I
(
HW
,
"[%s] has loaded USRP B200 device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
break
;
case
USRP_X300_DEV
:
printf
(
"[%s] has loaded USRP X300 device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_I
(
HW
,
"[%s] has loaded USRP X300 device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
break
;
case
BLADERF_DEV
:
printf
(
"[%s] has loaded BLADERF device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_I
(
HW
,
"[%s] has loaded BLADERF device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
break
;
case
LMSSDR_DEV
:
printf
(
"[%s] has loaded LMSSDR device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_I
(
HW
,
"[%s] has loaded LMSSDR device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
break
;
case
IRIS_DEV
:
printf
(
"[%s] has loaded Iris device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_I
(
HW
,
"[%s] has loaded Iris device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
break
;
case
NONE_DEV
:
printf
(
"[%s] has not loaded a HW device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_I
(
HW
,
"[%s] has not loaded a HW device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
break
;
default:
printf
(
"[%s] invalid HW device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_E
(
HW
,
"[%s] invalid HW device.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
return
-
1
;
}
...
...
@@ -90,7 +90,7 @@ int set_transport(openair0_device *device) {
break
;
default:
printf
(
"[%s] invalid transport protocol.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
LOG_E
(
HW
,
"[%s] invalid transport protocol.
\n
"
,((
device
->
host_type
==
RAU_HOST
)
?
"RAU"
:
"RRU"
));
return
-
1
;
break
;
}
...
...
@@ -119,7 +119,7 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
ret
=
load_module_shlib
(
libname
,
shlib_fdesc
,
1
,
NULL
);
if
(
ret
<
0
)
{
fprintf
(
stderr
,
"Library %s couldn't be loaded
\n
"
,
libname
);
LOG_E
(
HW
,
"Library %s couldn't be loaded
\n
"
,
libname
);
}
else
{
ret
=
((
devfunc_t
)
shlib_fdesc
[
0
].
fptr
)(
device
,
openair0_cfg
,
cfg
);
}
...
...
@@ -135,7 +135,7 @@ int openair0_device_load(openair0_device *device, openair0_config_t *openair0_cf
if
(
rc
>=
0
)
{