aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVahap Emin Agaogullari <emin.agaogullari@siemens.com>2021-08-25 07:48:55 -0700
committerVahap Emin Ağaoğulları <emin.agaogullari@siemens.com>2021-08-26 05:28:35 +0000
commitc8d29e9f15e27bd78618dd652d906189cd3bcdbb (patch)
tree2dce746248740daee748a567364a76bd0a7b9d29
parent1ab37111326e098eae7363d8e8d4bb9caabc1583 (diff)
PROFINET: DCP Option dissection updated
DCP Frames with Reserved Option dissection changed short time ago. There isn't a predefined suboption for Reserved option in the standard. But in this implementation it dissected like control suboption. This is not true and creates malformed frames in some dcp pcaps. This implementation is reverted. Wireshark will dissect undefined bytes as paddings just like before.
-rw-r--r--plugins/epan/profinet/packet-pn-dcp.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/plugins/epan/profinet/packet-pn-dcp.c b/plugins/epan/profinet/packet-pn-dcp.c
index 8546a5e2e0..9f366afcae 100644
--- a/plugins/epan/profinet/packet-pn-dcp.c
+++ b/plugins/epan/profinet/packet-pn-dcp.c
@@ -1258,8 +1258,6 @@ dissect_PNDCP_Block(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_item *block_item;
proto_tree *block_tree;
int ori_offset = offset;
- guint8 suboption;
- guint16 block_length;
/* subtree for block */
block_item = proto_tree_add_none_format(tree, hf_pn_dcp_block,
@@ -1301,9 +1299,7 @@ dissect_PNDCP_Block(tvbuff_t *tvb, int offset, packet_info *pinfo,
{
pn_append_info(pinfo, dcp_item, ", Reserved");
proto_item_append_text(block_item, "Reserved");
- offset = dissect_pn_uint8(tvb, offset, pinfo, block_tree, hf_pn_dcp_suboption_control, &suboption);
- offset = dissect_pn_uint16(tvb, offset, pinfo, block_tree, hf_pn_dcp_block_length, &block_length);
- offset = dissect_pn_undecoded(tvb, offset, pinfo, block_tree, block_length);
+ /* there isn't a predefined suboption type for reserved option, rest of the block will be seen as padding */
}
proto_item_set_len(block_item, offset-ori_offset);