diff options
author | martinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-11-21 16:18:33 +0000 |
---|---|---|
committer | martinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7> | 2011-11-21 16:18:33 +0000 |
commit | 7e6bba5f522f18152d5294a6b71fe86f7ab9d9be (patch) | |
tree | a5bd2ae6488f699fc8198e2449fe310f3c543b86 | |
parent | e8766df56005f16811a7e30e6726cc28f8e5e341 (diff) |
Add the system frame number (SFN) to the context fields logged along with LTE MAC frames.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@39971 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r-- | epan/dissectors/packet-catapult-dct2000.c | 11 | ||||
-rw-r--r-- | epan/dissectors/packet-mac-lte.c | 14 | ||||
-rw-r--r-- | epan/dissectors/packet-mac-lte.h | 3 |
3 files changed, 20 insertions, 8 deletions
diff --git a/epan/dissectors/packet-catapult-dct2000.c b/epan/dissectors/packet-catapult-dct2000.c index 6c7407c958..cff6ca2cc9 100644 --- a/epan/dissectors/packet-catapult-dct2000.c +++ b/epan/dissectors/packet-catapult-dct2000.c @@ -260,7 +260,7 @@ static const value_string transport_channel_type_vals[] = { #define MAX_OUTHDR_VALUES 32 static guint outhdr_values[MAX_OUTHDR_VALUES]; -static gint outhdr_values_found = 0; +static guint outhdr_values_found = 0; extern int proto_fp; extern int proto_rlc; @@ -1763,18 +1763,23 @@ static void attach_mac_lte_info(packet_info *pinfo) if (outhdr_values_found == 16) { p_mac_lte_info->subframeNumberOfGrantPresent = TRUE; - p_mac_lte_info->subframeNumberOfGrant = outhdr_values[i]; + p_mac_lte_info->subframeNumberOfGrant = outhdr_values[i++]; } if (outhdr_values_found > 16) { p_mac_lte_info->detailed_phy_info.ul_info.harq_id = outhdr_values[i++]; p_mac_lte_info->detailed_phy_info.ul_info.ndi = outhdr_values[i++]; p_mac_lte_info->subframeNumberOfGrantPresent = TRUE; - p_mac_lte_info->subframeNumberOfGrant = outhdr_values[i]; + p_mac_lte_info->subframeNumberOfGrant = outhdr_values[i++]; } } } + /* System frame number */ + if (i < outhdr_values_found) { + p_mac_lte_info->sysframeNumber = outhdr_values[i]; + } + /* Store info in packet */ set_mac_lte_proto_data(pinfo, p_mac_lte_info); } diff --git a/epan/dissectors/packet-mac-lte.c b/epan/dissectors/packet-mac-lte.c index bc04f31119..542d0da9e2 100644 --- a/epan/dissectors/packet-mac-lte.c +++ b/epan/dissectors/packet-mac-lte.c @@ -41,10 +41,6 @@ */ -/* TODO: - - ?? -*/ - /* Initialize the protocol and registered fields. */ int proto_mac_lte = -1; @@ -57,6 +53,7 @@ static int hf_mac_lte_context_direction = -1; static int hf_mac_lte_context_rnti = -1; static int hf_mac_lte_context_rnti_type = -1; static int hf_mac_lte_context_ueid = -1; +static int hf_mac_lte_context_sysframe_number = -1; static int hf_mac_lte_context_subframe_number = -1; static int hf_mac_lte_context_grant_subframe_number = -1; static int hf_mac_lte_context_predefined_frame = -1; @@ -3359,6 +3356,9 @@ void dissect_mac_lte(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) return; } + ti = proto_tree_add_uint(context_tree, hf_mac_lte_context_sysframe_number, + tvb, 0, 0, p_mac_lte_info->sysframeNumber); + PROTO_ITEM_SET_GENERATED(ti); ti = proto_tree_add_uint(context_tree, hf_mac_lte_context_subframe_number, tvb, 0, 0, p_mac_lte_info->subframeNumber); @@ -3701,6 +3701,12 @@ void proto_register_mac_lte(void) "User Equipment Identifier associated with message", HFILL } }, + { &hf_mac_lte_context_sysframe_number, + { "System Frame Number", + "mac-lte.sfn", FT_UINT16, BASE_DEC, 0, 0x0, + "System Frame Number associated with message", HFILL + } + }, { &hf_mac_lte_context_subframe_number, { "Subframe", "mac-lte.subframe", FT_UINT16, BASE_DEC, 0, 0x0, diff --git a/epan/dissectors/packet-mac-lte.h b/epan/dissectors/packet-mac-lte.h index e2541ac9f3..55086837c2 100644 --- a/epan/dissectors/packet-mac-lte.h +++ b/epan/dissectors/packet-mac-lte.h @@ -97,7 +97,8 @@ typedef struct mac_lte_info guint16 rnti; guint16 ueid; - /* Timing info. TODO: sysframe too? */ + /* Timing info */ + guint16 sysframeNumber; guint16 subframeNumber; /* Optional field. More interesting for TDD (FDD is always -4 subframeNumber) */ |