aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-openflow_v5.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2014-12-27 16:46:32 +0100
committerAnders Broman <a.broman58@gmail.com>2014-12-27 17:03:24 +0000
commit25c7e0d9df50c8764927922e724aaa18e7f6c738 (patch)
tree7fcc5fdea7f6e2f64a5f627d5a710fa88f136642 /epan/dissectors/packet-openflow_v5.c
parent1ae0c4a643ba41eddfe875d9dde46a3811eda5bc (diff)
OpenFlow: fix dissection of async_config_prop structure
Bug: 10808 Change-Id: I5ef46cd6b85c415e23dfdbe7a56c8b332eaae5a3 Reviewed-on: https://code.wireshark.org/review/6078 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-openflow_v5.c')
-rw-r--r--epan/dissectors/packet-openflow_v5.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/epan/dissectors/packet-openflow_v5.c b/epan/dissectors/packet-openflow_v5.c
index 5474b13c70..2df9aeeb18 100644
--- a/epan/dissectors/packet-openflow_v5.c
+++ b/epan/dissectors/packet-openflow_v5.c
@@ -5439,15 +5439,17 @@ dissect_openflow_async_config_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pro
/* uint16_t type; */
proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_type, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
/* uint16_t length; */
proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_length, tvb, offset, 2, ENC_BIG_ENDIAN);
+ offset += 2;
switch (prop_type) {
case OFPACPT_PACKET_IN_SLAVE:
case OFPACPT_PACKET_IN_MASTER:
/* uint32_t mask; */
- ti = proto_tree_add_item(tree, hf_openflow_v5_async_config_prop_reason_packet_in_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
+ ti = proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_reason_packet_in_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
pi_tree = proto_item_add_subtree(ti, ett_openflow_v5_async_config_prop_reason_packet_in_mask);
proto_tree_add_item(pi_tree, hf_openflow_v5_async_config_prop_reason_packet_in_mask_table_miss, tvb, offset, 4, ENC_BIG_ENDIAN);
@@ -5462,7 +5464,7 @@ dissect_openflow_async_config_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pro
case OFPACPT_PORT_STATUS_SLAVE:
case OFPACPT_PORT_STATUS_MASTER:
/* uint32_t mask; */
- ti = proto_tree_add_item(tree, hf_openflow_v5_async_config_prop_reason_port_status_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
+ ti = proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_reason_port_status_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
ps_tree = proto_item_add_subtree(ti, ett_openflow_v5_async_config_prop_reason_port_status_mask);
proto_tree_add_item(ps_tree, hf_openflow_v5_async_config_prop_reason_port_status_mask_add, tvb, offset, 4, ENC_BIG_ENDIAN);
@@ -5474,7 +5476,7 @@ dissect_openflow_async_config_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pro
case OFPACPT_FLOW_REMOVED_SLAVE:
case OFPACPT_FLOW_REMOVED_MASTER:
/* uint32_t mask; */
- ti = proto_tree_add_item(tree, hf_openflow_v5_async_config_prop_reason_flow_removed_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
+ ti = proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_reason_flow_removed_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
fr_tree = proto_item_add_subtree(ti, ett_openflow_v5_async_config_prop_reason_flow_removed_mask);
proto_tree_add_item(fr_tree, hf_openflow_v5_async_config_prop_reason_flow_removed_mask_idle_timeout, tvb, offset, 4, ENC_BIG_ENDIAN);
@@ -5489,7 +5491,7 @@ dissect_openflow_async_config_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pro
case OFPACPT_ROLE_STATUS_SLAVE:
case OFPACPT_ROLE_STATUS_MASTER:
/* uint32_t mask; */
- ti = proto_tree_add_item(tree, hf_openflow_v5_async_config_prop_reason_role_status_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
+ ti = proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_reason_role_status_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
rs_tree = proto_item_add_subtree(ti, ett_openflow_v5_async_config_prop_reason_role_status_mask);
proto_tree_add_item(rs_tree, hf_openflow_v5_async_config_prop_reason_role_status_mask_master_request, tvb, offset, 4, ENC_BIG_ENDIAN);
@@ -5501,7 +5503,7 @@ dissect_openflow_async_config_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pro
case OFPACPT_TABLE_STATUS_SLAVE:
case OFPACPT_TABLE_STATUS_MASTER:
/* uint32_t mask; */
- ti = proto_tree_add_item(tree, hf_openflow_v5_async_config_prop_reason_table_status_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
+ ti = proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_reason_table_status_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
ts_tree = proto_item_add_subtree(ti, ett_openflow_v5_async_config_prop_reason_table_status_mask);
proto_tree_add_item(ts_tree, hf_openflow_v5_async_config_prop_reason_table_status_mask_vacancy_down, tvb, offset, 4, ENC_BIG_ENDIAN);
@@ -5512,7 +5514,7 @@ dissect_openflow_async_config_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pro
case OFPACPT_REQUESTFORWARD_SLAVE:
case OFPACPT_REQUESTFORWARD_MASTER:
/* uint32_t mask; */
- ti = proto_tree_add_item(tree, hf_openflow_v5_async_config_prop_reason_requestforward_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
+ ti = proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_reason_requestforward_mask, tvb, offset, 4, ENC_BIG_ENDIAN);
rf_tree = proto_item_add_subtree(ti, ett_openflow_v5_async_config_prop_reason_requestforward_mask);
proto_tree_add_item(rf_tree, hf_openflow_v5_async_config_prop_reason_requestforward_mask_group_mod, tvb, offset, 4, ENC_BIG_ENDIAN);
@@ -5523,21 +5525,21 @@ dissect_openflow_async_config_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pro
case OFPACPT_EXPERIMENTER_SLAVE:
case OFPACPT_EXPERIMENTER_MASTER:
/* uint32_t experimenter; */
- proto_tree_add_item(tree, hf_openflow_v5_async_config_prop_experimenter_experimenter, tvb, offset, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_experimenter_experimenter, tvb, offset, 4, ENC_BIG_ENDIAN);
offset+=4;
/* uint32_t exp_type; */
- proto_tree_add_item(tree, hf_openflow_v5_async_config_prop_experimenter_exp_type, tvb, offset, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_experimenter_exp_type, tvb, offset, 4, ENC_BIG_ENDIAN);
offset+=4;
/* uint32_t experimenter_data[0]; */
- proto_tree_add_expert_format(tree, pinfo, &ei_openflow_v5_async_config_prop_undecoded,
+ proto_tree_add_expert_format(prop_tree, pinfo, &ei_openflow_v5_async_config_prop_undecoded,
tvb, offset, prop_len - 12, "Experimenter async config prop body.");
offset += prop_len - 12;
break;
default:
- proto_tree_add_expert_format(tree, pinfo, &ei_openflow_v5_async_config_prop_undecoded,
+ proto_tree_add_expert_format(prop_tree, pinfo, &ei_openflow_v5_async_config_prop_undecoded,
tvb, offset, prop_len - 4, "Unknown async config prop body.");
offset += prop_len - 4;
break;