Skip to content
GitLab
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
b6296d8d
Commit
b6296d8d
authored
Mar 01, 2019
by
Raphael Defosseux
Browse files
Merge branch 'develop_integration_2019_w09' into 'develop'
Develop integration 2019 week 09 See merge request
oai/openairinterface5g!522
parents
831044de
0f11865f
Changes
61
Expand all
Hide whitespace changes
Inline
Side-by-side
ci-scripts/runTestOnVM.sh
View file @
b6296d8d
...
...
@@ -112,7 +112,7 @@ function start_basic_sim_ue {
rm
$1
local
i
=
"0"
echo
"ifconfig o
ip
1 | egrep -c
\"
inet addr
\"
"
>
$1
echo
"ifconfig o
aitun_ue
1 | egrep -c
\"
inet addr
\"
"
>
$1
while
[
$i
-lt
10
]
do
sleep
5
...
...
@@ -134,7 +134,7 @@ function start_basic_sim_ue {
}
function
get_ue_ip_addr
{
echo
"ifconfig o
ip
1 | egrep
\"
inet addr
\"
| sed -e 's#^.*inet addr:##' -e 's# P-t-P:.*
\$
##'"
>
$1
echo
"ifconfig o
aitun_ue
1 | egrep
\"
inet addr
\"
| sed -e 's#^.*inet addr:##' -e 's# P-t-P:.*
\$
##'"
>
$1
UE_IP_ADDR
=
`
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$2
<
$1
`
echo
"UE IP Address for EPC is :
$UE_IP_ADDR
"
rm
$1
...
...
@@ -149,9 +149,9 @@ function ping_ue_ip_addr {
}
function
ping_epc_ip_addr
{
echo
"echo
\"
COMMAND IS: ping -I o
ip
1 -c 20
$3
\"
>
$4
"
>
$1
echo
"echo
\"
COMMAND IS: ping -I o
aitun_ue
1 -c 20
$3
\"
>
$4
"
>
$1
echo
"rm -f
$4
"
>>
$1
echo
"ping -I o
ip
1 -c 20
$3
| tee -a
$4
"
>>
$1
echo
"ping -I o
aitun_ue
1 -c 20
$3
| tee -a
$4
"
>>
$1
cat
$1
ssh
-o
StrictHostKeyChecking
=
no ubuntu@
$2
<
$1
rm
-f
$1
...
...
@@ -618,9 +618,9 @@ function start_l2_sim_ue {
UE_SYNC
=
1
echo
"L2-SIM UE is sync'ed w/ eNB"
fi
# Checking o
ip
1 interface has now an IP address
# Checking o
aitun_ue
1 interface has now an IP address
i
=
"0"
echo
"ifconfig o
ip
1 | egrep -c
\"
inet addr
\"
"
>
$1
echo
"ifconfig o
aitun_ue
1 | egrep -c
\"
inet addr
\"
"
>
$1
while
[
$i
-lt
10
]
do
sleep
5
...
...
@@ -636,10 +636,10 @@ function start_l2_sim_ue {
if
[
$i
-lt
50
]
then
UE_SYNC
=
0
echo
"L2-SIM UE o
ip
1 is NOT sync'ed w/ EPC"
echo
"L2-SIM UE o
aitun_ue
1 is NOT sync'ed w/ EPC"
else
UE_SYNC
=
1
echo
"L2-SIM UE o
ip
1 is sync'ed w/ EPC"
echo
"L2-SIM UE o
aitun_ue
1 is sync'ed w/ EPC"
fi
sleep
10
}
...
...
cmake_targets/CMakeLists.txt
View file @
b6296d8d
...
...
@@ -250,7 +250,7 @@ add_boolean_option(UE_DEBUG_TRACE False "Activate UE debug trace")
add_boolean_option
(
UE_TIMING_TRACE False
"Activate UE timing trace"
)
add_boolean_option
(
DISABLE_LOG_X False
"Deactivate all LOG_* macros"
)
add_boolean_option
(
USRP_REC_PLAY False
"Enable USRP record playback mode"
)
add_boolean_option
(
UE_NAS_USE_TUN False
"Enable UE NAS TUN device instead of ue_ip.ko"
)
#
add_boolean_option(UE_NAS_USE_TUN False "Enable UE NAS TUN device instead of ue_ip.ko")
add_boolean_option
(
BASIC_SIMULATOR False
"Has to be True when building the basic simulator, False otherwise"
)
add_boolean_option
(
DEBUG_CONSOLE False
"makes debugging easier, disables stdout/stderr buffering"
)
...
...
@@ -595,7 +595,6 @@ Message("CPU_Affinity flag is ${CPU_AFFINITY}")
##############################################################
# ???!!! TO BE DOCUMENTED OPTIONS !!!???
##############################################################
add_boolean_option
(
ENABLE_SECURITY True
"Enable LTE integrity and ciphering between RRC UE and eNB"
)
add_boolean_option
(
ENABLE_USE_MME True
"eNB connected to MME (INTERFACE S1-C), not standalone eNB"
)
add_boolean_option
(
NO_RRM True
"DO WE HAVE A RADIO RESSOURCE MANAGER: NO"
)
add_boolean_option
(
RRC_DEFAULT_RAB_IS_AM False
"set the RLC mode to AM for the default bearer"
)
...
...
@@ -693,10 +692,10 @@ add_boolean_option(TRACE_RLC_UM_TX_STATUS False "TRACE for RLC UM, TO BE CHANGE
##########################
# PDCP LAYER OPTIONS
##########################
add_boolean_option
(
PDCP_USE_NETLINK False
"For eNB, PDCP communicate with a NETLINK socket if connected to network driver, else could use a RT-FIFO"
)
add_boolean_option
(
PDCP_USE_NETLINK_QUEUES False
"When PDCP_USE_NETLINK is true, incoming IP packets are stored in queues"
)
add_boolean_option
(
LINK_ENB_PDCP_TO_IP_DRIVER False
"For eNB, PDCP communicate with a IP driver"
)
add_boolean_option
(
LINK_ENB_PDCP_TO_GTPV1U True
"For eNB, PDCP communicate with GTP-U protocol (eNB<->S-GW)"
)
#
add_boolean_option(PDCP_USE_NETLINK False "For eNB, PDCP communicate with a NETLINK socket if connected to network driver, else could use a RT-FIFO")
#
add_boolean_option(PDCP_USE_NETLINK_QUEUES False "When PDCP_USE_NETLINK is true, incoming IP packets are stored in queues")
#
add_boolean_option(LINK_ENB_PDCP_TO_IP_DRIVER False "For eNB, PDCP communicate with a IP driver")
#
add_boolean_option(LINK_ENB_PDCP_TO_GTPV1U True "For eNB, PDCP communicate with GTP-U protocol (eNB<->S-GW)")
##########################
# RRC LAYER OPTIONS
...
...
@@ -1994,26 +1993,29 @@ add_executable(lte-softmodem-nos1
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/netlink_init.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/multicast_link.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/socket.c
${
OPENAIR_DIR
}
/common/utils/utils.c
${
OPENAIR_DIR
}
/common/utils/system.c
${
GTPU_need_ITTI
}
${
XFORMS_SOURCE
}
${
XFORMS_SOURCE_SOFTMODEM
}
${
T_SOURCE
}
${
CONFIG_SOURCES
}
${
SHLIB_LOADER_SOURCES
}
)
add_dependencies
(
lte-softmodem-nos1 rrc_flag s1ap_flag x2_flag
)
target_link_libraries
(
lte-softmodem-nos1
-Wl,--start-group
RRC_LIB SECU_CN SECU_OSA UTIL HASHTABLE SCHED_LIB SCHED_RU_LIB PHY_COMMON PHY PHY_RU LFDS L2
${
RAL_LIB
}
${
ITTI_LIB
}
${
MI
H
_LIB
}
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
${
FLEXRAN_AGENT_LIB
}
LFDS7
RRC_LIB
S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB GTPV1U
SECU_CN SECU_OSA UTIL HASHTABLE
SCTP_CLIENT UDP
SCHED_LIB SCHED_RU_LIB PHY_COMMON PHY PHY_RU LFDS L2
${
M
SC_LIB
}
${
RAL_LIB
}
${
NAS_UE_LIB
}
${
ITT
I_LIB
}
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
${
FLEXRAN_AGENT_LIB
}
LFDS7
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
-Wl,--end-group z dl
)
-Wl,--end-group z dl
)
target_link_libraries
(
lte-softmodem-nos1
${
LIBXML2_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
XFORMS_LIBRARIES
}
${
PROTOBUF_LIB
}
${
CMAKE_DL_LIBS
}
${
LIBYAML_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1
${
LIB_LMS_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
XFORMS_LIBRARIES
}
${
PROTOBUF_LIB
}
${
CMAKE_DL_LIBS
}
${
LIBYAML_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1
${
LIB_LMS_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1
${
T_LIB
}
)
# lte-uesoftmodem is UE implementation
#######################################
...
...
@@ -2027,6 +2029,8 @@ add_executable(lte-uesoftmodem
${
OPENAIR1_DIR
}
/SIMULATION/TOOLS/taus.c
${
OPENAIR_TARGETS
}
/COMMON/create_tasks_ue.c
${
OPENAIR_TARGETS
}
/ARCH/COMMON/common_lib.c
${
OPENAIR2_DIR
}
/RRC/NAS/nas_config.c
${
OPENAIR2_DIR
}
/RRC/NAS/rb_config.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/netlink_init.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/multicast_link.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/socket.c
...
...
@@ -2070,6 +2074,7 @@ add_executable(lte-uesoftmodem-nos1
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/netlink_init.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/multicast_link.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/socket.c
${
OPENAIR3_DIR
}
/NAS/UE/nas_ue_task.c
${
OPENAIR_DIR
}
/common/utils/utils.c
${
OPENAIR_DIR
}
/common/utils/system.c
${
XFORMS_SOURCE
}
...
...
@@ -2080,18 +2085,18 @@ add_executable(lte-uesoftmodem-nos1
)
add_dependencies
(
lte-uesoftmodem-nos1 rrc_flag s1ap_flag x2_flag
)
target_link_libraries
(
lte-uesoftmodem-nos1
-Wl,--start-group
RRC_LIB SECU_CN SECU_OSA UTIL HASHTABLE SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_UE PHY_RU LFDS L2_UE SIMU
${
RAL_LIB
}
${
ITTI_LIB
}
${
MI
H
_LIB
}
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
LFDS7
${
ATLAS_LIBRARIES
}
RRC_LIB
S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB GTPV1U
SECU_CN SECU_OSA UTIL HASHTABLE
SCTP_CLIENT UDP
SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_UE PHY_RU LFDS L2_UE SIMU
${
M
SC_LIB
}
${
RAL_LIB
}
${
NAS_UE_LIB
}
${
ITT
I_LIB
}
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
LFDS7
${
ATLAS_LIBRARIES
}
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
-Wl,--end-group z dl
)
-Wl,--end-group z dl
)
target_link_libraries
(
lte-uesoftmodem-nos1
${
LIBXML2_LIBRARIES
}
)
target_link_libraries
(
lte-uesoftmodem-nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
XFORMS_LIBRARIES
}
${
PROTOBUF_LIB
}
${
CMAKE_DL_LIBS
}
${
LIBYAML_LIBRARIES
}
${
ATLAS_LIBRARIES
}
)
target_link_libraries
(
lte-uesoftmodem-nos1
${
LIB_LMS_LIBRARIES
}
)
target_link_libraries
(
lte-uesoftmodem-nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
XFORMS_LIBRARIES
}
${
PROTOBUF_LIB
}
${
CMAKE_DL_LIBS
}
${
LIBYAML_LIBRARIES
}
${
ATLAS_LIBRARIES
}
)
target_link_libraries
(
lte-uesoftmodem-nos1
${
LIB_LMS_LIBRARIES
}
)
target_link_libraries
(
lte-uesoftmodem-nos1
${
T_LIB
}
)
# USIM process
#################
#add_executable(usim
...
...
cmake_targets/build_oai
View file @
b6296d8d
...
...
@@ -547,9 +547,9 @@ function main() {
mkdir
-p
$DIR
/
$lte_build_dir
/build
cmake_file
=
$DIR
/
$lte_build_dir
/CMakeLists.txt
echo
"cmake_minimum_required(VERSION 2.8)"
>
$cmake_file
if
[
"
$NOS1
"
=
"1"
]
;
then
cat
$DIR
/
$lte_build_dir
/CMakeLists.template
>>
$cmake_file
fi
#
if [ "$NOS1" = "1" ] ; then
#
cat $DIR/$lte_build_dir/CMakeLists.template >> $cmake_file
#
fi
echo
"set ( CMAKE_BUILD_TYPE
$CMAKE_BUILD_TYPE
)"
>>
$cmake_file
echo
"set ( CFLAGS_PROCESSOR_USER
\"
$CFLAGS_PROCESSOR_USER
\"
)"
>>
$cmake_file
echo
"set ( XFORMS
$XFORMS
)"
>>
$cmake_file
...
...
@@ -936,7 +936,7 @@ fi
echo
"set (LINUX True )"
>>
$cmake_file
echo
"set (PDCP_USE_NETLINK True )"
>>
$cmake_file
echo
"set (BASIC_SIMULATOR
\"
True
\"
)"
>>
$cmake_file
echo
"set (UE_NAS_USE_TUN
\"
True
\"
)"
>>
$cmake_file
#
echo "set (UE_NAS_USE_TUN \"True\" )" >> $cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)'
>>
$cmake_file
echo_info
"Build UE"
...
...
cmake_targets/epc_test/CMakeLists.template
View file @
b6296d8d
...
...
@@ -9,7 +9,6 @@ set ( EMIT_ASN_DEBUG False )
set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING True )
set ( ENABLE_NEW_MULTICAST True )
set ( ENABLE_SECURITY True )
set ( ENABLE_STANDALONE_EPC False)
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
set ( ENABLE_USE_MME True )
...
...
cmake_targets/oaisim_build_oai/CMakeLists.template
View file @
b6296d8d
...
...
@@ -8,7 +8,6 @@ set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING True )
set ( ENABLE_NEW_MULTICAST True )
set ( ENABLE_RAL False )
set ( ENABLE_SECURITY True )
set ( ENABLE_STANDALONE_EPC False)
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
set ( ENABLE_USE_MME True )
...
...
cmake_targets/oaisim_mme_build_oai/CMakeLists.template
View file @
b6296d8d
...
...
@@ -8,7 +8,6 @@ set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING False )
set ( ENABLE_NEW_MULTICAST False )
set ( ENABLE_RAL False )
set ( ENABLE_SECURITY False )
set ( ENABLE_STANDALONE_EPC False )
set ( ENABLE_USE_CPU_EXECUTION_TIME False )
set ( ENABLE_USE_MME False )
...
...
cmake_targets/oaisim_noS1_build_oai/CMakeLists.template
View file @
b6296d8d
...
...
@@ -7,7 +7,6 @@ set ( ENABLE_ITTI True )
set ( ENABLE_NAS_UE_LOGGING False )
set ( ENABLE_NEW_MULTICAST True )
set ( ENABLE_RAL False )
set ( ENABLE_SECURITY False )
set ( ENABLE_STANDALONE_EPC False)
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
set ( ENABLE_USE_MME False )
...
...
cmake_targets/s1c_mme_test/CMakeLists.template
View file @
b6296d8d
...
...
@@ -9,7 +9,6 @@ set ( ENABLE_NAS_UE_LOGGING True )
set ( ENABLE_NEW_MULTICAST True )
set ( ENABLE_PDCP_NETLINK_FIFO False )
set ( ENABLE_RAL False )
set ( ENABLE_SECURITY True )
set ( ENABLE_STANDALONE_EPC False)
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
set ( ENABLE_USE_MME True )
...
...
common/utils/LOG/log.c
View file @
b6296d8d
...
...
@@ -303,8 +303,8 @@ void log_getconfig(log_t *g_log) {
logparams_dump
[
i
].
numelt
=
0
;
}
config_get
(
logparams_debug
,(
sizeof
(
log_maskmap
)
/
sizeof
(
mapping
))
-
1
,
CONFIG_STRING_LOG_PREFIX
);
config_get
(
logparams_dump
,(
sizeof
(
log_maskmap
)
/
sizeof
(
mapping
))
-
1
,
CONFIG_STRING_LOG_PREFIX
);
config_get
(
logparams_debug
,(
sizeof
(
log_maskmap
)
/
sizeof
(
mapping
))
-
1
,
CONFIG_STRING_LOG_PREFIX
);
config_get
(
logparams_dump
,(
sizeof
(
log_maskmap
)
/
sizeof
(
mapping
))
-
1
,
CONFIG_STRING_LOG_PREFIX
);
config_check_unknown_cmdlineopt
(
CONFIG_STRING_LOG_PREFIX
);
/* set the debug mask according to the debug parameters values */
...
...
@@ -385,7 +385,6 @@ int logInit (void) {
register_log_component
(
"OCG"
,
""
,
OCG
);
register_log_component
(
"PERF"
,
""
,
PERF
);
register_log_component
(
"OIP"
,
""
,
OIP
);
register_log_component
(
"CLI"
,
""
,
CLI
);
register_log_component
(
"MSC"
,
"log"
,
MSC
);
register_log_component
(
"OCM"
,
"log"
,
OCM
);
register_log_component
(
"HW"
,
""
,
HW
);
...
...
@@ -408,6 +407,8 @@ int logInit (void) {
register_log_component
(
"X2AP"
,
""
,
X2AP
);
register_log_component
(
"LOADER"
,
"log"
,
LOADER
);
register_log_component
(
"ASN"
,
"log"
,
ASN
);
register_log_component
(
"NFAPI_PNF"
,
"log"
,
NFAPI_PNF
);
register_log_component
(
"NFAPI_VNF"
,
"log"
,
NFAPI_VNF
);
for
(
int
i
=
0
;
log_level_names
[
i
].
name
!=
NULL
;
i
++
)
g_log
->
level2string
[
i
]
=
toupper
(
log_level_names
[
i
].
name
[
0
]);
// uppercased first letter of level name
...
...
@@ -438,7 +439,7 @@ char *log_getthreadname(char *threadname, int bufsize) {
static
int
log_header
(
char
*
log_buffer
,
int
buffsize
,
int
comp
,
int
level
,
const
char
*
format
)
{
char
threadname
[
PR_SET_NAME
];
return
snprintf
(
log_buffer
,
buffsize
,
"%s%s[%s]%c %s %s%s"
,
return
snprintf
(
log_buffer
,
buffsize
,
"%s%s[%s]%c %s %s%s"
,
log_level_highlight_end
[
level
],
(
(
g_log
->
flag
&
FLAG_NOCOLOR
)
?
""
:
log_level_highlight_start
[
level
]),
g_log
->
log_component
[
comp
].
name
,
...
...
@@ -452,11 +453,17 @@ void logRecord_mt(const char *file, const char *func, int line, int comp, int le
char
log_buffer
[
MAX_LOG_TOTAL
];
va_list
args
;
va_start
(
args
,
format
);
log_header
(
log_buffer
,
MAX_LOG_TOTAL
,
comp
,
level
,
format
);
log_header
(
log_buffer
,
MAX_LOG_TOTAL
,
comp
,
level
,
format
);
g_log
->
log_component
[
comp
].
vprint
(
g_log
->
log_component
[
comp
].
stream
,
log_buffer
,
args
);
va_end
(
args
);
}
void
vlogRecord_mt
(
const
char
*
file
,
const
char
*
func
,
int
line
,
int
comp
,
int
level
,
const
char
*
format
,
va_list
args
)
{
char
log_buffer
[
MAX_LOG_TOTAL
];
log_header
(
log_buffer
,
MAX_LOG_TOTAL
,
comp
,
level
,
format
);
g_log
->
log_component
[
comp
].
vprint
(
g_log
->
log_component
[
comp
].
stream
,
log_buffer
,
args
);
}
void
log_dump
(
int
component
,
void
*
buffer
,
int
buffsize
,
int
datatype
,
const
char
*
format
,
...
)
{
va_list
args
;
char
*
wbuf
;
...
...
@@ -474,7 +481,7 @@ void log_dump(int component, void *buffer, int buffsize,int datatype, const char
if
(
wbuf
!=
NULL
)
{
va_start
(
args
,
format
);
int
pos
=
log_header
(
wbuf
,
MAX_LOG_TOTAL
,
component
,
OAILOG_INFO
,
""
);
int
pos
=
log_header
(
wbuf
,
MAX_LOG_TOTAL
,
component
,
OAILOG_INFO
,
""
);
int
pos2
=
vsprintf
(
wbuf
+
pos
,
format
,
args
);
pos
=
pos
+
pos2
;
va_end
(
args
);
...
...
common/utils/LOG/log.h
View file @
b6296d8d
...
...
@@ -198,7 +198,6 @@ typedef enum {
NAS
,
PERF
,
OIP
,
CLI
,
MSC
,
OCM
,
UDP_
,
...
...
@@ -218,6 +217,8 @@ typedef enum {
X2AP
,
LOADER
,
ASN
,
NFAPI_VNF
,
NFAPI_PNF
,
MAX_LOG_PREDEF_COMPONENTS
,
}
comp_name_t
;
...
...
@@ -286,6 +287,7 @@ extern "C" {
int
logInit
(
void
);
int
isLogInitDone
(
void
);
void
logRecord_mt
(
const
char
*
file
,
const
char
*
func
,
int
line
,
int
comp
,
int
level
,
const
char
*
format
,
...)
__attribute__
((
format
(
printf
,
6
,
7
)));
void
vlogRecord_mt
(
const
char
*
file
,
const
char
*
func
,
int
line
,
int
comp
,
int
level
,
const
char
*
format
,
va_list
args
);
void
log_dump
(
int
component
,
void
*
buffer
,
int
buffsize
,
int
datatype
,
const
char
*
format
,
...
);
int
set_log
(
int
component
,
int
level
);
void
set_glog
(
int
level
);
...
...
@@ -365,9 +367,9 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int
# define LOG_I(c, x...) do { if (T_stdout) { if( g_log->log_component[c].level >= OAILOG_INFO ) logRecord_mt(__FILE__, __FUNCTION__, __LINE__,c, OAILOG_INFO, x) ;} else { T(T_LEGACY_ ## c ## _INFO, T_PRINTF(x)) ;}} while (0)
# define LOG_D(c, x...) do { if (T_stdout) { if( g_log->log_component[c].level >= OAILOG_DEBUG ) logRecord_mt(__FILE__, __FUNCTION__, __LINE__,c, OAILOG_DEBUG, x) ;} else { T(T_LEGACY_ ## c ## _DEBUG, T_PRINTF(x)) ;}} while (0)
# define LOG_T(c, x...) do { if (T_stdout) { if( g_log->log_component[c].level >= OAILOG_TRACE ) logRecord_mt(__FILE__, __FUNCTION__, __LINE__,c, OAILOG_TRACE, x) ;} else { T(T_LEGACY_ ## c ## _TRACE, T_PRINTF(x)) ;}} while (0)
# define VLOG(c,l, f, args) do { if (T_stdout) { if( g_log->log_component[c].level >= l ) vlogRecord_mt(__FILE__, __FUNCTION__, __LINE__,c, l, f, args) ;} } while (0)
/* macro used to dump a buffer or a message as in openair2/RRC/LTE/RRC_eNB.c, replaces LOG_F macro */
# define LOG_DUMPMSG(c, f, b, s, x...) do { if(g_log->dump_mask & f) log_dump(c, b, s, LOG_DUMP_CHAR, x) ;} while (0)
/* */
# define nfapi_log(FILE, FNC, LN, COMP, LVL, F...) do { if (T_stdout) { logRecord_mt(__FILE__, __FUNCTION__, __LINE__,COMP, LVL, F) ;}} while (0)
/* */
/* bitmask dependant macros, to isolate debugging code */
# define LOG_DEBUGFLAG(D) (g_log->debug_mask & D)
...
...
common/utils/T/T_messages.txt
View file @
b6296d8d
...
...
@@ -800,6 +800,47 @@ ID = LEGACY_SIM_TRACE
GROUP = ALL:LEGACY_SIM:LEGACY_GROUP_TRACE:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_VNF_INFO
DESC = NFAPI_VNF legacy logs - info level
GROUP = ALL:LEGACY_NFAPI_VNF:LEGACY_GROUP_INFO:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_VNF_ERROR
DESC = NFAPI_VNF legacy logs - error level
GROUP = ALL:LEGACY_NFAPI_VNF:LEGACY_GROUP_ERROR:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_VNF_WARNING
DESC = NFAPI_VNF legacy logs - warning level
GROUP = ALL:LEGACY_NFAPI_VNF:LEGACY_GROUP_WARNING:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_VNF_DEBUG
DESC = NFAPI_VNF legacy logs - debug level
GROUP = ALL:LEGACY_NFAPI_VNF:LEGACY_GROUP_DEBUG:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_VNF_TRACE
DESC = NFAPI_VNF legacy logs - trace level
GROUP = ALL:LEGACY_NFAPI_VNF:LEGACY_GROUP_TRACE:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_PNF_INFO
DESC = NFAPI_PNF legacy logs - info level
GROUP = ALL:LEGACY_NFAPI_PNF:LEGACY_GROUP_INFO:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_PNF_ERROR
DESC = NFAPI_PNF legacy logs - error level
GROUP = ALL:LEGACY_NFAPI_PNF:LEGACY_GROUP_ERROR:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_PNF_WARNING
DESC = NFAPI_PNF legacy logs - warning level
GROUP = ALL:LEGACY_NFAPI_PNF:LEGACY_GROUP_WARNING:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_PNF_DEBUG
DESC = NFAPI_PNF legacy logs - debug level
GROUP = ALL:LEGACY_NFAPI_PNF:LEGACY_GROUP_DEBUG:LEGACY
FORMAT = string,log
ID = LEGACY_NFAPI_PNF_TRACE
DESC = NFAPI_PNF legacy logs - trace level
GROUP = ALL:LEGACY_NFAPI_PNF:LEGACY_GROUP_TRACE:LEGACY
FORMAT = string,log
# this is a bad hack but I won't fix (function util_print_hex_octets
# in openairinterface5g/openair2/LAYER2/PDCP_v10.1.0/pdcp_util.c
# does funky things with the LOG_x macros but we work on the C pre-processor
...
...
@@ -845,27 +886,7 @@ ID = LEGACY_componentP_TRACE
GROUP = ALL:LEGACY_componentP:LEGACY_GROUP_TRACE:LEGACY
FORMAT = string,log
#needed?
ID = LEGACY_CLI_INFO
DESC = CLI legacy logs - info level
GROUP = ALL:LEGACY_CLI:LEGACY_GROUP_INFO:LEGACY
FORMAT = string,log
ID = LEGACY_CLI_ERROR
DESC = CLI legacy logs - error level
GROUP = ALL:LEGACY_CLI:LEGACY_GROUP_ERROR:LEGACY
FORMAT = string,log
ID = LEGACY_CLI_WARNING
DESC = CLI legacy logs - warning level
GROUP = ALL:LEGACY_CLI:LEGACY_GROUP_WARNING:LEGACY
FORMAT = string,log
ID = LEGACY_CLI_DEBUG
DESC = CLI legacy logs - debug level
GROUP = ALL:LEGACY_CLI:LEGACY_GROUP_DEBUG:LEGACY
FORMAT = string,log
ID = LEGACY_CLI_TRACE
DESC = CLI legacy logs - trace level
GROUP = ALL:LEGACY_CLI:LEGACY_GROUP_TRACE:LEGACY
FORMAT = string,log
#################
#### UE LOGS ####
...
...
common/utils/T/tracer/hacks/Makefile
View file @
b6296d8d
...
...
@@ -3,7 +3,7 @@ CFLAGS=-Wall -g -pthread -DT_TRACER -I. -I..
LIBS
=
-lX11
-lm
-lpng
-lXft
all
:
dump_nack_signal time_meas timeplot
all
:
dump_nack_signal time_meas timeplot
multi-rru-clean
dump_nack_signal
:
../utils.o ../database.o ../config.o ../event.o
\
dump_nack_signal.o
...
...
@@ -16,6 +16,9 @@ time_meas: ../utils.o ../database.o ../config.o ../event.o \
timplot
:
timeplot.o
$(CC)
$(CFLAGS)
-o
timeplot
$^
$(LIBS)
multi-rru-clean
:
../utils.o ../database.o ../event.o ../config.o multi-rru-clean.o
$(CC)
$(CFLAGS)
-o
$@
$^
$(LIBS)
.PHONY
:
all
%.o
:
%.c
...
...
common/utils/T/tracer/hacks/multi-rru-clean.c
0 → 100644
View file @
b6296d8d
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
"database.h"
#include
"utils.h"
#include
"event.h"
#include
"../T_defs.h"
void
usage
(
void
)
{
printf
(
"usage: <number of tags> <input record file> <output curated record file>
\n
"
"options:
\n
"
" -d <database file> this option is mandatory
\n
"
);
exit
(
1
);
}
#define ERR printf("ERROR: read file %s failed\n", input_filename)
typedef
struct
{
OBUF
b
;
struct
timespec
t
;
int
filled
;
int
error
;
}
cache_t
;
void
clear_cache
(
int
n
,
cache_t
*
c
)
{
int
i
;
for
(
i
=
0
;
i
<
n
;
i
++
)
{
c
[
i
].
filled
=
0
;
c
[
i
].
error
=
0
;
c
[
i
].
b
.
osize
=
0
;
}
}
void
store_in_cache
(
cache_t
*
c
,
int
pos
,
OBUF
*
b
)
{
int
i
;
for
(
i
=
0
;
i
<
b
->
osize
;
i
++
)
PUTC
(
&
c
[
pos
].
b
,
b
->
obuf
[
i
]);
}
int
get_field
(
database_event_format
*
f
,
char
*
field
,
char
*
type
)
{
int
i
;
for
(
i
=
0
;
i
<
f
->
count
;
i
++
)
if
(
!
strcmp
(
f
->
name
[
i
],
field
))
{
if
(
strcmp
(
f
->
type
[
i
],
type
))
break
;
return
i
;
}
printf
(
"bad field %s, check that it exists and has type '%s'
\n
"
,
field
,
type
);
exit
(
1
);
}
void
process_cache
(
FILE
*
out
,
cache_t
*
c
,
int
n
,
int
frame
,
int
subframe
)
{
int
i
;
struct
tm
*
t
;
for
(
i
=
0
;
i
<
n
;
i
++
)
if
(
c
[
i
].
filled
==
0
||
c
[
i
].
error
==
1
)
goto
error
;
for
(
i
=
0
;
i
<
n
;
i
++
)
fwrite
(
c
[
i
].
b
.
obuf
,
c
[
i
].
b
.
osize
,
1
,
out
);
clear_cache
(
n
,
c
);
return
;
error:
printf
(
"ERROR: incorrect data at frame %d subframe %d"
,
frame
,
subframe
);
for
(
i
=
0
;
i
<
n
;
i
++
)
if
(
c
[
i
].
filled
)
{
t
=
localtime
(
&
c
[
i
].
t
.
tv_sec
);
printf
(
" [tag %d time %2.2d:%2.2d:%2.2d.%9.9ld]"
,
i
,
t
->
tm_hour
,
t
->
tm_min
,
t
->
tm_sec
,
c
[
i
].
t
.
tv_nsec
);
}
printf
(
"
\n
"
);
clear_cache
(
n
,
c
);
}
int
main
(
int
n
,
char
**
v
)
{
char
*
database_filename
=
NULL
;
void
*
database
;
int
channel_estimate_id
;
int
number_of_tags
=
-
1
;
char
*
input_filename
=
NULL
;
char
*
output_filename
=
NULL
;
int
i
;
FILE
*
in
;
FILE
*
out
;
database_event_format
f
;
int
frame_arg
;
int
subframe_arg
;
int
tag_arg
;
cache_t
*
cache
;
int
cur_frame
=
-
1
;
int
cur_subframe
=
-
1
;
int
frame
;
int
subframe
;
int
tag
;
for
(
i
=
1
;
i
<
n
;
i
++
)
{
if
(
!
strcmp
(
v
[
i
],
"-h"
)
||
!
strcmp
(
v
[
i
],
"--help"
))
usage
();
if
(
!
strcmp
(
v
[
i
],
"-d"
))
{
if
(
i
>
n
-
2
)
usage
();
database_filename
=
v
[
++
i
];
continue
;
}
if
(
number_of_tags
==
-
1
)
{
number_of_tags
=
atoi
(
v
[
i
]);
if
(
number_of_tags
<=
0
)
{
usage
();}
continue
;
}
if
(
input_filename
==
NULL
)
{
input_filename
=
v
[
i
];
continue
;
}
if
(
output_filename
==
NULL
)
{
output_filename
=
v
[
i
];
continue
;
}
usage
();
}
if
(
database_filename
==
NULL
)
{
printf
(
"ERROR: provide a database file (-d)
\n
"
);
exit
(
1
);
}
if
(
output_filename
==
NULL
||
input_filename
==
NULL
||
number_of_tags
==
-
1
)
usage
();
database
=
parse_database
(
database_filename
);
channel_estimate_id
=
event_id_from_name
(
database
,
"CALIBRATION_CHANNEL_ESTIMATES"
);
f
=
get_format
(
database
,
channel_estimate_id
);
frame_arg
=
get_field
(
&
f
,
"frame"
,
"int"
);
subframe_arg
=
get_field
(
&
f
,
"subframe"
,
"int"
);
tag_arg
=
get_field
(
&
f
,
"tag"
,
"int"
);
in
=
fopen
(
input_filename
,
"r"
);
if
(
in
==
NULL
)
{
perror
(
input_filename
);
abort
();
}
out
=
fopen
(
output_filename
,
"w"
);
if
(
out
==
NULL
)
{
perror
(
output_filename
);
abort
();
}
cache
=
calloc
(
number_of_tags
,
sizeof
(
cache_t
));
if
(
cache
==
NULL
)
{
perror
(
"malloc"
);
exit
(
1
);
}
clear_cache
(
number_of_tags
,
cache
);
OBUF
ebuf
=
{
osize
:
0
,
omaxsize
:
0
,
obuf
:
NULL
};
while
(
1
)
{
int
type
;
int32_t
length
;
char
*
v
;
int
vpos
=
0
;
struct
timespec
t
;
char
*
buf
;
/* read event from file */
if
(
fread
(
&
length
,
4
,
1
,
in
)
!=
1
)
break
;
if
(
ebuf
.
omaxsize
<
length
)
{
ebuf
.
omaxsize
=
(
length
+
65535
)
&
~
65535
;
ebuf
.
obuf
=
realloc
(
ebuf
.
obuf
,
ebuf
.
omaxsize
);
if
(
ebuf
.
obuf
==
NULL
)
{
printf
(
"out of memory
\n
"
);
exit
(
1
);
}
}
v
=
ebuf
.
obuf
;
memcpy
(
v
+
vpos
,
&
length
,
4
);
vpos
+=
4
;
#ifdef T_SEND_TIME
if
(
length
<
sizeof
(
struct
timespec
))
{
ERR
;
break
;
}
if
(
fread
(
&
t
,
sizeof
(
struct
timespec
),
1
,
in
)
!=
1
)
{
ERR
;
break
;
}
memcpy
(
v
+
vpos
,
&
t
,
sizeof
(
struct
timespec
));
vpos
+=
sizeof
(
struct
timespec
);
length
-=
sizeof
(
struct
timespec
);
#endif
if
(
length
<
sizeof
(
int
))
{
ERR
;
break
;
}
if
(
fread
(
&
type
,
sizeof
(
int
),
1
,
in
)
!=
1
)
{
ERR
;
break
;
}
memcpy
(
v
+
vpos
,
&
type
,
sizeof
(
int
));
vpos
+=
sizeof
(
int
);
length
-=
sizeof
(
int
);
if
(
length
)
if
(
fread
(
v
+
vpos
,
length
,
1
,
in
)
!=
1
)
{
ERR
;
break
;
}
buf
=
v
+
vpos
;
vpos
+=
length
;
ebuf
.
osize
=
vpos
;