aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/wimax/msg_res_cmd.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-09-24 18:45:39 +0000
committerMichael Mann <mmann78@netscape.net>2013-09-24 18:45:39 +0000
commit1ac3997acb378af43aa4397df807b320ce56b134 (patch)
treea2ad59ae862f5cca90370d7c580535c1a430fcc4 /plugins/wimax/msg_res_cmd.c
parent019e64f58d78f88846021cd15ae5af2bab853442 (diff)
Wimax dissector improvements:
1. Remove message type field from all MAC Management "sub"dissectors and place it in Mac Management subdissector itself. This may cause backwards-compatibility issues (malformed packets) with third-party subdissectors of the MAC Management dissector, but it didn't make sense to have so many filters for a single enumerated value, especially when the various "protocol" filters covers many of them. 2. Removed some if(tree) checks as column info and calling other dissectors are sometimes executed underneath. Some of this is in preparation for addressing bug 5349. 3. Make all dissector functions (and a few others) static, and use register_dissector() when necessary. 4. Convert generic decoder CRC errors into expert info, rather than have it be a "protocol" filter (it just looks funny that way) In general, these dissectors seem "over-protocolized". I understand the need for all of the dissectors, but I don't know if they all need "protocol" status. svn path=/trunk/; revision=52203
Diffstat (limited to 'plugins/wimax/msg_res_cmd.c')
-rw-r--r--plugins/wimax/msg_res_cmd.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/plugins/wimax/msg_res_cmd.c b/plugins/wimax/msg_res_cmd.c
index 2573e86332..7cb8da3a09 100644
--- a/plugins/wimax/msg_res_cmd.c
+++ b/plugins/wimax/msg_res_cmd.c
@@ -44,42 +44,29 @@ static gint proto_mac_mgmt_msg_res_cmd_decoder = -1;
static gint ett_mac_mgmt_msg_res_cmd_decoder = -1;
/* fix fields */
-static gint hf_res_cmd_message_type = -1;
static gint hf_res_cmd_unknown_type = -1;
static gint hf_res_cmd_invalid_tlv = -1;
/* Wimax Mac RES-CMD Message Dissector */
-void dissect_mac_mgmt_msg_res_cmd_decoder(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static void dissect_mac_mgmt_msg_res_cmd_decoder(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
guint offset = 0;
- guint tvb_len, payload_type;
+ guint tvb_len;
gint tlv_type, tlv_len, tlv_value_offset;
- proto_item *res_cmd_item = NULL;
- proto_tree *res_cmd_tree = NULL;
+ proto_item *res_cmd_item;
+ proto_tree *res_cmd_tree;
proto_tree *tlv_tree = NULL;
tlv_info_t tlv_info;
- /* Ensure the right payload type */
- payload_type = tvb_get_guint8(tvb, offset);
- if(payload_type != MAC_MGMT_MSG_RES_CMD)
- {
- return;
- }
-
- if(tree)
{ /* we are being asked for details */
/* Get the tvb reported length */
tvb_len = tvb_reported_length(tvb);
/* display MAC payload type RES-CMD */
- res_cmd_item = proto_tree_add_protocol_format(tree, proto_mac_mgmt_msg_res_cmd_decoder, tvb, offset, tvb_len, "Reset Command (RES-CMD) (%u bytes)", tvb_len);
+ res_cmd_item = proto_tree_add_protocol_format(tree, proto_mac_mgmt_msg_res_cmd_decoder, tvb, offset, -1, "Reset Command (RES-CMD)");
/* add MAC RES-CMD subtree */
res_cmd_tree = proto_item_add_subtree(res_cmd_item, ett_mac_mgmt_msg_res_cmd_decoder);
/* Decode and display the Reset Command (RES-CMD) */
- /* display the Message Type */
- proto_tree_add_item(res_cmd_tree, hf_res_cmd_message_type, tvb, offset, 1, ENC_BIG_ENDIAN);
- /* set the offset for the TLV Encoded info */
- offset++;
/* process the RES-CMD TLVs */
while(offset < tvb_len)
{
@@ -133,10 +120,6 @@ void proto_register_mac_mgmt_msg_res_cmd(void)
static hf_register_info hf_res_cmd[] =
{
{
- &hf_res_cmd_message_type,
- {"MAC Management Message Type", "wmx.macmgtmsgtype.res_cmd", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL}
- },
- {
&hf_res_cmd_invalid_tlv,
{"Invalid TLV", "wmx.res_cmd.invalid_tlv", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL}
},