components/wireshark/patches/evb.patch
branchs11-update
changeset 4313 ab47f4c0c6fc
parent 2788 5d4a0834a077
child 5619 4d97a998cbcc
--- a/components/wireshark/patches/evb.patch	Tue May 19 10:36:23 2015 -0700
+++ b/components/wireshark/patches/evb.patch	Wed May 13 04:53:25 2015 -0700
@@ -1,8 +1,13 @@
+Patch origin: in-house
+Patch status: Will be sent to upstream.
+
+Oracle Solaris ECP/VDP dissection based on IEEE 802.1Qbg Draft 2.1. 
+
 Index: epan/oui.h
 ===================================================================
 --- epan/oui.h	(revision 41973)
 +++ epan/oui.h	(working copy)
-@@ -47,6 +47,7 @@
+@@ -45,6 +45,7 @@
  #define OUI_ERICSSON        0x0001EC    /* Ericsson Group */
  #define OUI_CATENA          0x00025A    /* Catena Networks */
  #define OUI_ATHEROS         0x00037F    /* Atheros Communications */
@@ -14,7 +19,7 @@
 ===================================================================
 --- epan/etypes.h	(revision 41973)
 +++ epan/etypes.h	(working copy)
-@@ -514,6 +514,10 @@
+@@ -526,6 +526,10 @@
  #define ETHERTYPE_HSR			0x892F  /* High-availability Seamless Redundancy (IEC62439 Part 3) */
  #endif
  
@@ -29,7 +34,7 @@
 ===================================================================
 --- epan/dissectors/packet-ecp.c	(revision 0)
 +++ epan/dissectors/packet-ecp.c	(revision 0)
-@@ -0,0 +1,616 @@
+@@ -0,0 +1,619 @@
 +/* packet-ecp.c
 + * Routines for Solaris ECP/VDP dissection based on IEEE 802.1Qbg Draft 2.1
 + *
@@ -70,6 +75,7 @@
 +static int proto_vdp = -1;
 +static int hf_vdp_tlv_type = -1;
 +static int hf_vdp_tlv_len = -1;
++static int hf_vdp_tlv_len_invalid = -1;
 +static int hf_vdp_tlv_assoc_reason = -1;
 +static int hf_vdp_tlv_org_oui = -1;
 +static int hf_vdp_vsitypeid = -1;
@@ -203,6 +209,12 @@
 +	{ 0x0,				NULL }
 +};
 +
++static const true_false_string tfs_tlv_len_invalid = {
++        "",
++        ""
++};
++
++
 +static void
 +vdp_add_vidstr(tvbuff_t *tvb, proto_tree *tree, guint32 offset, proto_item *ti)
 +{
@@ -304,7 +316,7 @@
 +		offset++;
 +
 +		/* VSIID */
-+		str = tvb_bytes_to_str_punct(tvb, offset, 16, ':');
++		str = tvb_bytes_to_ep_str_punct(tvb, offset, 16, ':');
 +		proto_tree_add_text(vdp_tlv_assoc_tree, tvb, offset, 16,
 +		    "VSIID: %s", str);
 +		offset += 16;
@@ -356,10 +368,7 @@
 +	tlvlen = TLV_INFO_LEN(tlvhdr);
 +	if (tlvlen != 16) {
 +		if (tree) {
-+			proto_tree_add_text(vdp_tlv_mgrid_tree, tvb, offset, 2,
-+			    "%s Invalid Length: %u",
-+			    decode_boolean_bitfield(tlvlen, TLV_INFO_LEN_MASK,
-+			    16, "", ""), tlvlen);
++			proto_tree_add_boolean(vdp_tlv_mgrid_tree, hf_vdp_tlv_len_invalid, tvb, offset, 2, tlvlen);
 +		}
 +		return -1;
 +	}
@@ -399,10 +408,7 @@
 +	tlvlen = TLV_INFO_LEN(tlvhdr);
 +	if (tlvlen < 3) {
 +		if (tree) {
-+			proto_tree_add_text(tree, tvb, offset, 2,
-+			    "%s Invalid Length: %u",
-+			    decode_boolean_bitfield(tlvlen, TLV_INFO_LEN_MASK,
-+			    16, "", ""), tlvlen);
++			proto_tree_add_boolean(tree, hf_vdp_tlv_len_invalid, tvb, offset, 2, tlvlen);
 +		}
 +		return -1;
 +	}
@@ -504,11 +510,10 @@
 +	ver = ECP_VERSION(hdr);
 +	op = ECP_OP(hdr);
 +	subtype = ECP_SUBTYPE(hdr);
-+	if (check_col(pinfo->cinfo, COL_INFO)) {
-+		col_append_fstr(pinfo->cinfo, COL_INFO,
-+		    "PDU Version = %x OP = %x"
-+		    " Subtype = %x", ver, op, subtype);
-+	}
++	col_append_fstr(pinfo->cinfo, COL_INFO,
++	    "PDU Version = %x OP = %x"
++	    " Subtype = %x", ver, op, subtype);
++
 +	if (tree) {
 +		/* details */
 +		ti = proto_tree_add_item(tree, proto_ecp, tvb, 0, -1, ENC_NA);
@@ -572,7 +577,10 @@
 +		{ &hf_vdp_tlv_len,
 +		{ "VDP TLV Length",	"vdp.tlvlen", FT_UINT16, BASE_DEC,
 +			NULL, TLV_INFO_LEN_MASK, NULL, HFILL }},
-+
++		{ &hf_vdp_tlv_len_invalid,
++		{ "VDP TLV Invalid Length", "vdp.tlvlen_invalid", FT_BOOLEAN,
++		    	16, TFS(&tfs_tlv_len_invalid), TLV_INFO_LEN_MASK,
++			NULL, HFILL}},
 +		{ &hf_vdp_tlv_assoc_reason,
 +		{ "Reason/Status",	"vdp.assoc.reason", FT_UINT8, BASE_HEX,
 +			NULL, 0x0, NULL, HFILL }},
@@ -650,11 +658,11 @@
 ===================================================================
 --- epan/dissectors/Makefile.common	(revision 41973)
 +++ epan/dissectors/Makefile.common	(working copy)
-@@ -114,6 +114,7 @@
- 	packet-dop.c \
- 	packet-dsp.c \
- 	packet-ess.c \
-+	packet-ecp.c \
- 	packet-ftam.c \
- 	packet-goose.c \
- 	packet-HI2Operations.c \
+@@ -118,6 +118,7 @@
+ 	packet-dop.c	\
+ 	packet-dsp.c	\
+ 	packet-ess.c	\
++	packet-ecp.c	\
+ 	packet-ftam.c	\
+ 	packet-goose.c	\
+ 	packet-HI2Operations.c	\