Add the system frame number (SFN) to the context fields logged along with LTE MAC frames.

svn path=/trunk/; revision=39971
This commit is contained in:
Martin Mathieson 2011-11-21 16:18:33 +00:00
parent ffd84cbf3c
commit ab9ede8e8f
3 changed files with 20 additions and 8 deletions

View File

@ -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);
}

View File

@ -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,

View File

@ -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) */