aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-openflow_v5.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-07-05 15:25:32 -0400
committerMichael Mann <mmann78@netscape.net>2014-07-05 20:36:36 +0000
commitfc63343a4ebebeb594a162c57bd1b17315a6e4d5 (patch)
treeb0f0c8b8e395a99f9fbbf95edad18b1370786e91 /epan/dissectors/packet-openflow_v5.c
parent3f7725174d2c4122b1d159958a56b8d8b928301b (diff)
convert to proto_tree_add_subtree[_format]
Change-Id: I8df48b25de784a48a25f0e48aac1e1545ed92c35 Reviewed-on: https://code.wireshark.org/review/2865 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-openflow_v5.c')
-rw-r--r--epan/dissectors/packet-openflow_v5.c132
1 files changed, 38 insertions, 94 deletions
diff --git a/epan/dissectors/packet-openflow_v5.c b/epan/dissectors/packet-openflow_v5.c
index 0f9e9fdbec..22269a5d92 100644
--- a/epan/dissectors/packet-openflow_v5.c
+++ b/epan/dissectors/packet-openflow_v5.c
@@ -1143,7 +1143,6 @@ dissect_openflow_oxm_header_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
static int
dissect_openflow_oxm_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *oxm_tree;
guint16 oxm_class;
guint8 oxm_field_hm;
@@ -1160,8 +1159,7 @@ dissect_openflow_oxm_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
oxm_hm = oxm_field_hm & OXM_HM_MASK;
field_length = (oxm_hm == 0) ? oxm_length : (oxm_length / 2);
- ti = proto_tree_add_text(tree, tvb, offset, oxm_length + 4, "OXM field");
- oxm_tree = proto_item_add_subtree(ti, ett_openflow_v5_oxm);
+ oxm_tree = proto_tree_add_subtree(tree, tvb, offset, oxm_length + 4, ett_openflow_v5_oxm, NULL, "OXM field");
offset = dissect_openflow_oxm_header_v5(tvb, pinfo, oxm_tree, offset, length);
@@ -1288,8 +1286,7 @@ dissect_openflow_match_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
guint16 fields_end;
guint16 pad_length;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Match");
- match_tree = proto_item_add_subtree(ti, ett_openflow_v5_match);
+ match_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_match, &ti, "Match");
/* uint16_t type; */
match_type = tvb_get_ntohs(tvb, offset);
@@ -1365,8 +1362,7 @@ dissect_openflow_meter_band_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
guint16 band_type;
guint16 band_len;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Meter band");
- band_tree = proto_item_add_subtree(ti, ett_openflow_v5_meter_band);
+ band_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_meter_band, &ti, "Meter band");
/* uint16_t type; */
band_type = tvb_get_ntohs(tvb, offset);
@@ -1435,14 +1431,12 @@ static const value_string openflow_v5_hello_element_type_values[] = {
static int
dissect_openflow_hello_element_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length)
{
- proto_item *ti;
proto_tree *elem_tree;
guint16 elem_type;
guint16 elem_length;
guint16 pad_length;
- ti = proto_tree_add_text(tree, tvb, offset, length - offset, "Element");
- elem_tree = proto_item_add_subtree(ti, ett_openflow_v5_hello_element);
+ elem_tree = proto_tree_add_subtree(tree, tvb, offset, length - offset, ett_openflow_v5_hello_element, NULL, "Element");
/* uint16_t type; */
elem_type = tvb_get_ntohs(tvb, offset);
@@ -1758,7 +1752,6 @@ static const value_string openflow_v5_error_bundle_failed_code_values[] = {
static void
dissect_openflow_error_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length)
{
- proto_item *ti;
proto_tree *data_tree;
guint16 error_type;
@@ -1851,8 +1844,7 @@ dissect_openflow_error_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
case OFPET_METER_MOD_FAILED:
case OFPET_TABLE_FEATURES_FAILED:
/* uint8_t data[0]; contains at least the first 64 bytes of the failed request. */
- ti = proto_tree_add_text(tree, tvb, offset, length - offset, "Data");
- data_tree = proto_item_add_subtree(ti, ett_openflow_v5_error_data);
+ data_tree = proto_tree_add_subtree(tree, tvb, offset, length - offset, ett_openflow_v5_error_data, NULL, "Data");
offset = dissect_openflow_header_v5(tvb, pinfo, data_tree, offset, length);
@@ -2014,7 +2006,6 @@ static const value_string openflow_v5_packet_in_reason_values[] = {
static void
dissect_openflow_packet_in_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *data_tree;
tvbuff_t *next_tvb;
gboolean save_writable;
@@ -2054,8 +2045,7 @@ dissect_openflow_packet_in_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
/* uint8_t data[0]; */
if (offset < length) {
- ti = proto_tree_add_text(tree, tvb, offset, length - offset, "Data");
- data_tree = proto_item_add_subtree(ti, ett_openflow_v5_packet_in_data);
+ data_tree = proto_tree_add_subtree(tree, tvb, offset, length - offset, ett_openflow_v5_packet_in_data, NULL, "Data");
/* save some state */
save_writable = col_get_writable(pinfo->cinfo);
@@ -2216,7 +2206,6 @@ dissect_openflow_action_header_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
static int
dissect_openflow_action_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *act_tree;
guint16 act_type;
guint16 act_length;
@@ -2226,8 +2215,7 @@ dissect_openflow_action_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tr
act_length = tvb_get_ntohs(tvb, offset + 2);
act_end = offset + act_length;
- ti = proto_tree_add_text(tree, tvb, offset, act_length, "Action");
- act_tree = proto_item_add_subtree(ti, ett_openflow_v5_action);
+ act_tree = proto_tree_add_subtree(tree, tvb, offset, act_length, ett_openflow_v5_action, NULL, "Action");
offset = dissect_openflow_action_header_v5(tvb, pinfo, act_tree, offset, length);
@@ -2595,7 +2583,6 @@ static const value_string openflow_v5_port_desc_prop_type_values[] = {
static int
dissect_openflow_port_desc_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *prop_tree;
guint16 prop_type;
guint16 prop_length;
@@ -2603,8 +2590,7 @@ dissect_openflow_port_desc_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
prop_type = tvb_get_ntohs(tvb, offset);
prop_length = tvb_get_ntohs(tvb, offset);
- ti = proto_tree_add_text(tree, tvb, offset, prop_length, "Port desc. property");
- prop_tree = proto_item_add_subtree(ti, ett_openflow_v5_port_desc_prop);
+ prop_tree = proto_tree_add_subtree(tree, tvb, offset, prop_length, ett_openflow_v5_port_desc_prop, NULL, "Port desc. property");
/* uint16_t type; */
proto_tree_add_item(prop_tree, hf_openflow_v5_port_desc_prop_type, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -2667,8 +2653,7 @@ dissect_openflow_port_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
proto_tree *port_tree, *conf_tree, *state_tree;
guint16 port_end;
- ti = proto_tree_add_text(tree, tvb, offset, 64, "Port");
- port_tree = proto_item_add_subtree(ti, ett_openflow_v5_port);
+ port_tree = proto_tree_add_subtree(tree, tvb, offset, 64, ett_openflow_v5_port, NULL, "Port");
/* uint32_t port_no; */
if (tvb_get_ntohl(tvb, offset) <= OFPP_MAX) {
@@ -2757,7 +2742,6 @@ dissect_openflow_port_status_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
static void
dissect_openflow_packet_out_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *data_tree;
guint16 acts_len, acts_end;
tvbuff_t *next_tvb;
@@ -2799,8 +2783,7 @@ dissect_openflow_packet_out_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
/* uint8_t data[0]; */
if (offset < length) {
- ti = proto_tree_add_text(tree, tvb, offset, length - offset, "Data");
- data_tree = proto_item_add_subtree(ti, ett_openflow_v5_packet_out_data);
+ data_tree = proto_tree_add_subtree(tree, tvb, offset, length - offset, ett_openflow_v5_packet_out_data, NULL, "Data");
/* save some state */
save_writable = col_get_writable(pinfo->cinfo);
@@ -2877,7 +2860,6 @@ dissect_openflow_instruction_header_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pr
static int
dissect_openflow_instruction_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *inst_tree;
guint16 inst_type;
guint16 inst_length;
@@ -2886,8 +2868,7 @@ dissect_openflow_instruction_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
inst_type = tvb_get_ntohs(tvb, offset);
inst_length = tvb_get_ntohs(tvb, offset + 2);
- ti = proto_tree_add_text(tree, tvb, offset, inst_length, "Instruction");
- inst_tree = proto_item_add_subtree(ti, ett_openflow_v5_instruction);
+ inst_tree = proto_tree_add_subtree(tree, tvb, offset, inst_length, ett_openflow_v5_instruction, NULL, "Instruction");
offset = dissect_openflow_instruction_header_v5(tvb, pinfo, inst_tree, offset, length);
@@ -3064,8 +3045,7 @@ dissect_openflow_bucket_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tr
guint16 bucket_length;
guint16 acts_end;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Bucket");
- bucket_tree = proto_item_add_subtree(ti, ett_openflow_v5_bucket);
+ bucket_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_bucket, &ti, "Bucket");
/* uint16_t len; */
bucket_length = tvb_get_ntohs(tvb, offset);
@@ -3238,7 +3218,6 @@ static const value_string openflow_v5_portmod_prop_type_values[] = {
static int
dissect_openflow_portmod_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *prop_tree;
guint16 prop_type;
guint16 prop_length;
@@ -3246,8 +3225,7 @@ dissect_openflow_portmod_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr
prop_type = tvb_get_ntohs(tvb, offset);
prop_length = tvb_get_ntohs(tvb, offset + 2);
- ti = proto_tree_add_text(tree, tvb, offset, prop_length, "Portmod property");
- prop_tree = proto_item_add_subtree(ti, ett_openflow_v5_portmod_prop);
+ prop_tree = proto_tree_add_subtree(tree, tvb, offset, prop_length, ett_openflow_v5_portmod_prop, NULL, "Portmod property");
/* uint16_t type; */
proto_tree_add_item(prop_tree, hf_openflow_v5_portmod_prop_type, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -3370,8 +3348,7 @@ dissect_openflow_tablemod_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
prop_type = tvb_get_ntohs(tvb, offset);
prop_length = tvb_get_ntohs(tvb, offset + 2);
- ti = proto_tree_add_text(tree, tvb, offset, prop_length, "Tablemod property");
- prop_tree = proto_item_add_subtree(ti, ett_openflow_v5_tablemod_prop);
+ prop_tree = proto_tree_add_subtree(tree, tvb, offset, prop_length, ett_openflow_v5_tablemod_prop, NULL, "Tablemod property");
/* uint16_t type; */
proto_tree_add_item(prop_tree, hf_openflow_v5_tablemod_prop_type, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -3616,8 +3593,7 @@ dissect_openflow_table_feature_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pr
guint16 body_end;
guint16 pad_length;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Table feature property");
- prop_tree = proto_item_add_subtree(ti, ett_openflow_v5_table_feature_prop);
+ prop_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_table_feature_prop, &ti, "Table feature property");
/* uint16_t type; */
prop_type = tvb_get_ntohs(tvb, offset);
@@ -3638,8 +3614,7 @@ dissect_openflow_table_feature_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pr
case OFPTFPT_INSTRUCTIONS_MISS:
while (offset < body_end) {
elem_begin = offset;
- ti = proto_tree_add_text(prop_tree, tvb, offset, -1, "Instruction ID");
- elem_tree = proto_item_add_subtree(ti, ett_openflow_v5_table_feature_prop_instruction_id);
+ elem_tree = proto_tree_add_subtree(prop_tree, tvb, offset, -1, ett_openflow_v5_table_feature_prop_instruction_id, &ti, "Instruction ID");
offset = dissect_openflow_instruction_header_v5(tvb, pinfo, elem_tree, offset, length);
proto_item_set_len(ti, offset - elem_begin);
@@ -3660,8 +3635,7 @@ dissect_openflow_table_feature_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pr
case OFPTFPT_APPLY_ACTIONS_MISS:
while (offset < body_end) {
elem_begin = offset;
- ti = proto_tree_add_text(prop_tree, tvb, offset, -1, "Action ID");
- elem_tree = proto_item_add_subtree(ti, ett_openflow_v5_table_feature_prop_action_id);
+ elem_tree = proto_tree_add_subtree(prop_tree, tvb, offset, -1, ett_openflow_v5_table_feature_prop_action_id, &ti, "Action ID");
offset = dissect_openflow_action_header_v5(tvb, pinfo, elem_tree, offset, length);
proto_item_set_len(ti, offset - elem_begin);
@@ -3676,8 +3650,7 @@ dissect_openflow_table_feature_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pr
case OFPTFPT_APPLY_SETFIELD_MISS:
while (offset < body_end) {
elem_begin = offset;
- ti = proto_tree_add_text(prop_tree, tvb, offset, -1, "OXM ID");
- elem_tree = proto_item_add_subtree(ti, ett_openflow_v5_table_feature_prop_oxm_id);
+ elem_tree = proto_tree_add_subtree(prop_tree, tvb, offset, -1, ett_openflow_v5_table_feature_prop_oxm_id, &ti, "OXM ID");
offset = dissect_openflow_oxm_header_v5(tvb, pinfo, elem_tree, offset, length);
proto_item_set_len(ti, offset - elem_begin);
@@ -3733,8 +3706,7 @@ dissect_openflow_table_features_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
guint16 feat_length;
guint16 feat_end;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Table features");
- feat_tree = proto_item_add_subtree(ti, ett_openflow_v5_table_features);
+ feat_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_table_features, &ti, "Table features");
/* uint16_t length; */
feat_length = tvb_get_ntohs(tvb, offset);
@@ -4148,8 +4120,7 @@ dissect_openflow_flow_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
guint16 stats_len;
guint16 stats_end;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Flow stats");
- stats_tree = proto_item_add_subtree(ti, ett_openflow_v5_flow_stats);
+ stats_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_flow_stats, &ti, "Flow stats");
/* uint16_t length; */
stats_len = tvb_get_ntohs(tvb, offset);
@@ -4253,11 +4224,9 @@ dissect_openflow_aggregate_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto
static int
dissect_openflow_table_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *stats_tree;
- ti = proto_tree_add_text(tree, tvb, offset, 24, "Table stats");
- stats_tree = proto_item_add_subtree(ti, ett_openflow_v5_table_stats);
+ stats_tree = proto_tree_add_subtree(tree, tvb, offset, 24, ett_openflow_v5_table_stats, NULL, "Table stats");
/* uint8_t table_id; */
if (tvb_get_guint8(tvb, offset) <= OFPTT_MAX) {
@@ -4290,11 +4259,9 @@ dissect_openflow_table_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
static int
dissect_openflow_port_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *stats_tree;
- ti = proto_tree_add_text(tree, tvb, offset, 112, "Port stats");
- stats_tree = proto_item_add_subtree(ti, ett_openflow_v5_port_stats);
+ stats_tree = proto_tree_add_subtree(tree, tvb, offset, 112, ett_openflow_v5_port_stats, NULL, "Port stats");
/* uint8_t port_no; */
if (tvb_get_ntohl(tvb, offset) <= OFPP_MAX) {
@@ -4380,8 +4347,7 @@ dissect_openflow_table_desc_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
desc_length = tvb_get_ntohs(tvb, offset);
desc_end = offset + desc_length;
- ti = proto_tree_add_text(tree, tvb, offset, desc_length, "Table desc");
- desc_tree = proto_item_add_subtree(ti, ett_openflow_v5_table_desc);
+ desc_tree = proto_tree_add_subtree(tree, tvb, offset, desc_length, ett_openflow_v5_table_desc, NULL, "Table desc");
/* uint16_t length; */
proto_tree_add_item(desc_tree, hf_openflow_v5_table_desc_length, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -4426,7 +4392,6 @@ static const value_string openflow_v5_queue_stats_prop_type_values[] = {
static int
dissect_openflow_queue_stats_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *prop_tree;
guint16 prop_type;
guint16 prop_length;
@@ -4434,8 +4399,7 @@ dissect_openflow_queue_stats_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, prot
prop_type = tvb_get_ntohs(tvb, offset);
prop_length = tvb_get_ntohs(tvb, offset + 2);
- ti = proto_tree_add_text(tree, tvb, offset, prop_length, "Queue stats property");
- prop_tree = proto_item_add_subtree(ti, ett_openflow_v5_queue_stats_prop);
+ prop_tree = proto_tree_add_subtree(tree, tvb, offset, prop_length, ett_openflow_v5_queue_stats_prop, NULL, "Queue stats property");
/* uint16_t type; */
proto_tree_add_item(prop_tree, hf_openflow_v5_queue_stats_prop_type, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -4476,7 +4440,6 @@ dissect_openflow_queue_stats_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, prot
static int
dissect_openflow_queue_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *stats_tree;
guint16 stats_len;
guint16 stats_end;
@@ -4484,8 +4447,7 @@ dissect_openflow_queue_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
stats_len = tvb_get_ntohs(tvb, offset);
stats_end = offset + stats_len;
- ti = proto_tree_add_text(tree, tvb, offset, stats_len, "Queue stats");
- stats_tree = proto_item_add_subtree(ti, ett_openflow_v5_queue_stats);
+ stats_tree = proto_tree_add_subtree(tree, tvb, offset, stats_len, ett_openflow_v5_queue_stats, NULL, "Queue stats");
/* uint16_t length; */
proto_tree_add_item(stats_tree, hf_openflow_v5_queue_stats_length, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -4544,11 +4506,9 @@ dissect_openflow_queue_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
static int
dissect_openflow_bucket_counter_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *counter_tree;
- ti = proto_tree_add_text(tree, tvb, offset, 16, "Bucket counter");
- counter_tree = proto_item_add_subtree(ti, ett_openflow_v5_bucket_counter);
+ counter_tree = proto_tree_add_subtree(tree, tvb, offset, 16, ett_openflow_v5_bucket_counter, NULL, "Bucket counter");
/* uint64_t packet_count; */
proto_tree_add_item(counter_tree, hf_openflow_v5_bucket_counter_packet_count, tvb, offset, 8, ENC_BIG_ENDIAN);
@@ -4570,8 +4530,7 @@ dissect_openflow_group_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
guint16 stats_len;
guint16 stats_end;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Group stats");
- stats_tree = proto_item_add_subtree(ti, ett_openflow_v5_group_stats);
+ stats_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_group_stats, &ti, "Group stats");
/* uint16_t length; */
stats_len = tvb_get_ntohs(tvb, offset);
@@ -4633,8 +4592,7 @@ dissect_openflow_group_desc_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
guint16 desc_len;
guint16 desc_end;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Group description");
- desc_tree = proto_item_add_subtree(ti, ett_openflow_v5_group_desc);
+ desc_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_group_desc, &ti, "Group description");
/* uint16_t length; */
desc_len = tvb_get_ntohs(tvb, offset);
@@ -4798,11 +4756,9 @@ dissect_openflow_group_features_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
static int
dissect_openflow_meter_band_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *stats_tree;
- ti = proto_tree_add_text(tree, tvb, offset, 16, "Meter band stats");
- stats_tree = proto_item_add_subtree(ti, ett_openflow_v5_meter_band_stats);
+ stats_tree = proto_tree_add_subtree(tree, tvb, offset, 16, ett_openflow_v5_meter_band_stats, NULL, "Meter band stats");
/* uint64_t packet_band_count; */
proto_tree_add_item(stats_tree, hf_openflow_v5_meter_band_stats_packet_band_count, tvb, offset, 8, ENC_BIG_ENDIAN);
@@ -4824,8 +4780,7 @@ dissect_openflow_meter_stats_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
guint16 stats_len;
guint16 stats_end;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Meter stats");
- stats_tree = proto_item_add_subtree(ti, ett_openflow_v5_meter_stats);
+ stats_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_meter_stats, &ti, "Meter stats");
/* uint32_t meter_id; */
if (tvb_get_ntohl(tvb, offset) <= OFPM_MAX) {
@@ -4883,8 +4838,7 @@ dissect_openflow_meter_config_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr
guint16 config_len;
guint16 config_end;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Meter config");
- conf_tree = proto_item_add_subtree(ti, ett_openflow_v5_meter_config);
+ conf_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_meter_config, &ti, "Meter config");
/* uint16_t len; */
config_len = tvb_get_ntohs(tvb, offset);
@@ -4997,8 +4951,7 @@ dissect_openflow_queue_desc_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto
guint16 prop_type;
guint16 prop_len;
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Queue property");
- prop_tree = proto_item_add_subtree(ti, ett_openflow_v5_queue_desc_prop);
+ prop_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_queue_desc_prop, &ti, "Queue property");
/* uint16_t property; */
prop_type = tvb_get_ntohs(tvb, offset);
@@ -5082,7 +5035,6 @@ static const value_string openflow_v5_queue_id_reserved_values[] = {
static int
dissect_openflow_queue_desc_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *desc_tree;
guint16 desc_len;
guint16 desc_end;
@@ -5090,8 +5042,7 @@ dissect_openflow_queue_desc_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
desc_len = tvb_get_ntohs(tvb, offset + 8);
desc_end = offset + desc_len;
- ti = proto_tree_add_text(tree, tvb, offset, desc_len, "Queue desc");
- desc_tree = proto_item_add_subtree(ti, ett_openflow_v5_queue_desc);
+ desc_tree = proto_tree_add_subtree(tree, tvb, offset, desc_len, ett_openflow_v5_queue_desc, NULL, "Queue desc");
/* uint32_t port_no; */
if (tvb_get_ntohl(tvb, offset) <= OFPP_MAX) {
@@ -5146,7 +5097,6 @@ static const value_string openflow_v5_flow_monitor_events[] = {
static int
dissect_openflow_flow_update_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *update_tree;
guint16 update_len;
guint16 update_event;
@@ -5156,8 +5106,7 @@ dissect_openflow_flow_update_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
update_end = offset + update_len;
update_event = tvb_get_ntohs(tvb, offset + 2);
- ti = proto_tree_add_text(tree, tvb, offset, update_len, "Flow update");
- update_tree = proto_item_add_subtree(ti, ett_openflow_v5_flow_update);
+ update_tree = proto_tree_add_subtree(tree, tvb, offset, update_len, ett_openflow_v5_flow_update, NULL, "Flow update");
/* uint16_t length; */
proto_tree_add_item(update_tree, hf_openflow_v5_flow_update_length, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -5473,8 +5422,7 @@ dissect_openflow_async_config_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, pro
prop_type = tvb_get_ntohs(tvb, offset);
prop_len = tvb_get_ntohs(tvb, offset + 2);
- ti = proto_tree_add_text(tree, tvb, offset, prop_len, "Async config prop");
- prop_tree = proto_item_add_subtree(ti, ett_openflow_v5_async_config_prop);
+ prop_tree = proto_tree_add_subtree(tree, tvb, offset, prop_len, ett_openflow_v5_async_config_prop, NULL, "Async config prop");
/* uint16_t type; */
proto_tree_add_item(prop_tree, hf_openflow_v5_async_config_prop_type, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -5706,8 +5654,7 @@ dissect_openflow_requestforward_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_
guint16 req_begin;
/* struct ofp_header request; */
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Request");
- req_tree = proto_item_add_subtree(ti, ett_openflow_v5_requestforward_request);
+ req_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_requestforward_request, &ti, "Request");
req_begin = offset;
offset = dissect_openflow_message_v5(tvb, pinfo, req_tree, offset);
@@ -5725,7 +5672,6 @@ static const value_string openflow_v5_bundle_prop_type_values[] = {
static int
dissect_openflow_bundle_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset, guint16 length _U_)
{
- proto_item *ti;
proto_tree *prop_tree;
guint16 prop_type;
guint16 prop_len;
@@ -5733,8 +5679,7 @@ dissect_openflow_bundle_prop_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
prop_type = tvb_get_ntohs(tvb, offset);
prop_len = tvb_get_ntohs(tvb, offset + 2);
- ti = proto_tree_add_text(tree, tvb, offset, prop_len, "Bundle prop");
- prop_tree = proto_item_add_subtree(ti, ett_openflow_v5_bundle_prop);
+ prop_tree = proto_tree_add_subtree(tree, tvb, offset, prop_len, ett_openflow_v5_bundle_prop, NULL, "Bundle prop");
/* uint16_t type; */
proto_tree_add_item(prop_tree, hf_openflow_v5_bundle_prop_type, tvb, offset, 2, ENC_BIG_ENDIAN);
@@ -5847,8 +5792,7 @@ dissect_openflow_bundle_add_v5(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
offset+=2;
/* struct ofp_header message; */
- ti = proto_tree_add_text(tree, tvb, offset, -1, "Message");
- msg_tree = proto_item_add_subtree(ti, ett_openflow_v5_bundle_add_message);
+ msg_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_openflow_v5_bundle_add_message, &ti, "Message");
msg_begin = offset;
offset = dissect_openflow_message_v5(tvb, pinfo, msg_tree, offset);