Commit 4827d080 authored by Yangxiong Peng's avatar Yangxiong Peng

Lttng loging for 5G and packet filtering

1. issue#64 Add first 5G nFAPI pluggin 2. Adapt plugin changes from firecell
parent a0672a83
......@@ -309,12 +309,13 @@ security = {
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="debug";
pkt_log_level ="info";
# hw_log_level ="info";
# phy_log_level ="info";
# mac_log_level ="info";
# rlc_log_level ="info";
# pdcp_log_level ="info";
# rrc_log_level ="info";
# ngap_log_level ="debug";
};
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="debug";
nr_mac_log_level ="debug";
rlc_log_level ="debug";
nr_rlc_log_level ="debug";
pdcp_log_level ="debug";
nr_pdcp_log_level ="debug";
nr_rrc_log_level ="info";
rrc_log_level ="info";
# hw_log_level ="info";
# phy_log_level ="info";
# mac_log_level ="debug";
# nr_mac_log_level ="debug";
# rlc_log_level ="debug";
# nr_rlc_log_level ="debug";
# pdcp_log_level ="debug";
# nr_pdcp_log_level ="debug";
# nr_rrc_log_level ="info";
# rrc_log_level ="info";
};
uicc0 = {
......
......@@ -496,6 +496,7 @@ int logInit (void)
register_log_component("NGAP","",NGAP);
register_log_component("ITTI","log",ITTI);
register_log_component("UTIL","log",UTIL);
register_log_component("PKT", "log", PKT);
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
......
......@@ -249,6 +249,7 @@ typedef enum {
NFAPI_PNF,
ITTI,
UTIL,
PKT,
MAX_LOG_PREDEF_COMPONENTS,
}
comp_name_t;
......@@ -487,6 +488,10 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int
if(g_log->log_component[c].level >= OAILOG_TRACE) { \
logRecord_tp(__FILE__, __FUNCTION__, __LINE__, c, OAILOG_TRACE, x); \
} } while(0)
# define LOG_P(lvl, _string, buf, len) do { \
if(g_log->log_component[PKT].level >= lvl) { \
LOG_SS_PKT(PKT, _string, buf, len); \
} } while(0)
/* avoid warnings for variables only used in LOG macro's but set outside debug section */
#define GCC_NOTUSED __attribute__((unused))
......
......@@ -55,7 +55,9 @@
component, -1, g_log->sfn, \
g_log->sf, __func__, __LINE__,\
log)
#define LOG_P(component, _string, buf, len) tracepoint(SSeNB, SS_PKT, \
"SS-PDU", -1, g_log->sfn, \
g_log->sf, _string, buf, len)
#define LOG_SS_PKT(component, _string, buf, len) do { \
tracepoint(SSeNB, SS_PKT, \
"SS-PDU", -1, g_log->sfn, \
g_log->sf, _string, buf, len); \
} while(0)
#endif /** __SS_LOG_H__ */
......@@ -323,7 +323,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
(void *)mib,
carrier->MIB,
24);
LOG_P(RRC, "BCCH_BCH_Message", (uint8_t *)carrier->MIB, 24);
LOG_P(OAILOG_INFO, "BCCH_BCH_Message", (uint8_t *)carrier->MIB, 24);
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);
......@@ -1217,7 +1217,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
(void *)bcch_message,
buffer,
100);
LOG_P(RRC, "BCCH_DL_SCH_Message", (uint8_t *)buffer, 100);
LOG_P(OAILOG_INFO, "BCCH_DL_SCH_Message", (uint8_t *)buffer, 100);
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);
......@@ -2146,7 +2146,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);
LOG_D(RRC,"[eNB] SystemInformation Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
LOG_P(RRC, "BCCH_DL_SCH_Message", (uint8_t *)buffer, 900);
LOG_P(OAILOG_INFO, "BCCH_DL_SCH_Message", (uint8_t *)buffer, 900);
if (enc_rval.encoded==-1) {
msg("[RRC] ASN1 : SI encoding failed for SIB23\n");
......@@ -2854,7 +2854,7 @@ do_RRCConnectionSetup(
(void *)&dl_ccch_msg,
buffer,
100);
LOG_P(RRC, "DL_CCCH_Message", buffer, 100);
LOG_P(OAILOG_DEBUG, "DL_CCCH_Message", buffer, 100);
if(enc_rval.encoded == -1) {
LOG_I(RRC, "[eNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);
......
......@@ -674,7 +674,7 @@ static int rrc_eNB_process_SS_PAGING_IND(MessageDef *msg_p, const char *msg_name
return -1;
}
LOG_P(RRC, "PCCH_Message", buffer, length);
LOG_P(OAILOG_DEBUG, "PCCH_Message", buffer, length);
message_buffer = itti_malloc(TASK_RRC_ENB, TASK_PDCP_ENB, length);
/* Uses a new buffer to avoid issue with PDCP buffer content that could be changed by PDCP (asynchronous message handling). */
......@@ -7739,7 +7739,7 @@ rrc_eNB_decode_ccch(
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
return -1;
}
//LOG_P(RRC, "UL CCCH:", buffer, buffer_length);
//LOG_P(OAILOG_DEBUG, "UL CCCH:", buffer, buffer_length);
if (ul_ccch_msg->message.present == LTE_UL_CCCH_MessageType_PR_c1) {
switch (ul_ccch_msg->message.choice.c1.present) {
......@@ -8492,7 +8492,7 @@ rrc_eNB_decode_dcch(
LOG_T(RRC, "\n");
}
//LOG_P(RRC, "UL DCCH:", Rx_sdu, sdu_sizeP);
//LOG_P(OAILOG_DEBUG, "UL DCCH:", Rx_sdu, sdu_sizeP);
if ((dec_rval.code != RC_OK) && (dec_rval.consumed == 0)) {
LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UL-DCCH (%zu bytes)\n",
......@@ -9054,7 +9054,7 @@ rrc_eNB_decode_dcch(
if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
xer_fprint(stdout, &asn_DEF_LTE_UE_EUTRA_Capability, ue_context_p->ue_context.UE_Capability);
}
//LOG_P(RRC, "UE_EUTRA_Capability:", ul_dcch_msg->message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.array[eutra_index]->ueCapabilityRAT_Container.buf, ul_dcch_msg->message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.array[eutra_index]->ueCapabilityRAT_Container.size);
//LOG_P(OAILOG_DEBUG, "UE_EUTRA_Capability:", ul_dcch_msg->message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.array[eutra_index]->ueCapabilityRAT_Container.buf, ul_dcch_msg->message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.array[eutra_index]->ueCapabilityRAT_Container.size);
if ((dec_rval.code != RC_OK) && (dec_rval.consumed == 0)) {
LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UE capabilities (%zu bytes)\n",
......@@ -10361,7 +10361,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
}
LOG_A(RRC, "\n");
}
LOG_P(RRC, "DL DCCH size: %d \n", (uint8_t *)SS_RRC_PDU_REQ(msg_p).sdu, SS_RRC_PDU_REQ(msg_p).sdu_size);
LOG_A(RRC, "DL DCCH size: %d \n", SS_RRC_PDU_REQ(msg_p).sdu_size);
if (LOG_DEBUGFLAG(DEBUG_ASN1))
{
......
......@@ -283,6 +283,8 @@ uint8_t do_MIB_NR(gNB_RRC_INST *rrc,uint32_t frame) {
(void *)mib,
carrier->MIB,
24);
LOG_P(OAILOG_INFO, "BCCH_BCH_Message", (uint8_t *)carrier->MIB, 24);
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);
......@@ -651,6 +653,8 @@ uint8_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier,
(void *)sib1_message,
carrier->SIB1,
NR_MAX_SIB_LENGTH/8);
LOG_P(OAILOG_INFO, "BCCH_DL_SCH_Message", (uint8_t *)carrier->SIB1, NR_MAX_SIB_LENGTH/8);
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);
......@@ -704,6 +708,8 @@ uint8_t do_SIB23_NR(rrc_gNB_carrier_data_t *carrier,
100);
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);
LOG_D(RRC,"[eNB] SystemInformation Encoded %zd bits (%zd bytes)\n", enc_rval.encoded, (enc_rval.encoded+7)/8);
LOG_P(OAILOG_INFO, "BCCH_DL_SCH_Message", (uint8_t *)carrier->SIB23, 100);
if (enc_rval.encoded==-1) {
return(-1);
......@@ -1678,7 +1684,7 @@ uint8_t do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP,
(void *)&dl_ccch_msg,
buffer,
1000);
LOG_P(OAILOG_DEBUG, "DL_CCCH_Message", buffer, 1000);
if(enc_rval.encoded == -1) {
LOG_E(NR_RRC, "[gNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded);
......
......@@ -3709,6 +3709,8 @@ void *rrc_gnb_task(void *args_p) {
(uint8_t *)SS_NRRRC_PDU_REQ(msg_p).sdu,
SS_NRRRC_PDU_REQ(msg_p).sdu_size, 0, 0);
LOG_A(RRC, "DL DCCH size: %d \n", SS_NRRRC_PDU_REQ(msg_p).sdu_size);
if (LOG_DEBUGFLAG(DEBUG_ASN1))
{
xer_fprint(stdout, &asn_DEF_NR_DL_DCCH_Message, (void *)dl_dcch_msg);
......
......@@ -147,7 +147,7 @@ static void ss_send_srb_data(ss_rrc_pdu_ind_t *pdu_ind)
0,
0);
memcpy(lttng_sdu, pdu_ind->sdu, pdu_ind->sdu_size);
LOG_P(RRC, "UL_CCCH_Message", lttng_sdu, pdu_ind->sdu_size);
LOG_P(OAILOG_DEBUG, "UL_CCCH_Message", lttng_sdu, pdu_ind->sdu_size);
xer_fprint(stdout, &asn_DEF_LTE_UL_CCCH_Message, (void *)ul_ccch_msg);
ind.RrcPdu.d = RRC_MSG_Indication_Type_Ccch;
......@@ -167,7 +167,7 @@ static void ss_send_srb_data(ss_rrc_pdu_ind_t *pdu_ind)
xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void *)ul_dcch_msg);
memcpy(lttng_sdu, pdu_ind->sdu, pdu_ind->sdu_size);
LOG_P(RRC, "UL_DCCH_Message", lttng_sdu, pdu_ind->sdu_size);
LOG_P(OAILOG_DEBUG, "UL_DCCH_Message", lttng_sdu, pdu_ind->sdu_size);
ind.RrcPdu.d = RRC_MSG_Indication_Type_Dcch;
ind.RrcPdu.v.Dcch.d = pdu_ind->sdu_size;
ind.RrcPdu.v.Dcch.v = pdu_ind->sdu;
......@@ -232,7 +232,7 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
xer_fprint(stdout,&asn_DEF_LTE_DL_CCCH_Message,(void *)dl_ccch_msg);
memcpy(lttng_sdu, SS_RRC_PDU_REQ(message_p).sdu, SS_RRC_PDU_REQ(message_p).sdu_size);
LOG_P(RRC, "DL_CCCH_Message", lttng_sdu, SS_RRC_PDU_REQ(message_p).sdu_size);
LOG_P(OAILOG_DEBUG, "DL_CCCH_Message", lttng_sdu, SS_RRC_PDU_REQ(message_p).sdu_size);
}
else
{
......@@ -247,7 +247,7 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req)
xer_fprint(stdout,&asn_DEF_LTE_DL_DCCH_Message,(void *)dl_dcch_msg);
memcpy(lttng_sdu, SS_RRC_PDU_REQ(message_p).sdu, SS_RRC_PDU_REQ(message_p).sdu_size);
LOG_P(RRC, "DL_DCCH_Message", lttng_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);
}
LOG_A(ENB_SS, "[SS_SRB][EUTRA_RRC_PDU_REQ] sending to TASK_RRC_ENB: {srb: %d, ch: %s, qty: %d rnti %d}\n",
......
......@@ -69,6 +69,7 @@ typedef enum {
static unsigned char *buffer = NULL;
static const size_t size = 16 * 1024;
uint8_t lttng_sdu[SDU_SIZE];
//------------------------------------------------------------------------------
// Function to send response to the SIDL client
......@@ -128,6 +129,8 @@ static void ss_send_srb_data(ss_nrrrc_pdu_ind_t *pdu_ind)
pdu_ind->sdu_size,
0,
0);
memcpy(lttng_sdu, pdu_ind->sdu, pdu_ind->sdu_size);
LOG_P(OAILOG_DEBUG, "UL_CCCH_Message", lttng_sdu, pdu_ind->sdu_size);
xer_fprint(stdout, &asn_DEF_NR_UL_CCCH_Message, (void *)ul_ccch_msg);
ind.RrcPdu.d = NR_RRC_MSG_Indication_Type_Ccch;
......@@ -145,6 +148,9 @@ static void ss_send_srb_data(ss_nrrrc_pdu_ind_t *pdu_ind)
0,
0);
memcpy(lttng_sdu, pdu_ind->sdu, pdu_ind->sdu_size);
LOG_P(OAILOG_DEBUG, "UL_DCCH_Message", lttng_sdu, pdu_ind->sdu_size);
xer_fprint(stdout, &asn_DEF_NR_UL_DCCH_Message, (void *)ul_dcch_msg);
ind.RrcPdu.d = NR_RRC_MSG_Indication_Type_Dcch;
ind.RrcPdu.v.Dcch.d = pdu_ind->sdu_size;
......@@ -199,6 +205,9 @@ static void ss_task_handle_rrc_pdu_req(struct NR_RRC_PDU_REQ *req)
SS_NRRRC_PDU_REQ(message_p).sdu_size,0,0);
xer_fprint(stdout,&asn_DEF_NR_DL_CCCH_Message,(void *)dl_ccch_msg);
memcpy(lttng_sdu, SS_NRRRC_PDU_REQ(message_p).sdu, SS_NRRRC_PDU_REQ(message_p).sdu_size);
LOG_P(OAILOG_DEBUG, "DL_CCCH_Message", lttng_sdu, SS_NRRRC_PDU_REQ(message_p).sdu_size);
}
else
{
......@@ -211,6 +220,9 @@ static void ss_task_handle_rrc_pdu_req(struct NR_RRC_PDU_REQ *req)
SS_NRRRC_PDU_REQ(message_p).sdu_size,0,0);
xer_fprint(stdout,&asn_DEF_NR_DL_DCCH_Message,(void *)dl_dcch_msg);
memcpy(lttng_sdu, SS_NRRRC_PDU_REQ(message_p).sdu, SS_NRRRC_PDU_REQ(message_p).sdu_size);
LOG_P(OAILOG_DEBUG, "DL_DCCH_Message", lttng_sdu, SS_NRRRC_PDU_REQ(message_p).sdu_size);
}
LOG_A(GNB_APP, "[SS_SRB][NR_RRC_PDU_REQ] sending to TASK_RRC_GNB: {srb: %d, ch: %s, qty: %d }",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment