diff options
author | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2012-11-27 01:11:41 +0000 |
---|---|---|
committer | Martin Mathieson <martin.r.mathieson@googlemail.com> | 2012-11-27 01:11:41 +0000 |
commit | 85e8ebaf1984d81ffd7d6a15e3a2cfaf6ecf82fc (patch) | |
tree | 53da835bb0c2bac2e2c1d26f863e0e9c84dad64a /ui/gtk/mac_lte_stat_dlg.c | |
parent | c4e5b4745a3646f5110cb2ef2687cf302d461547 (diff) | |
download | wireshark-85e8ebaf1984d81ffd7d6a15e3a2cfaf6ecf82fc.tar.gz |
Add %DL padding to LTE MAC stats.
svn path=/trunk/; revision=46215
Diffstat (limited to 'ui/gtk/mac_lte_stat_dlg.c')
-rw-r--r-- | ui/gtk/mac_lte_stat_dlg.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/ui/gtk/mac_lte_stat_dlg.c b/ui/gtk/mac_lte_stat_dlg.c index f90602cb82..927b1433a3 100644 --- a/ui/gtk/mac_lte_stat_dlg.c +++ b/ui/gtk/mac_lte_stat_dlg.c @@ -63,6 +63,7 @@ enum { DL_FRAMES_COLUMN, DL_BYTES_COLUMN, DL_BW_COLUMN, + DL_PADDING_PERCENT_COLUMN, DL_CRC_FAILED_COLUMN, DL_CRC_HIGH_CODE_RATE_COLUMN, DL_CRC_PDSCH_LOST_COLUMN, @@ -90,7 +91,7 @@ enum { static const gchar *ue_titles[] = { "RNTI", "Type", "UEId", "UL Frames", "UL Bytes", "UL MBit/sec", "UL Padding %", "UL ReTX", - "DL Frames", "DL Bytes", "DL MBit/sec", "DL CRC Failed", "DL CRC High Code Rate", "DL CRC PDSCH Lost", "DL CRC Dup NonZero RV", "DL ReTX"}; + "DL Frames", "DL Bytes", "DL MBit/sec", "DL Padding %", "DL CRC Failed", "DL CRC High Code Rate", "DL CRC PDSCH Lost", "DL CRC Dup NonZero RV", "DL ReTX"}; static const gchar *channel_titles[] = { "CCCH", "LCID 1", "LCID 2", "LCID 3", "LCID 4", "LCID 5", @@ -117,9 +118,11 @@ typedef struct mac_lte_row_data { guint32 UL_retx_frames; guint32 DL_frames; + guint32 DL_raw_bytes; /* all bytes */ guint32 DL_total_bytes; nstime_t DL_time_start; nstime_t DL_time_stop; + guint32 DL_padding_bytes; guint32 DL_CRC_failures; guint32 DL_CRC_high_code_rate; guint32 DL_CRC_PDSCH_lost; @@ -283,7 +286,9 @@ static mac_lte_ep_t* alloc_mac_lte_ep(struct mac_lte_tap_info *si, packet_info * ep->stats.DL_frames = 0; ep->stats.UL_total_bytes = 0; ep->stats.UL_raw_bytes = 0; + ep->stats.DL_raw_bytes = 0; ep->stats.UL_padding_bytes = 0; + ep->stats.DL_padding_bytes = 0; ep->stats.DL_total_bytes = 0; ep->stats.UL_CRC_errors = 0; ep->stats.DL_CRC_failures = 0; @@ -501,6 +506,9 @@ static int mac_lte_stat_packet(void *phs, packet_info *pinfo, epan_dissect_t *ed te->stats.DL_frames++; + te->stats.DL_raw_bytes += si->raw_length; + te->stats.DL_padding_bytes += si->padding_bytes; + if (si->isPredefinedData) { te->stats.DL_total_bytes += si->single_number_of_bytes; } @@ -731,6 +739,10 @@ static void mac_lte_stat_draw(void *phs) DL_FRAMES_COLUMN, tmp->stats.DL_frames, DL_BYTES_COLUMN, tmp->stats.DL_total_bytes, DL_BW_COLUMN, DL_bw, + DL_PADDING_PERCENT_COLUMN, + tmp->stats.DL_raw_bytes ? + (((float)tmp->stats.DL_padding_bytes / (float)tmp->stats.DL_raw_bytes) * 100.0) : + 0.0, DL_CRC_FAILED_COLUMN, tmp->stats.DL_CRC_failures, DL_CRC_HIGH_CODE_RATE_COLUMN, tmp->stats.DL_CRC_high_code_rate, DL_CRC_PDSCH_LOST_COLUMN, tmp->stats.DL_CRC_PDSCH_lost, @@ -1146,7 +1158,7 @@ static void gtk_mac_lte_stat_init(const char *optarg, void *userdata _U_) /* Create the table of UE data */ store = gtk_list_store_new(NUM_UE_COLUMNS, G_TYPE_INT, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_FLOAT, G_TYPE_FLOAT, G_TYPE_INT, /* UL */ - G_TYPE_INT, G_TYPE_INT, G_TYPE_FLOAT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, /* DL */ + G_TYPE_INT, G_TYPE_INT, G_TYPE_FLOAT, G_TYPE_FLOAT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, /* DL */ G_TYPE_POINTER); hs->ue_table = GTK_TREE_VIEW(tree_view_new(GTK_TREE_MODEL(store))); gtk_container_add(GTK_CONTAINER (ues_scrolled_window), GTK_WIDGET(hs->ue_table)); @@ -1158,7 +1170,8 @@ static void gtk_mac_lte_stat_init(const char *optarg, void *userdata _U_) /* Create the titles for each column of the per-UE table */ for (i = 0; i < TABLE_COLUMN; i++) { - if (i == UL_PADDING_PERCENT_COLUMN) { + if ((i == UL_PADDING_PERCENT_COLUMN) || + (i == DL_PADDING_PERCENT_COLUMN)) { /* Show % as progress bar */ renderer = gtk_cell_renderer_progress_new(); column = gtk_tree_view_column_new_with_attributes(ue_titles[i], renderer, |