diff options
-rw-r--r-- | epan/dissectors/packet-catapult-dct2000.c | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-mac-lte.c | 31 | ||||
-rw-r--r-- | epan/dissectors/packet-mac-lte.h | 2 |
3 files changed, 39 insertions, 2 deletions
diff --git a/epan/dissectors/packet-catapult-dct2000.c b/epan/dissectors/packet-catapult-dct2000.c index 60273573b4..039e786e98 100644 --- a/epan/dissectors/packet-catapult-dct2000.c +++ b/epan/dissectors/packet-catapult-dct2000.c @@ -1272,6 +1272,10 @@ void attach_fp_info(packet_info *pinfo, gboolean received, const char *protocol_ /* Channel type */ p_fp_info->channel = outhdr_values[i++]; + /* Sad hack until this value is filled in properly */ + if (p_fp_info->channel == 0) { + p_fp_info->channel = CHANNEL_DCH; + } /* Derive direction from node type/side */ node_type = outhdr_values[i++]; @@ -1427,6 +1431,10 @@ static void attach_mac_lte_info(packet_info *pinfo) p_mac_lte_info->detailed_phy_info.dl_info.resource_block_length = outhdr_values[i++]; p_mac_lte_info->crcStatusValid = TRUE; p_mac_lte_info->detailed_phy_info.dl_info.crc_status = outhdr_values[i++]; + if (outhdr_values_found > 18) { + p_mac_lte_info->detailed_phy_info.dl_info.harq_id = outhdr_values[i++]; + p_mac_lte_info->detailed_phy_info.dl_info.ndi = outhdr_values[i++]; + } } else { p_mac_lte_info->detailed_phy_info.ul_info.present = outhdr_values[i++]; diff --git a/epan/dissectors/packet-mac-lte.c b/epan/dissectors/packet-mac-lte.c index 29e9e3d0b9..fe827dec07 100644 --- a/epan/dissectors/packet-mac-lte.c +++ b/epan/dissectors/packet-mac-lte.c @@ -84,6 +84,8 @@ static int hf_mac_lte_context_phy_dl_redundancy_version_index = -1; static int hf_mac_lte_context_phy_dl_retx = -1; static int hf_mac_lte_context_phy_dl_resource_block_length = -1; static int hf_mac_lte_context_phy_dl_crc_status = -1; +static int hf_mac_lte_context_phy_dl_harq_id = -1; +static int hf_mac_lte_context_phy_dl_ndi = -1; /* Out-of-band events */ @@ -1075,12 +1077,23 @@ static void show_extra_phy_parameters(packet_info *pinfo, tvbuff_t *tvb, proto_t p_mac_lte_info->detailed_phy_info.dl_info.crc_status); PROTO_ITEM_SET_GENERATED(ti); + ti = proto_tree_add_uint(phy_tree, hf_mac_lte_context_phy_dl_harq_id, + tvb, 0, 0, + p_mac_lte_info->detailed_phy_info.dl_info.harq_id); + PROTO_ITEM_SET_GENERATED(ti); + + ti = proto_tree_add_uint(phy_tree, hf_mac_lte_context_phy_dl_ndi, + tvb, 0, 0, + p_mac_lte_info->detailed_phy_info.dl_info.ndi); + PROTO_ITEM_SET_GENERATED(ti); + + proto_item_append_text(phy_ti, " ("); write_pdu_label_and_info(phy_ti, NULL, (global_mac_lte_layer_to_show == ShowPHYLayer) ? pinfo : NULL, "DL: UEId=%u RNTI=%u DCI_Format=%s Res_Alloc=%u Aggr_Level=%s MCS=%u RV=%u " - "Res_Block_len=%u CRC_status=%s", + "Res_Block_len=%u CRC_status=%s HARQ_id=%u NDI=%u", p_mac_lte_info->ueid, p_mac_lte_info->rnti, val_to_str_const(p_mac_lte_info->detailed_phy_info.dl_info.dci_format, @@ -1092,7 +1105,9 @@ static void show_extra_phy_parameters(packet_info *pinfo, tvbuff_t *tvb, proto_t p_mac_lte_info->detailed_phy_info.dl_info.redundancy_version_index, p_mac_lte_info->detailed_phy_info.dl_info.resource_block_length, val_to_str_const(p_mac_lte_info->detailed_phy_info.dl_info.crc_status, - crc_status_vals, "Unknown")); + crc_status_vals, "Unknown"), + p_mac_lte_info->detailed_phy_info.dl_info.harq_id, + p_mac_lte_info->detailed_phy_info.dl_info.ndi); proto_item_append_text(phy_ti, ")"); /* Don't want columns to be replaced now */ @@ -3395,6 +3410,18 @@ void proto_register_mac_lte(void) NULL, HFILL } }, + { &hf_mac_lte_context_phy_dl_harq_id, + { "HARQ Id", + "mac-lte.dl-phy.harq-id", FT_UINT8, BASE_DEC, 0, 0x0, + NULL, HFILL + } + }, + { &hf_mac_lte_context_phy_dl_ndi, + { "NDI", + "mac-lte.dl-phy.ndi", FT_UINT8, BASE_DEC, 0, 0x0, + "New Data Indicator", HFILL + } + }, /* Out-of-band events */ { &hf_mac_lte_oob_send_preamble, diff --git a/epan/dissectors/packet-mac-lte.h b/epan/dissectors/packet-mac-lte.h index 94add011db..6ebfa44bfc 100644 --- a/epan/dissectors/packet-mac-lte.h +++ b/epan/dissectors/packet-mac-lte.h @@ -125,6 +125,8 @@ typedef struct mac_lte_info guint8 redundancy_version_index; guint8 resource_block_length; mac_lte_crc_status crc_status; + guint8 harq_id; + gboolean ndi; } dl_info; } detailed_phy_info; |