aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorMartin Mathieson <martin.r.mathieson@googlemail.com>2013-04-15 20:56:49 +0000
committerMartin Mathieson <martin.r.mathieson@googlemail.com>2013-04-15 20:56:49 +0000
commit08c91ded8abf4bc5374694b80199cf338fb81298 (patch)
treebd229f4849e23dcb4cc55ffa6ad3e71770dbd17a /epan
parentcd7796a6ef9086f872e3fbcef03f73e169ea182d (diff)
Add a context field for the carrierId.
svn path=/trunk/; revision=48859
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-mac-lte.c22
-rw-r--r--epan/dissectors/packet-mac-lte.h11
2 files changed, 33 insertions, 0 deletions
diff --git a/epan/dissectors/packet-mac-lte.c b/epan/dissectors/packet-mac-lte.c
index 3d9817301f..2f399be371 100644
--- a/epan/dissectors/packet-mac-lte.c
+++ b/epan/dissectors/packet-mac-lte.c
@@ -63,6 +63,8 @@ static int hf_mac_lte_context_bch_transport_channel = -1;
static int hf_mac_lte_context_retx_count = -1;
static int hf_mac_lte_context_retx_reason = -1;
static int hf_mac_lte_context_crc_status = -1;
+static int hf_mac_lte_context_carrier_id = -1;
+
static int hf_mac_lte_context_rapid = -1;
static int hf_mac_lte_context_rach_attempt_number = -1;
@@ -305,6 +307,15 @@ static const value_string crc_status_vals[] =
{ 0, NULL }
};
+static const value_string carrier_id_vals[] =
+{
+ { carrier_id_primary, "Primary"},
+ { carrier_id_secondary_1, "Secondary-1"},
+ { carrier_id_secondary_2, "Secondary-2"},
+ { carrier_id_secondary_3, "Secondary-3"},
+ { carrier_id_secondary_4, "Secondary-4"},
+ { 0, NULL }
+};
static const value_string dci_format_vals[] =
{
@@ -4511,6 +4522,11 @@ void dissect_mac_lte(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
}
+ /* Carrier Id */
+ ti = proto_tree_add_uint(context_tree, hf_mac_lte_context_carrier_id,
+ tvb, 0, 0, p_mac_lte_info->carrierId);
+ PROTO_ITEM_SET_GENERATED(ti);
+
/* May also have extra Physical layer attributes set for this frame */
show_extra_phy_parameters(pinfo, tvb, mac_lte_tree, p_mac_lte_info);
@@ -4879,6 +4895,12 @@ void proto_register_mac_lte(void)
"CRC Status as reported by PHY", HFILL
}
},
+ { &hf_mac_lte_context_carrier_id,
+ { "Carrier Id",
+ "mac-lte.carrier-id", FT_UINT8, BASE_DEC, VALS(carrier_id_vals), 0x0,
+ NULL, HFILL
+ }
+ },
{ &hf_mac_lte_context_rapid,
{ "RAPID",
"mac-lte.preamble-sent.rapid", FT_UINT8, BASE_DEC, 0, 0x0,
diff --git a/epan/dissectors/packet-mac-lte.h b/epan/dissectors/packet-mac-lte.h
index 09931736a6..1d16e78a3e 100644
--- a/epan/dissectors/packet-mac-lte.h
+++ b/epan/dissectors/packet-mac-lte.h
@@ -89,6 +89,14 @@ typedef enum mac_lte_crc_status {
crc_false_dci = 5
} mac_lte_crc_status;
+typedef enum mac_lte_carrier_id {
+ carrier_id_primary,
+ carrier_id_secondary_1,
+ carrier_id_secondary_2,
+ carrier_id_secondary_3,
+ carrier_id_secondary_4,
+} mac_lte_carrier_id;
+
/* Context info attached to each LTE MAC frame */
typedef struct mac_lte_info
{
@@ -126,6 +134,9 @@ typedef struct mac_lte_info
/* DL only. Status of CRC check */
mac_lte_crc_status crcStatusValid;
+ /* Carrier ID */
+ mac_lte_carrier_id carrierId;
+
/* DL only. Is this known to be a retransmission? */
mac_lte_dl_retx dl_retx;