From ToddS via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5300 :
authormorriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 15 Oct 2010 17:17:04 +0000 (17:17 +0000)
committermorriss <morriss@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 15 Oct 2010 17:17:04 +0000 (17:17 +0000)
In the profinet plugin, the decoding of the MRP LinkUp and MRP LinkDown
messages is missing the MRP_SA field which garbles the decode of the rest of
the packet.

This fix adds the decoding of the MRP_SA field to the MRP LinkUp and MRP
LinkDown dissectors.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@34524 f5534014-38df-0310-8fa8-9805f1628bb7

plugins/profinet/packet-pn-mrp.c

index 306c71e539934c523978bd5a9e3fbbc757214e13..fce2d08457601a41433a2a32a0aa543da5957cfd 100644 (file)
@@ -136,10 +136,13 @@ static int
 dissect_PNMRP_LinkUp(tvbuff_t *tvb, int offset, 
        packet_info *pinfo, proto_tree *tree, proto_item *item)
 {
+    guint8 mac[6];
     guint16 port_role;
     guint16 interval;
     guint16 blocked;
 
+    /* MRP_SA */
+    offset = dissect_pn_mac(tvb, offset, pinfo, tree, hf_pn_mrp_sa, mac);
 
     /* MRP_PortRole */
     offset = dissect_pn_uint16(tvb, offset, pinfo, tree, hf_pn_mrp_port_role, &port_role);
@@ -165,10 +168,13 @@ static int
 dissect_PNMRP_LinkDown(tvbuff_t *tvb, int offset, 
        packet_info *pinfo, proto_tree *tree, proto_item *item)
 {
+    guint8 mac[6];
     guint16 port_role;
     guint16 interval;
     guint16 blocked;
 
+    /* MRP_SA */
+    offset = dissect_pn_mac(tvb, offset, pinfo, tree, hf_pn_mrp_sa, mac);
 
     /* MRP_PortRole */
     offset = dissect_pn_uint16(tvb, offset, pinfo, tree, hf_pn_mrp_port_role, &port_role);