diff options
author | basakkal <basakkalfa@gmail.com> | 2018-09-17 03:13:09 -0700 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-09-18 04:05:03 +0000 |
commit | b9333f7f09f619df5ecdc85303cff6aabe86781f (patch) | |
tree | 56de67db8b93fb5ac29d7a3d62b7614a8e6e8499 /plugins/epan | |
parent | 87147cd6515bab37b36fad09325de6795b2bf1da (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.c | 12 |
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, |