From fdb16fae7d0540cccf5a036c65620dc668143e3f Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Tue, 23 Oct 2018 10:19:51 +0200 Subject: [PATCH] T: macpdu2wireshark: add SIBs tracing Only schedule_SI is done, not schedule_SIB1_BR and not schedule_SI_BR. --- common/utils/T/tracer/macpdu2wireshark.c | 22 ++++++++++++++++------ openair2/LAYER2/MAC/eNB_scheduler_bch.c | 3 +++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/common/utils/T/tracer/macpdu2wireshark.c b/common/utils/T/tracer/macpdu2wireshark.c index 4ab7606c6c..81fd44c443 100644 --- a/common/utils/T/tracer/macpdu2wireshark.c +++ b/common/utils/T/tracer/macpdu2wireshark.c @@ -14,6 +14,8 @@ #define DEFAULT_IP "127.0.0.1" #define DEFAULT_PORT 9999 +int no_sib = 0; + typedef struct { int socket; struct sockaddr_in to; @@ -76,21 +78,27 @@ void dl(void *_d, event e) int fsf; int i; + if (e.e[d->dl_rnti].i == 0xffff && no_sib) return; + d->buf.osize = 0; PUTS(&d->buf, MAC_LTE_START_STRING); PUTC(&d->buf, FDD_RADIO); PUTC(&d->buf, DIRECTION_DOWNLINK); - PUTC(&d->buf, C_RNTI); + if (e.e[d->dl_rnti].i != 0xffff) { + PUTC(&d->buf, C_RNTI); - PUTC(&d->buf, MAC_LTE_RNTI_TAG); - PUTC(&d->buf, (e.e[d->dl_rnti].i>>8) & 255); - PUTC(&d->buf, e.e[d->dl_rnti].i & 255); + PUTC(&d->buf, MAC_LTE_RNTI_TAG); + PUTC(&d->buf, (e.e[d->dl_rnti].i>>8) & 255); + PUTC(&d->buf, e.e[d->dl_rnti].i & 255); + } else { + PUTC(&d->buf, SI_RNTI); + } /* for newer version of wireshark? */ fsf = (e.e[d->dl_frame].i << 4) + e.e[d->dl_subframe].i; /* for older version? */ - fsf = e.e[d->dl_subframe].i; + //fsf = e.e[d->dl_subframe].i; PUTC(&d->buf, MAC_LTE_FRAME_SUBFRAME_TAG); PUTC(&d->buf, (fsf>>8) & 255); PUTC(&d->buf, fsf & 255); @@ -231,7 +239,8 @@ void usage(void) " -i read events from this dump file\n" " -ip send packets to this IP address (default %s)\n" " -p send packets to this port (default %d)\n" -" -no-mib do not report MIB\n", +" -no-mib do not report MIB\n" +" -no-sib do not report SIBs\n", DEFAULT_IP, DEFAULT_PORT ); @@ -263,6 +272,7 @@ int main(int n, char **v) if (!strcmp(v[i], "-ip")) { if (i > n-2) usage(); ip = v[++i]; continue; } if (!strcmp(v[i], "-p")) {if(i>n-2)usage(); port=atoi(v[++i]); continue; } if (!strcmp(v[i], "-no-mib")) { do_mib = 0; continue; } + if (!strcmp(v[i], "-no-sib")) { no_sib = 1; continue; } usage(); } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_bch.c b/openair2/LAYER2/MAC/eNB_scheduler_bch.c index b2b59691f8..7a2b5846fd 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_bch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_bch.c @@ -758,6 +758,9 @@ schedule_SI(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) module_idP, CC_id, frameP, subframeP); } + T(T_ENB_MAC_UE_DL_PDU_WITH_DATA, T_INT(module_idP), T_INT(CC_id), T_INT(0xffff), + T_INT(frameP), T_INT(subframeP), T_INT(0), T_BUFFER(cc->BCCH_pdu.payload, bcch_sdu_length)); + if (opt_enabled == 1) { trace_pdu(DIRECTION_DOWNLINK, &cc->BCCH_pdu.payload[0],