aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/epan
diff options
context:
space:
mode:
authorbasakkal <basakkalfa@gmail.com>2018-09-17 03:13:09 -0700
committerAnders Broman <a.broman58@gmail.com>2018-09-18 04:05:03 +0000
commitb9333f7f09f619df5ecdc85303cff6aabe86781f (patch)
tree56de67db8b93fb5ac29d7a3d62b7614a8e6e8499 /plugins/epan
parent87147cd6515bab37b36fad09325de6795b2bf1da (diff)
PROFINET: AM_Reserved is added on AM_FirmwareOnlyInformation
block According to specification, AM_FirmwareOnlyInformation is extended with AM_Reserved. Dissection of I&M3 was only for read response. Dissection is also added for write request. Change-Id: I281efa2324416b0f98d22ee4e50f2c8f711e2913 Reviewed-on: https://code.wireshark.org/review/29693 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'plugins/epan')
-rw-r--r--plugins/epan/profinet/packet-dcerpc-pn-io.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/epan/profinet/packet-dcerpc-pn-io.c b/plugins/epan/profinet/packet-dcerpc-pn-io.c
index bf7c69dd7d..d4e564768a 100644
--- a/plugins/epan/profinet/packet-dcerpc-pn-io.c
+++ b/plugins/epan/profinet/packet-dcerpc-pn-io.c
@@ -714,6 +714,7 @@ static int hf_pn_io_am_location_endsubslotnum = -1;
static int hf_pn_io_am_software_revision = -1;
static int hf_pn_io_am_hardware_revision = -1;
static int hf_pn_io_am_type_identification = -1;
+static int hf_pn_io_am_reserved = -1;
static int hf_pn_io_dcp_boundary_value = -1;
static int hf_pn_io_dcp_boundary_value_bit0 = -1;
@@ -3957,6 +3958,7 @@ guint8 u8BlockVersionHigh, guint8 u8BlockVersionLow)
{
e_guid_t IM_UniqueIdentifier;
guint16 u16AM_TypeIdentification;
+ guint16 u16AM_Reserved;
if (u8BlockVersionHigh != 1 || u8BlockVersionLow != 0) {
expert_add_info_format(pinfo, item, &ei_pn_io_block_version,
@@ -3999,6 +4001,10 @@ guint8 u8BlockVersionHigh, guint8 u8BlockVersionLow)
offset = dissect_dcerpc_uint16(tvb, offset, pinfo, tree, drep,
hf_pn_io_am_type_identification, &u16AM_TypeIdentification);
+ /* AM_Reserved */
+ offset = dissect_dcerpc_uint16(tvb, offset, pinfo, tree, drep,
+ hf_pn_io_am_reserved, &u16AM_Reserved);
+
return offset;
}
@@ -10794,6 +10800,7 @@ dissect_RecordDataWrite(tvbuff_t *tvb, int offset,
case(0x8090): /* PDInterfaceFSUDataAdjust */
case(0x80B0): /* CombinedObjectContainer*/
case(0x80CF): /* RS_AdjustObserver */
+ case(0xaff3): /* I&M3 */
case(0xe030): /* IsochronousModeData for one AR */
case(0xe050): /* FastStartUp data for one AR */
case(0xe061): /* RS_AckEvent (using RecordDataWrite service) */
@@ -14009,6 +14016,11 @@ proto_register_pn_io (void)
FT_UINT16, BASE_HEX, NULL, 0x0,
NULL, HFILL }
},
+ { &hf_pn_io_am_reserved,
+ { "AM Reserved", "pn_io.am_reserved",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
{ &hf_pn_io_mau_type_extension,
{ "MAU Type Extension", "pn_io.mau_type_extension",
FT_UINT16, BASE_HEX | BASE_RANGE_STRING, RVALS(pn_io_mau_type_extension), 0x0,