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 = { ...@@ -309,12 +309,13 @@ security = {
log_config : log_config :
{ {
global_log_level ="info"; global_log_level ="info";
hw_log_level ="info"; pkt_log_level ="info";
phy_log_level ="info"; # hw_log_level ="info";
mac_log_level ="info"; # phy_log_level ="info";
rlc_log_level ="info"; # mac_log_level ="info";
pdcp_log_level ="info"; # rlc_log_level ="info";
rrc_log_level ="info"; # pdcp_log_level ="info";
ngap_log_level ="debug"; # rrc_log_level ="info";
# ngap_log_level ="debug";
}; };
log_config = { log_config = {
global_log_level ="info"; global_log_level ="info";
hw_log_level ="info"; # hw_log_level ="info";
phy_log_level ="info"; # phy_log_level ="info";
mac_log_level ="debug"; # mac_log_level ="debug";
nr_mac_log_level ="debug"; # nr_mac_log_level ="debug";
rlc_log_level ="debug"; # rlc_log_level ="debug";
nr_rlc_log_level ="debug"; # nr_rlc_log_level ="debug";
pdcp_log_level ="debug"; # pdcp_log_level ="debug";
nr_pdcp_log_level ="debug"; # nr_pdcp_log_level ="debug";
nr_rrc_log_level ="info"; # nr_rrc_log_level ="info";
rrc_log_level ="info"; # rrc_log_level ="info";
}; };
uicc0 = { uicc0 = {
......
...@@ -496,6 +496,7 @@ int logInit (void) ...@@ -496,6 +496,7 @@ int logInit (void)
register_log_component("NGAP","",NGAP); register_log_component("NGAP","",NGAP);
register_log_component("ITTI","log",ITTI); register_log_component("ITTI","log",ITTI);
register_log_component("UTIL","log",UTIL); register_log_component("UTIL","log",UTIL);
register_log_component("PKT", "log", PKT);
for (int i=0 ; log_level_names[i].name != NULL ; i++) 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 g_log->level2string[i] = toupper(log_level_names[i].name[0]); // uppercased first letter of level name
......
...@@ -249,6 +249,7 @@ typedef enum { ...@@ -249,6 +249,7 @@ typedef enum {
NFAPI_PNF, NFAPI_PNF,
ITTI, ITTI,
UTIL, UTIL,
PKT,
MAX_LOG_PREDEF_COMPONENTS, MAX_LOG_PREDEF_COMPONENTS,
} }
comp_name_t; comp_name_t;
...@@ -487,6 +488,10 @@ int32_t write_file_matlab(const char *fname, const char *vname, void *data, int ...@@ -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) { \ if(g_log->log_component[c].level >= OAILOG_TRACE) { \
logRecord_tp(__FILE__, __FUNCTION__, __LINE__, c, OAILOG_TRACE, x); \ logRecord_tp(__FILE__, __FUNCTION__, __LINE__, c, OAILOG_TRACE, x); \
} } while(0) } } 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 */ /* avoid warnings for variables only used in LOG macro's but set outside debug section */
#define GCC_NOTUSED __attribute__((unused)) #define GCC_NOTUSED __attribute__((unused))
......
...@@ -55,7 +55,9 @@ ...@@ -55,7 +55,9 @@
component, -1, g_log->sfn, \ component, -1, g_log->sfn, \
g_log->sf, __func__, __LINE__,\ g_log->sf, __func__, __LINE__,\
log) log)
#define LOG_P(component, _string, buf, len) tracepoint(SSeNB, SS_PKT, \ #define LOG_SS_PKT(component, _string, buf, len) do { \
"SS-PDU", -1, g_log->sfn, \ tracepoint(SSeNB, SS_PKT, \
g_log->sf, _string, buf, len) "SS-PDU", -1, g_log->sfn, \
g_log->sf, _string, buf, len); \
} while(0)
#endif /** __SS_LOG_H__ */ #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 ...@@ -323,7 +323,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
(void *)mib, (void *)mib,
carrier->MIB, carrier->MIB,
24); 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", AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); enc_rval.failed_type->name, enc_rval.encoded);
...@@ -1217,7 +1217,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, ...@@ -1217,7 +1217,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
(void *)bcch_message, (void *)bcch_message,
buffer, buffer,
100); 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", AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); enc_rval.failed_type->name, enc_rval.encoded);
...@@ -2146,7 +2146,7 @@ uint8_t do_SIB23(uint8_t Mod_id, ...@@ -2146,7 +2146,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); 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_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) { if (enc_rval.encoded==-1) {
msg("[RRC] ASN1 : SI encoding failed for SIB23\n"); msg("[RRC] ASN1 : SI encoding failed for SIB23\n");
...@@ -2854,7 +2854,7 @@ do_RRCConnectionSetup( ...@@ -2854,7 +2854,7 @@ do_RRCConnectionSetup(
(void *)&dl_ccch_msg, (void *)&dl_ccch_msg,
buffer, buffer,
100); 100);
LOG_P(RRC, "DL_CCCH_Message", buffer, 100); LOG_P(OAILOG_DEBUG, "DL_CCCH_Message", buffer, 100);
if(enc_rval.encoded == -1) { if(enc_rval.encoded == -1) {
LOG_I(RRC, "[eNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n", LOG_I(RRC, "[eNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); 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 ...@@ -674,7 +674,7 @@ static int rrc_eNB_process_SS_PAGING_IND(MessageDef *msg_p, const char *msg_name
return -1; 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); 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). */ /* 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( ...@@ -7739,7 +7739,7 @@ rrc_eNB_decode_ccch(
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP)); PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP));
return -1; 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) { if (ul_ccch_msg->message.present == LTE_UL_CCCH_MessageType_PR_c1) {
switch (ul_ccch_msg->message.choice.c1.present) { switch (ul_ccch_msg->message.choice.c1.present) {
...@@ -8492,7 +8492,7 @@ rrc_eNB_decode_dcch( ...@@ -8492,7 +8492,7 @@ rrc_eNB_decode_dcch(
LOG_T(RRC, "\n"); 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)) { 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", LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UL-DCCH (%zu bytes)\n",
...@@ -9054,7 +9054,7 @@ rrc_eNB_decode_dcch( ...@@ -9054,7 +9054,7 @@ rrc_eNB_decode_dcch(
if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) { if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
xer_fprint(stdout, &asn_DEF_LTE_UE_EUTRA_Capability, ue_context_p->ue_context.UE_Capability); 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)) { 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", 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) { ...@@ -10361,7 +10361,7 @@ void *rrc_enb_process_itti_msg(void *notUsed) {
} }
LOG_A(RRC, "\n"); 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)) if (LOG_DEBUGFLAG(DEBUG_ASN1))
{ {
......
...@@ -283,6 +283,8 @@ uint8_t do_MIB_NR(gNB_RRC_INST *rrc,uint32_t frame) { ...@@ -283,6 +283,8 @@ uint8_t do_MIB_NR(gNB_RRC_INST *rrc,uint32_t frame) {
(void *)mib, (void *)mib,
carrier->MIB, carrier->MIB,
24); 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", AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); enc_rval.failed_type->name, enc_rval.encoded);
...@@ -651,6 +653,8 @@ uint8_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier, ...@@ -651,6 +653,8 @@ uint8_t do_SIB1_NR(rrc_gNB_carrier_data_t *carrier,
(void *)sib1_message, (void *)sib1_message,
carrier->SIB1, carrier->SIB1,
NR_MAX_SIB_LENGTH/8); 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", AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); enc_rval.failed_type->name, enc_rval.encoded);
...@@ -704,6 +708,8 @@ uint8_t do_SIB23_NR(rrc_gNB_carrier_data_t *carrier, ...@@ -704,6 +708,8 @@ uint8_t do_SIB23_NR(rrc_gNB_carrier_data_t *carrier,
100); 100);
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n", AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); 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) { if (enc_rval.encoded==-1) {
return(-1); return(-1);
...@@ -1678,7 +1684,7 @@ uint8_t do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP, ...@@ -1678,7 +1684,7 @@ uint8_t do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP,
(void *)&dl_ccch_msg, (void *)&dl_ccch_msg,
buffer, buffer,
1000); 1000);
LOG_P(OAILOG_DEBUG, "DL_CCCH_Message", buffer, 1000);
if(enc_rval.encoded == -1) { if(enc_rval.encoded == -1) {
LOG_E(NR_RRC, "[gNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n", LOG_E(NR_RRC, "[gNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
enc_rval.failed_type->name, enc_rval.encoded); enc_rval.failed_type->name, enc_rval.encoded);
......
...@@ -3709,6 +3709,8 @@ void *rrc_gnb_task(void *args_p) { ...@@ -3709,6 +3709,8 @@ void *rrc_gnb_task(void *args_p) {
(uint8_t *)SS_NRRRC_PDU_REQ(msg_p).sdu, (uint8_t *)SS_NRRRC_PDU_REQ(msg_p).sdu,
SS_NRRRC_PDU_REQ(msg_p).sdu_size, 0, 0); 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)) if (LOG_DEBUGFLAG(DEBUG_ASN1))
{ {
xer_fprint(stdout, &asn_DEF_NR_DL_DCCH_Message, (void *)dl_dcch_msg); 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) ...@@ -147,7 +147,7 @@ static void ss_send_srb_data(ss_rrc_pdu_ind_t *pdu_ind)
0, 0,
0); 0);
memcpy(lttng_sdu, pdu_ind->sdu, pdu_ind->sdu_size); 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); xer_fprint(stdout, &asn_DEF_LTE_UL_CCCH_Message, (void *)ul_ccch_msg);
ind.RrcPdu.d = RRC_MSG_Indication_Type_Ccch; 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) ...@@ -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); xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void *)ul_dcch_msg);
memcpy(lttng_sdu, pdu_ind->sdu, pdu_ind->sdu_size); 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.d = RRC_MSG_Indication_Type_Dcch;
ind.RrcPdu.v.Dcch.d = pdu_ind->sdu_size; ind.RrcPdu.v.Dcch.d = pdu_ind->sdu_size;
ind.RrcPdu.v.Dcch.v = pdu_ind->sdu; 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) ...@@ -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); 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); 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 else
{ {
...@@ -247,7 +247,7 @@ static void ss_task_handle_rrc_pdu_req(struct EUTRA_RRC_PDU_REQ *req) ...@@ -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); 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); 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", 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 { ...@@ -69,6 +69,7 @@ typedef enum {
static unsigned char *buffer = NULL; static unsigned char *buffer = NULL;
static const size_t size = 16 * 1024; static const size_t size = 16 * 1024;
uint8_t lttng_sdu[SDU_SIZE];
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// Function to send response to the SIDL client // 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) ...@@ -128,6 +129,8 @@ static void ss_send_srb_data(ss_nrrrc_pdu_ind_t *pdu_ind)
pdu_ind->sdu_size, pdu_ind->sdu_size,
0, 0,
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); xer_fprint(stdout, &asn_DEF_NR_UL_CCCH_Message, (void *)ul_ccch_msg);
ind.RrcPdu.d = NR_RRC_MSG_Indication_Type_Ccch; 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) ...@@ -145,6 +148,9 @@ static void ss_send_srb_data(ss_nrrrc_pdu_ind_t *pdu_ind)
0, 0,
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); xer_fprint(stdout, &asn_DEF_NR_UL_DCCH_Message, (void *)ul_dcch_msg);
ind.RrcPdu.d = NR_RRC_MSG_Indication_Type_Dcch; ind.RrcPdu.d = NR_RRC_MSG_Indication_Type_Dcch;
ind.RrcPdu.v.Dcch.d = pdu_ind->sdu_size; 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) ...@@ -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); SS_NRRRC_PDU_REQ(message_p).sdu_size,0,0);
xer_fprint(stdout,&asn_DEF_NR_DL_CCCH_Message,(void *)dl_ccch_msg); 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 else
{ {
...@@ -211,6 +220,9 @@ static void ss_task_handle_rrc_pdu_req(struct NR_RRC_PDU_REQ *req) ...@@ -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); SS_NRRRC_PDU_REQ(message_p).sdu_size,0,0);
xer_fprint(stdout,&asn_DEF_NR_DL_DCCH_Message,(void *)dl_dcch_msg); 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 }", 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