summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-extreme.c
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2005-08-15 12:41:08 +0000
committerJörg Mayer <jmayer@loplof.de>2005-08-15 12:41:08 +0000
commit773325425383ac6c30d6d278a0417c69ad67654c (patch)
tree03c65e7aece28b1872bac5700fea2a304cd79b14 /epan/dissectors/packet-extreme.c
parent12e2db899c40754f1614273fe832b33803aefce9 (diff)
downloadwireshark-773325425383ac6c30d6d278a0417c69ad67654c.tar.gz
- Documentation update
- The slot and port numbers printed on the chassis are off by one when compared to the transmitted values (reported by Jim Young). svn path=/trunk/; revision=15358
Diffstat (limited to 'epan/dissectors/packet-extreme.c')
-rw-r--r--epan/dissectors/packet-extreme.c63
1 files changed, 59 insertions, 4 deletions
diff --git a/epan/dissectors/packet-extreme.c b/epan/dissectors/packet-extreme.c
index 95606ae8cb..4dc2ce3b20 100644
--- a/epan/dissectors/packet-extreme.c
+++ b/epan/dissectors/packet-extreme.c
@@ -35,6 +35,13 @@
The Display string may be incomplete (no spec)
Look for FIXME in the code :-)
+The following information is taken from the Extreme knowledge base
+(login required). Search for ESRP.
+Note: The information seems to be incorrect in at least one place
+ (position of Vlan ID).
+
+================================ snip ================================
+
ESRP Packet Format:
-------------------
@@ -82,6 +89,49 @@ EDP is a SNAP encapsulated frame. The top level looks like this:
The top level format is like this:
[ SNAP header ] [ EDP header] [ TLV 0 ] [ TLV 1 ] ... [ TLV N ]
+Header format:
+1 octet: EDP version
+1 octet: reserved
+2 octets: length
+2 octets: checksum
+2 octets: sequence #
+8 octets: device id (currently 2 0 octets followed by system mac address)
+
+TLV stands for Type, Length, Value.
+Format of a TLV entry:
+marker ( 1 octet): Hex 99
+type ( 1 octet):
+ The following types are used:
+ Null (used as an end signal): 0
+ Display (Mib II display string): 1
+ Info (Basic system information): 2
+ Vlan Info : 5
+ ESRP : 8
+Length: Length of subsequent data(2 octets)
+Value: Length octets of data.
+
+Format for Info TLV:
+two octets: originating slot #
+two octets: originating port #
+two octets: Virtual Chassis Id (If originating port is connected to a virtual chassis).
+six octets: reserved
+four octets: software version
+16 octets: Virtual Chassis Id connections
+
+Format for Vlan info:
+octet 0: Flags (bit 8 = 1 means this vlan has an IP interface)
+octets 1,2,3: reserved.
+octets 4,5: vlan Id (0 if untagged)
+octets 6,7: reserved.
+octets 8 - 11: Vlan IP address.
+Rest of value: VLAN name.
+
+Display string is merely length octets of the MIBII display string.
+
+These are the structures you will see most often in EDP frames.
+
+================================ snap ================================
+
*/
#ifdef HAVE_CONFIG_H
@@ -240,13 +290,18 @@ dissect_info_tlv(tvbuff_t *tvb, packet_info *pinfo _U_, int offset, int length _
proto_item *tlvi;
proto_tree *ver_tree;
guint8 major1, major2, sustaining, internal;
+ guint16 port, slot;
- proto_tree_add_item(tree, hf_edp_info_slot, tvb, offset, 2,
- FALSE);
+ /* The slot and port numbers printed on the chassis are 1
+ bigger than the transmitted values indicate */
+ slot = tvb_get_ntohs(tvb, offset) + 1;
+ proto_tree_add_uint(tree, hf_edp_info_slot, tvb, offset, 2,
+ slot);
offset += 2;
- proto_tree_add_item(tree, hf_edp_info_port, tvb, offset, 2,
- FALSE);
+ port = tvb_get_ntohs(tvb, offset) + 1;
+ proto_tree_add_uint(tree, hf_edp_info_port, tvb, offset, 2,
+ port);
offset += 2;
proto_tree_add_item(tree, hf_edp_info_vchassid, tvb, offset, 2,