diff options
author | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2003-04-30 18:55:32 +0000 |
---|---|---|
committer | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2003-04-30 18:55:32 +0000 |
commit | fbe0a84a131d674e08a65b84fb00aa0f4897ba0b (patch) | |
tree | dc45767fcb4ae33205e13854e3647ff207de9dc5 /packet-bpdu.c | |
parent | d8765649b9b7903e4122787ac3cfae70415e7077 (diff) |
From Kaloian Stoilov: add a subtree for the MSTI flags.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@7610 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-bpdu.c')
-rw-r--r-- | packet-bpdu.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/packet-bpdu.c b/packet-bpdu.c index 292a551f66..ef701e427c 100644 --- a/packet-bpdu.c +++ b/packet-bpdu.c @@ -1,7 +1,7 @@ /* packet-bpdu.c * Routines for BPDU (Spanning Tree Protocol) disassembly * - * $Id: packet-bpdu.c,v 1.45 2003/01/11 10:16:22 guy Exp $ + * $Id: packet-bpdu.c,v 1.46 2003/04/30 18:55:30 guy Exp $ * * Copyright 1999 Christophe Tronche <ch.tronche@computer.org> * @@ -481,7 +481,6 @@ dissect_bpdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) BPDU_VERSION_3_LENGTH, 2, version_3_length); mstp_tree = proto_item_add_subtree(mstp_item, ett_mstp); - mst_config_format_selector = tvb_get_guint8(tvb, BPDU_MST_CONFIG_FORMAT_SELECTOR); proto_tree_add_uint(mstp_tree, hf_bpdu_mst_config_format_selector, tvb, BPDU_MST_CONFIG_FORMAT_SELECTOR, 1, mst_config_format_selector); @@ -532,23 +531,39 @@ dissect_bpdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) msti_tree = proto_item_add_subtree(msti_item, ett_msti); /* flags */ + flags = tvb_get_guint8(tvb, offset+MSTI_FLAGS); flags_item = proto_tree_add_uint(msti_tree, hf_bpdu_msti_flags, tvb, offset+MSTI_FLAGS, 1, flags); + flags_tree = proto_item_add_subtree(flags_item, ett_bpdu_flags); sep = initial_sep; APPEND_BOOLEAN_FLAG(flags & BPDU_FLAGS_TCACK, flags_item, "%sMaster"); + proto_tree_add_boolean(flags_tree, hf_bpdu_flags_tcack, tvb, + offset+MSTI_FLAGS, 1, flags); APPEND_BOOLEAN_FLAG(flags & BPDU_FLAGS_AGREEMENT, flags_item, "%sAgreement"); + proto_tree_add_boolean(flags_tree, hf_bpdu_flags_agreement, tvb, + offset+MSTI_FLAGS, 1, flags); APPEND_BOOLEAN_FLAG(flags & BPDU_FLAGS_FORWARDING, flags_item, "%sForwarding"); + proto_tree_add_boolean(flags_tree, hf_bpdu_flags_forwarding, tvb, + offset+MSTI_FLAGS, 1, flags); APPEND_BOOLEAN_FLAG(flags & BPDU_FLAGS_LEARNING, flags_item, "%sLearning"); + proto_tree_add_boolean(flags_tree, hf_bpdu_flags_learning, tvb, + offset+MSTI_FLAGS, 1, flags); if (flags_item) { guint8 port_role; port_role = (flags & BPDU_FLAGS_PORT_ROLE_MASK) >> BPDU_FLAGS_PORT_ROLE_SHIFT; proto_item_append_text(flags_item, "%sPort Role: %s", sep, val_to_str(port_role, role_vals, "Unknown (%u)")); } + proto_tree_add_uint(flags_tree, hf_bpdu_flags_port_role, tvb, + offset+MSTI_FLAGS, 1, flags); sep = cont_sep; APPEND_BOOLEAN_FLAG(flags & BPDU_FLAGS_PROPOSAL, flags_item, "%sProposal"); + proto_tree_add_boolean(flags_tree, hf_bpdu_flags_proposal, tvb, + offset+MSTI_FLAGS, 1, flags); APPEND_BOOLEAN_FLAG(flags & BPDU_FLAGS_TC, flags_item, "%sTopology Change"); + proto_tree_add_boolean(flags_tree, hf_bpdu_flags_tc, tvb, + offset+MSTI_FLAGS, 1, flags); if (sep != initial_sep) { /* We put something in; put in the terminating ")" */ proto_item_append_text(flags_item, ")"); } |