aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/docsis
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-07-09 21:21:32 -0400
committerMichael Mann <mmann78@netscape.net>2014-07-10 01:51:21 +0000
commite6c87fe6b13f43d0c74ea8516d83a38ea4317688 (patch)
tree27eb9cf5e28b7fdb4fd99477b64e1062b7102cf6 /plugins/docsis
parent9b182b7097e339501977f595903c2e837055fb1d (diff)
convert to proto_tree_add_subtree[_format] for plugin dissectors
Change-Id: I13924c5a2f056688a42cdee25654d82c056b5f97 Reviewed-on: https://code.wireshark.org/review/2974 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'plugins/docsis')
-rw-r--r--plugins/docsis/packet-bpkmattr.c32
-rw-r--r--plugins/docsis/packet-dccack.c3
-rw-r--r--plugins/docsis/packet-dccreq.c12
-rw-r--r--plugins/docsis/packet-dccrsp.c8
-rw-r--r--plugins/docsis/packet-dcd.c21
-rw-r--r--plugins/docsis/packet-docsis.c15
-rw-r--r--plugins/docsis/packet-mdd.c19
-rw-r--r--plugins/docsis/packet-tlv-cmctrl.c12
-rw-r--r--plugins/docsis/packet-tlv.c238
-rw-r--r--plugins/docsis/packet-type29ucd.c15
-rw-r--r--plugins/docsis/packet-ucd.c5
-rw-r--r--plugins/docsis/packet-vendor.c5
12 files changed, 130 insertions, 255 deletions
diff --git a/plugins/docsis/packet-bpkmattr.c b/plugins/docsis/packet-bpkmattr.c
index 8347b3cb76..c7428bedee 100644
--- a/plugins/docsis/packet-bpkmattr.c
+++ b/plugins/docsis/packet-bpkmattr.c
@@ -145,8 +145,6 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
guint16 length;
int pos = 0;
gint total_len;
- proto_item *cmid_it, *tekp_it, *scap_it;
- proto_item *saqry_it, *dnld_it, *sadsc_it;
proto_tree *cmid_tree, *tekp_tree, *scap_tree;
proto_tree *saqry_tree, *dnld_tree, *sadsc_tree;
tvbuff_t *cmid_tvb, *tekp_tvb, *scap_tvb;
@@ -185,11 +183,9 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
length, ENC_NA);
break;
case BPKM_CM_ID:
- cmid_it =
- proto_tree_add_text (tree, tvb, pos, length,
- "5 CM Identification");
cmid_tree =
- proto_item_add_subtree (cmid_it, ett_docsis_bpkmattr_cmid);
+ proto_tree_add_subtree(tree, tvb, pos, length,
+ ett_docsis_bpkmattr_cmid, NULL, "5 CM Identification");
cmid_tvb = tvb_new_subset_length (tvb, pos, length);
dissect_attrs (cmid_tvb, pinfo, cmid_tree);
break;
@@ -240,10 +236,8 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
THROW (ReportedBoundsError);
break;
case BPKM_TEK_PARAM:
- tekp_it =
- proto_tree_add_text (tree, tvb, pos, length, "13 TEK Parameters");
tekp_tree =
- proto_item_add_subtree (tekp_it, ett_docsis_bpkmattr_tekp);
+ proto_tree_add_subtree(tree, tvb, pos, length, ett_docsis_bpkmattr_tekp, NULL, "13 TEK Parameters");
tekp_tvb = tvb_new_subset_length (tvb, pos, length);
dissect_attrs (tekp_tvb, pinfo, tekp_tree);
break;
@@ -272,11 +266,9 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
length, ENC_NA);
break;
case BPKM_SEC_CAPABILITIES:
- scap_it =
- proto_tree_add_text (tree, tvb, pos, length,
- "19 Security Capabilities");
scap_tree =
- proto_item_add_subtree (scap_it, ett_docsis_bpkmattr_scap);
+ proto_tree_add_subtree(tree, tvb, pos, length,
+ ett_docsis_bpkmattr_scap, NULL, "19 Security Capabilities");
scap_tvb = tvb_new_subset_length (tvb, pos, length);
dissect_attrs (scap_tvb, pinfo, scap_tree);
break;
@@ -299,10 +291,8 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
THROW (ReportedBoundsError);
break;
case BPKM_SA_DESCRIPTOR:
- sadsc_it =
- proto_tree_add_text (tree, tvb, pos, length, "23 SA Descriptor");
sadsc_tree =
- proto_item_add_subtree (sadsc_it, ett_docsis_bpkmattr_sadsc);
+ proto_tree_add_subtree(tree, tvb, pos, length, ett_docsis_bpkmattr_sadsc, NULL, "23 SA Descriptor");
sadsc_tvb = tvb_new_subset_length (tvb, pos, length);
dissect_attrs (sadsc_tvb, pinfo, sadsc_tree);
break;
@@ -314,10 +304,8 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
THROW (ReportedBoundsError);
break;
case BPKM_SA_QUERY:
- saqry_it =
- proto_tree_add_text (tree, tvb, pos, length, "25 SA Query");
saqry_tree =
- proto_item_add_subtree (saqry_it, ett_docsis_bpkmattr_saqry);
+ proto_tree_add_subtree(tree, tvb, pos, length, ett_docsis_bpkmattr_saqry, NULL, "25 SA Query");
saqry_tvb = tvb_new_subset_length (tvb, pos, length);
dissect_attrs (saqry_tvb, pinfo, saqry_tree);
break;
@@ -340,11 +328,9 @@ dissect_attrs (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
length, ENC_NA);
break;
case BPKM_DNLD_PARAMS:
- dnld_it =
- proto_tree_add_text (tree, tvb, pos, length,
- "28 Download Parameters");
dnld_tree =
- proto_item_add_subtree (dnld_it, ett_docsis_bpkmattr_dnld);
+ proto_tree_add_subtree(tree, tvb, pos, length,
+ ett_docsis_bpkmattr_dnld, NULL, "28 Download Parameters");
dnld_tvb = tvb_new_subset_length (tvb, pos, length);
dissect_attrs (dnld_tvb, pinfo, dnld_tree);
break;
diff --git a/plugins/docsis/packet-dccack.c b/plugins/docsis/packet-dccack.c
index d7b9c56b43..e6d7eb7f9f 100644
--- a/plugins/docsis/packet-dccack.c
+++ b/plugins/docsis/packet-dccack.c
@@ -61,8 +61,7 @@ dissect_dccack (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
{
dcc_item =
proto_tree_add_protocol_format (tree, proto_docsis_dccack, tvb, 0,
- tvb_length_remaining (tvb, 0),
- "DCC-ACK Message");
+ -1, "DCC-ACK Message");
dcc_tree = proto_item_add_subtree (dcc_item, ett_docsis_dccack);
proto_tree_add_item (dcc_tree, hf_docsis_dccack_tran_id, tvb, 0, 2, ENC_BIG_ENDIAN);
diff --git a/plugins/docsis/packet-dccreq.c b/plugins/docsis/packet-dccreq.c
index eedbe0a575..dc842e0488 100644
--- a/plugins/docsis/packet-dccreq.c
+++ b/plugins/docsis/packet-dccreq.c
@@ -113,13 +113,12 @@ static void
dissect_dccreq_ds_params (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *dcc_item;
proto_tree *dcc_tree;
int pos;
pos = start;
- dcc_item = proto_tree_add_text ( tree, tvb, start, len, "2 DCC-REQ Downstream Params Encodings (Length = %u)", len);
- dcc_tree = proto_item_add_subtree ( dcc_item , ett_docsis_dccreq_ds_params);
+ dcc_tree = proto_tree_add_subtree_format( tree, tvb, start, len, ett_docsis_dccreq_ds_params, NULL,
+ "2 DCC-REQ Downstream Params Encodings (Length = %u)", len);
while ( pos < ( start + len) )
{
@@ -198,13 +197,11 @@ static void
dissect_dccreq_sf_sub (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *dcc_item;
proto_tree *dcc_tree;
int pos;
pos = start;
- dcc_item = proto_tree_add_text ( tree, tvb, start, len, "7 DCC-REQ Service Flow Substitution Encodings (Length = %u)", len);
- dcc_tree = proto_item_add_subtree ( dcc_item , ett_docsis_dccreq_sf_sub);
+ dcc_tree = proto_tree_add_subtree_format( tree, tvb, start, len, ett_docsis_dccreq_sf_sub, NULL, "7 DCC-REQ Service Flow Substitution Encodings (Length = %u)", len);
while ( pos < ( start + len) )
{
@@ -271,8 +268,7 @@ dissect_dccreq (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
{
dcc_item =
proto_tree_add_protocol_format (tree, proto_docsis_dccreq, tvb, 0,
- tvb_length_remaining (tvb, 0),
- "DCC-REQ Message");
+ -1, "DCC-REQ Message");
dcc_tree = proto_item_add_subtree (dcc_item, ett_docsis_dccreq);
proto_tree_add_item (dcc_tree, hf_docsis_dccreq_tran_id, tvb, 0, 2, ENC_BIG_ENDIAN);
diff --git a/plugins/docsis/packet-dccrsp.c b/plugins/docsis/packet-dccrsp.c
index c2d91f7a90..4af42ba9f5 100644
--- a/plugins/docsis/packet-dccrsp.c
+++ b/plugins/docsis/packet-dccrsp.c
@@ -59,13 +59,12 @@ static void
dissect_dccrsp_cm_jump_time (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *dcc_item;
proto_tree *dcc_tree;
int pos;
pos = start;
- dcc_item = proto_tree_add_text ( tree, tvb, start, len, "2 DCC-RSP CM Time Jump Encodings (Length = %u)", len);
- dcc_tree = proto_item_add_subtree ( dcc_item , ett_docsis_dccrsp_cm_jump_time);
+ dcc_tree = proto_tree_add_subtree_format( tree, tvb, start, len, ett_docsis_dccrsp_cm_jump_time, NULL,
+ "2 DCC-RSP CM Time Jump Encodings (Length = %u)", len);
while ( pos < ( start + len) )
{
@@ -117,8 +116,7 @@ dissect_dccrsp (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
{
dcc_item =
proto_tree_add_protocol_format (tree, proto_docsis_dccrsp, tvb, 0,
- tvb_length_remaining (tvb, 0),
- "DCC-RSP Message");
+ -1, "DCC-RSP Message");
dcc_tree = proto_item_add_subtree (dcc_item, ett_docsis_dccrsp);
proto_tree_add_item (dcc_tree, hf_docsis_dccrsp_tran_id, tvb, 0, 2, ENC_BIG_ENDIAN);
proto_tree_add_item (dcc_tree, hf_docsis_dccrsp_conf_code, tvb, 2, 1, ENC_BIG_ENDIAN);
diff --git a/plugins/docsis/packet-dcd.c b/plugins/docsis/packet-dcd.c
index db72e0c51e..e4573e50f5 100644
--- a/plugins/docsis/packet-dcd.c
+++ b/plugins/docsis/packet-dcd.c
@@ -129,13 +129,12 @@ static void
dissect_dcd_dsg_cfg (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *dcd_item;
proto_tree *dcd_tree;
int pos;
pos = start;
- dcd_item = proto_tree_add_text ( tree, tvb, start, len, "51 DCD DSG Config Encodings (Length = %u)", len);
- dcd_tree = proto_item_add_subtree ( dcd_item , ett_docsis_dcd_cfg);
+ dcd_tree = proto_tree_add_subtree_format( tree, tvb, start, len,
+ ett_docsis_dcd_cfg, NULL, "51 DCD DSG Config Encodings (Length = %u)", len);
while ( pos < ( start + len) )
{
@@ -212,13 +211,11 @@ static void
dissect_dcd_down_classifier_ip (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *dcd_item;
proto_tree *dcd_tree;
int pos;
pos = start;
- dcd_item = proto_tree_add_text ( tree, tvb, start, len, "23.9 DCD_CFR_IP Encodings (Length = %u)", len);
- dcd_tree = proto_item_add_subtree ( dcd_item , ett_docsis_dcd_cfr_ip);
+ dcd_tree = proto_tree_add_subtree_format( tree, tvb, start, len, ett_docsis_dcd_cfr_ip, NULL, "23.9 DCD_CFR_IP Encodings (Length = %u)", len);
while ( pos < ( start + len) )
{
@@ -323,13 +320,11 @@ static void
dissect_dcd_clid (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *dcd_item;
proto_tree *dcd_tree;
int pos;
pos = start;
- dcd_item = proto_tree_add_text ( tree, tvb, start, len, "50.4 DCD Rule ClientID Encodings (Length = %u)", len);
- dcd_tree = proto_item_add_subtree ( dcd_item , ett_docsis_dcd_clid);
+ dcd_tree = proto_tree_add_subtree_format( tree, tvb, start, len, ett_docsis_dcd_clid, NULL, "50.4 DCD Rule ClientID Encodings (Length = %u)", len);
while ( pos < ( start + len) )
{
@@ -389,13 +384,11 @@ static void
dissect_dcd_dsg_rule (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *dcd_item;
proto_tree *dcd_tree;
int pos;
pos = start;
- dcd_item = proto_tree_add_text ( tree, tvb, start, len, "50 DCD DSG Rule Encodings (Length = %u)", len);
- dcd_tree = proto_item_add_subtree ( dcd_item , ett_docsis_dcd_rule);
+ dcd_tree = proto_tree_add_subtree_format( tree, tvb, start, len, ett_docsis_dcd_rule, NULL, "50 DCD DSG Rule Encodings (Length = %u)", len);
while ( pos < ( start + len) )
{
@@ -468,13 +461,11 @@ static void
dissect_dcd_down_classifier (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *dcd_item;
proto_tree *dcd_tree;
int pos;
pos = start;
- dcd_item = proto_tree_add_text ( tree, tvb, start, len, "23 DCD_CFR Encodings (Length = %u)", len);
- dcd_tree = proto_item_add_subtree ( dcd_item , ett_docsis_dcd_cfr);
+ dcd_tree = proto_tree_add_subtree_format( tree, tvb, start, len, ett_docsis_dcd_cfr, NULL, "23 DCD_CFR Encodings (Length = %u)", len);
while ( pos < ( start + len) )
{
diff --git a/plugins/docsis/packet-docsis.c b/plugins/docsis/packet-docsis.c
index 4002571920..1d2cb23f15 100644
--- a/plugins/docsis/packet-docsis.c
+++ b/plugins/docsis/packet-docsis.c
@@ -188,7 +188,7 @@ static void
dissect_ehdr (tvbuff_t * tvb, proto_tree * tree, gboolean isfrag)
{
proto_tree *ehdr_tree;
- proto_item *it, *item;
+ proto_item *item;
gint ehdrlen;
int pos;
guint8 type;
@@ -200,8 +200,7 @@ dissect_ehdr (tvbuff_t * tvb, proto_tree * tree, gboolean isfrag)
ehdrlen = tvb_get_guint8 (tvb, 1);
pos = 4;
- it = proto_tree_add_text (tree, tvb, pos, ehdrlen, "Extended Header");
- ehdr_tree = proto_item_add_subtree (it, ett_ehdr);
+ ehdr_tree = proto_tree_add_subtree(tree, tvb, pos, ehdrlen, ett_ehdr, NULL, "Extended Header");
while (pos < ehdrlen + 4)
{
type = (tvb_get_guint8 (tvb, pos) & 0xF0);
@@ -313,18 +312,18 @@ dissect_ehdr (tvbuff_t * tvb, proto_tree * tree, gboolean isfrag)
ENC_BIG_ENDIAN);
break;
case EH_DS_SERVICE:
- proto_tree_add_item(ehdr_tree, hf_docsis_ehdr_ds_traffic_pri, tvb, pos+1, 1, FALSE);
+ proto_tree_add_item(ehdr_tree, hf_docsis_ehdr_ds_traffic_pri, tvb, pos+1, 1, ENC_BIG_ENDIAN);
if (len == 3)
{
- proto_tree_add_item (ehdr_tree, hf_docsis_ehdr_ds_dsid, tvb, pos+1, 3, FALSE);
+ proto_tree_add_item (ehdr_tree, hf_docsis_ehdr_ds_dsid, tvb, pos+1, 3, ENC_BIG_ENDIAN);
}
if (len == 5)
{
- proto_tree_add_item (ehdr_tree, hf_docsis_ehdr_ds_seq_chg_cnt, tvb, pos+1, 1, FALSE);
- proto_tree_add_item (ehdr_tree, hf_docsis_ehdr_ds_dsid, tvb, pos+1, 3, FALSE);
- proto_tree_add_item (ehdr_tree, hf_docsis_ehdr_ds_pkt_seq_num, tvb, pos+4, 2, FALSE);
+ proto_tree_add_item (ehdr_tree, hf_docsis_ehdr_ds_seq_chg_cnt, tvb, pos+1, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item (ehdr_tree, hf_docsis_ehdr_ds_dsid, tvb, pos+1, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item (ehdr_tree, hf_docsis_ehdr_ds_pkt_seq_num, tvb, pos+4, 2, ENC_BIG_ENDIAN);
}
break;
diff --git a/plugins/docsis/packet-mdd.c b/plugins/docsis/packet-mdd.c
index e5d6e0ff10..764d84aff3 100644
--- a/plugins/docsis/packet-mdd.c
+++ b/plugins/docsis/packet-mdd.c
@@ -314,10 +314,8 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
guint8 subtype, sublength;
int i;
- proto_item *tlv_item;
proto_tree *tlv_tree;
- proto_item *tlv_sub_item;
proto_tree *tlv_sub_tree;
proto_item *text_item;
@@ -342,8 +340,7 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
{
type = tvb_get_guint8 (tvb, pos);
length = tvb_get_guint8 (tvb, pos + 1);
- tlv_item = proto_tree_add_text (mdd_tree, tvb, pos, length + 2,"%s", val_to_str(type, mdd_tlv_vals, "Unknown TLV (%u)"));
- tlv_tree = proto_item_add_subtree (tlv_item, ett_tlv);
+ tlv_tree = proto_tree_add_subtree(mdd_tree, tvb, pos, length + 2, ett_tlv, NULL, val_to_str(type, mdd_tlv_vals, "Unknown TLV (%u)"));
switch(type) {
@@ -360,8 +357,7 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
proto_tree_add_item (tlv_tree, hf_docsis_mdd_downstream_active_channel_list_frequency, tvb, subpos + 2 , 4, ENC_BIG_ENDIAN);
break;
case DOWNSTREAM_ACTIVE_CHANNEL_LIST_MODULATION_ORDER_ANNEX:
- tlv_sub_item = proto_tree_add_text (tlv_tree, tvb, subpos + 2, 1, "Modulation Order/Annex");
- tlv_sub_tree = proto_item_add_subtree (tlv_sub_item, ett_sub_tlv);
+ tlv_sub_tree = proto_tree_add_subtree(tlv_tree, tvb, subpos + 2, 1, ett_sub_tlv, NULL, "Modulation Order/Annex");
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_downstream_active_channel_list_modulation_order, tvb, subpos + 2 , 1, ENC_BIG_ENDIAN);
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_downstream_active_channel_list_annex, tvb, subpos + 2 , 1, ENC_BIG_ENDIAN);
break;
@@ -369,8 +365,7 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
proto_tree_add_item (tlv_tree, hf_docsis_mdd_downstream_active_channel_list_primary_capable, tvb, subpos + 2 , 1, ENC_BIG_ENDIAN);
break;
case DOWNSTREAM_ACTIVE_CHANNEL_LIST_CM_STATUS_EVENT_ENABLE_BITMASK:
- tlv_sub_item = proto_tree_add_text (tlv_tree, tvb, subpos + 2, 2, "CM-STATUS Event Enable Bitmask");
- tlv_sub_tree = proto_item_add_subtree (tlv_sub_item, ett_sub_tlv);
+ tlv_sub_tree = proto_tree_add_subtree(tlv_tree, tvb, subpos + 2, 2, ett_sub_tlv, NULL, "CM-STATUS Event Enable Bitmask");
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_bitmask_mdd_timeout, tvb, subpos + 2 , 2,ENC_BIG_ENDIAN);
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_bitmask_qam_fec_lock_failure, tvb, subpos + 2 , 2, ENC_BIG_ENDIAN);
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_bitmask_mdd_recovery, tvb, subpos + 2 , 2,ENC_BIG_ENDIAN);
@@ -450,8 +445,7 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
proto_tree_add_item (tlv_tree, hf_docsis_mdd_upstream_active_channel_list_upstream_channel_id, tvb, subpos + 2 , 1, ENC_BIG_ENDIAN);
break;
case UPSTREAM_ACTIVE_CHANNEL_LIST_CM_STATUS_EVENT_ENABLE_BITMASK:
- tlv_sub_item = proto_tree_add_text (tlv_tree, tvb, subpos + 2, 2, "CM-STATUS Event Enable Bitmask");
- tlv_sub_tree = proto_item_add_subtree (tlv_sub_item, ett_sub_tlv);
+ tlv_sub_tree = proto_tree_add_subtree(tlv_tree, tvb, subpos + 2, 2, ett_sub_tlv, NULL, "CM-STATUS Event Enable Bitmask");
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_bitmask_t4_timeout, tvb, subpos + 2 , 2, ENC_BIG_ENDIAN);
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_bitmask_t3_retries_exceeded, tvb, subpos + 2 , 2, ENC_BIG_ENDIAN);
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_bitmask_successful_ranging_after_t3_retries_exceeded, tvb, subpos + 2 , 2, ENC_BIG_ENDIAN);
@@ -508,7 +502,7 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
sublength = tvb_get_guint8 (tvb, subpos + 1);
switch(subtype) {
case DSG_DA_TO_DSID_ASSOCIATION_DA:
- proto_tree_add_item (tlv_tree, hf_docsis_mdd_dsg_da_to_dsid_association_da, tvb, subpos + 2, 6, ENC_BIG_ENDIAN);
+ proto_tree_add_item (tlv_tree, hf_docsis_mdd_dsg_da_to_dsid_association_da, tvb, subpos + 2, 6, ENC_NA);
break;
case DSG_DA_TO_DSID_ASSOCIATION_DSID:
proto_tree_add_item (tlv_tree, hf_docsis_mdd_dsg_da_to_dsid_association_dsid, tvb, subpos + 2, 3, ENC_BIG_ENDIAN);
@@ -519,8 +513,7 @@ dissect_mdd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
break;
case CM_STATUS_EVENT_ENABLE_NON_CHANNEL_SPECIFIC_EVENTS:
subpos = pos + 2;
- tlv_sub_item = proto_tree_add_text (tlv_tree, tvb, subpos, 2, "CM-STATUS Event Enable Bitmask for Non-Channel-Specific Events");
- tlv_sub_tree = proto_item_add_subtree (tlv_sub_item, ett_sub_tlv);
+ tlv_sub_tree = proto_tree_add_subtree(tlv_tree, tvb, subpos, 2, ett_sub_tlv, NULL, "CM-STATUS Event Enable Bitmask for Non-Channel-Specific Events");
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_non_channel_specific_events_sequence_out_of_range, tvb, subpos, 2,ENC_BIG_ENDIAN);
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_non_channel_specific_events_cm_operating_on_battery_backup, tvb, subpos , 2,ENC_BIG_ENDIAN);
proto_tree_add_item (tlv_sub_tree, hf_docsis_mdd_cm_status_event_enable_non_channel_specific_events_cm_returned_to_ac_power, tvb, subpos , 2,ENC_BIG_ENDIAN);
diff --git a/plugins/docsis/packet-tlv-cmctrl.c b/plugins/docsis/packet-tlv-cmctrl.c
index da682dec7c..1bba35c317 100644
--- a/plugins/docsis/packet-tlv-cmctrl.c
+++ b/plugins/docsis/packet-tlv-cmctrl.c
@@ -67,13 +67,11 @@ static void
dissect_ds_event(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *event_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ event_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_cmctrl_tlv_ds_event, NULL,
"Override Downstream Status Event Event Mask (Length = %u)", len);
- event_tree = proto_item_add_subtree (it, ett_cmctrl_tlv_ds_event);
while (pos < (start + len))
{
@@ -112,13 +110,11 @@ static void
dissect_us_event(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *event_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ event_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_cmctrl_tlv_us_event, NULL,
"Override Upstream Status Enable Event Mask (Length = %u)", len);
- event_tree = proto_item_add_subtree (it, ett_cmctrl_tlv_us_event);
while (pos < (start + len))
{
diff --git a/plugins/docsis/packet-tlv.c b/plugins/docsis/packet-tlv.c
index e98f1ab511..8d586c4e06 100644
--- a/plugins/docsis/packet-tlv.c
+++ b/plugins/docsis/packet-tlv.c
@@ -645,13 +645,11 @@ dissect_phs_err (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *err_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ err_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_sflow_err, NULL,
"5 Service Flow Error Encodings (Length = %u)", len);
- err_tree = proto_item_add_subtree (it, ett_docsis_tlv_sflow_err);
while (pos < (start + len))
{
@@ -695,13 +693,11 @@ static void
dissect_phs (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *phs_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ phs_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_phs, NULL,
"26 PHS Encodings (Length = %u)", len);
- phs_tree = proto_item_add_subtree (it, ett_docsis_tlv_phs);
while (pos < (start + len))
{
@@ -865,13 +861,11 @@ dissect_sflow_err (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *err_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ err_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_sflow_err, NULL,
"5 Service Flow Error Encodings (Length = %u)", len);
- err_tree = proto_item_add_subtree (it, ett_docsis_tlv_sflow_err);
while (pos < (start + len))
{
@@ -1088,20 +1082,18 @@ dissect_sflow (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len,
guint8 direction)
{
guint8 type, length;
- proto_item *it;
proto_tree *sflow_tree;
int pos = start;
if (direction == 24)
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ sflow_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_clsfr, NULL,
"24 Upstream Service Flow (Length = %u)", len);
else if (direction == 25)
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ sflow_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_clsfr, NULL,
"25 Downstream Service Flow (Length = %u)", len);
else
return;
- sflow_tree = proto_item_add_subtree (it, ett_docsis_tlv_clsfr);
while (pos < (start + len))
{
@@ -1262,13 +1254,11 @@ dissect_dot1q_clsfr (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *dot1qclsfr_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ dot1qclsfr_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_cos, NULL,
"11 801.1P/Q Classifiers (Length = %u)", len);
- dot1qclsfr_tree = proto_item_add_subtree (it, ett_docsis_tlv_cos);
while (pos < (start + len))
{
@@ -1316,13 +1306,11 @@ dissect_eth_clsfr (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *ethclsfr_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ ethclsfr_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_clsfr_eth, NULL,
"10 Ethernet Classifiers (Length = %u)", len);
- ethclsfr_tree = proto_item_add_subtree (it, ett_docsis_tlv_clsfr_eth);
while (pos < (start + len))
{
@@ -1378,13 +1366,11 @@ dissect_clsfr_err (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *err_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ err_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_clsfr_err, NULL,
"8 Classifier Error Encodings (Length = %u)", len);
- err_tree = proto_item_add_subtree (it, ett_docsis_tlv_clsfr_err);
while (pos < (start + len))
{
@@ -1437,13 +1423,11 @@ dissect_ip_classifier (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *ipclsfr_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ ipclsfr_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_clsfr_ip, NULL,
"9 IP Classifier (Length = %u)", len);
- ipclsfr_tree = proto_item_add_subtree (it, ett_docsis_tlv_clsfr_ip);
while (pos < (start + len))
{
@@ -1580,22 +1564,20 @@ dissect_classifiers (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len, guint8 direction)
{
guint8 type, length;
- proto_item *it;
proto_tree *clsfr_tree;
int pos = start;
if (direction == 22)
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ clsfr_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_clsfr, NULL,
"22 Upstream Packet Classifier (Length = %u)",
len);
else if (direction == 23)
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ clsfr_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_clsfr, NULL,
"23 Downstream Packet Classifier (Length = %u)",
len);
else
return;
- clsfr_tree = proto_item_add_subtree (it, ett_docsis_tlv_clsfr);
while (pos < (start + len))
{
@@ -1710,13 +1692,11 @@ dissect_doc10cos (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *doc10cos_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ doc10cos_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_cos, NULL,
"1 Docsis 1.0 Class of Service (Length = %u)", len);
- doc10cos_tree = proto_item_add_subtree (it, ett_docsis_tlv_cos);
while (pos < (start + len))
{
@@ -1757,15 +1737,13 @@ dissect_modemcap (tvbuff_t * tvb, proto_tree * tree, int start,
guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *mcap_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ mcap_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_mcap, NULL,
"5 Modem Capabilities Type (Length = %u)", len);
- mcap_tree = proto_item_add_subtree (it, ett_docsis_tlv_mcap);
while (pos < (start + len))
{
type = tvb_get_guint8 (tvb, pos++);
@@ -2222,14 +2200,12 @@ static void
dissect_cos (tvbuff_t * tvb, proto_tree * tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *cos_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ cos_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_cos, NULL,
"4 Class of Service Type (Length = %u)", len);
- cos_tree = proto_item_add_subtree (it, ett_docsis_tlv_cos);
while (pos < (start + len))
{
@@ -2380,13 +2356,11 @@ dissect_ds_ch_list_single (tvbuff_t * tvb, proto_tree * tree,
int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *single_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ single_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_ds_ch_list_single, NULL,
"1 Single Downstream Channel (Length = %u)", len);
- single_tree = proto_item_add_subtree (it, ett_docsis_tlv_ds_ch_list_single);
while (pos < (start + len))
{
@@ -2426,13 +2400,11 @@ dissect_ds_ch_list_range (tvbuff_t * tvb, proto_tree * tree,
int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *range_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ range_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_ds_ch_list_range, NULL,
"2 Downstream Frequency Range (Length = %u)", len);
- range_tree = proto_item_add_subtree (it, ett_docsis_tlv_ds_ch_list_range);
while (pos < (start + len))
{
@@ -2494,13 +2466,11 @@ dissect_dut_filter (tvbuff_t * tvb, proto_tree * tree,
int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *dut_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ dut_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_dut_filter, NULL,
"Downstream Unencrypted Traffic (Length = %u)", len);
- dut_tree = proto_item_add_subtree (it, ett_docsis_tlv_dut_filter);
while (pos < (start + len))
{
@@ -2532,13 +2502,11 @@ static void
dissect_ds_ch_list(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *dschlst_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ dschlst_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_ds_ch_list, NULL,
"41 Downstream Channel List (Length = %u)", len);
- dschlst_tree = proto_item_add_subtree (it, ett_docsis_tlv_ds_ch_list);
while (pos < (start + len))
{
@@ -2573,13 +2541,11 @@ static void
dissect_tcc_err(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *tccerr_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ tccerr_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_tcc_err, NULL,
"TCC Error Encodings (Length = %u)", len);
- tccerr_tree = proto_item_add_subtree (it, ett_docsis_tlv_tcc_err);
while (pos < (start + len))
{
@@ -2618,13 +2584,11 @@ static void
dissect_tcc_rng_parms(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *rngparm_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ rngparm_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_tcc_rng_parms, NULL,
"Ranging Parameters (Length = %u)", len);
- rngparm_tree = proto_item_add_subtree (it, ett_docsis_tlv_tcc_rng_parms);
while (pos < (start + len))
{
@@ -2701,13 +2665,11 @@ static void
dissect_sid_cl_so_crit(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *crit_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ crit_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_sid_cl_so, NULL,
"SID Cluster Switchover Criteria (Length = %u)", len);
- crit_tree = proto_item_add_subtree (it, ett_docsis_tlv_sid_cl_so);
while (pos < (start + len))
{
@@ -2772,13 +2734,11 @@ static void
dissect_sid_cl_enc_map(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *map_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ map_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_sid_cl_enc_map, NULL,
"SID-to-Channel Mapping (Length = %u)", len);
- map_tree = proto_item_add_subtree (it, ett_docsis_tlv_sid_cl_enc_map);
while (pos < (start + len))
{
@@ -2831,13 +2791,11 @@ static void
dissect_sid_cl_enc(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *enc_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ enc_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_sid_cl_enc, NULL,
"SID Cluster Encoding (Length = %u)", len);
- enc_tree = proto_item_add_subtree (it, ett_docsis_tlv_sid_cl_enc);
while (pos < (start + len))
{
@@ -2872,13 +2830,11 @@ static void
dissect_sid_cl(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *sid_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ sid_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_sid_cl, NULL,
"47 Service Flow SID Cluster Assignments (Length = %u)", len);
- sid_tree = proto_item_add_subtree (it, ett_docsis_tlv_sid_cl);
while (pos < (start + len))
{
@@ -2914,15 +2870,13 @@ dissect_tcc(tvbuff_t * tvb, packet_info * pinfo _U_,
proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *tcc_tree;
int pos = start;
tvbuff_t *ucd_tvb;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ tcc_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_tcc, NULL,
"46 Transmit Channel Configuration (Length = %u)", len);
- tcc_tree = proto_item_add_subtree (it, ett_docsis_tlv_tcc);
while (pos < (start + len))
{
@@ -3033,13 +2987,11 @@ static void
dissect_ch_bl_rng(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *chblrng_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ chblrng_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_rcp_ch_bl_rng, NULL,
"Receive Module Channel Block Range (Length = %u)", len);
- chblrng_tree = proto_item_add_subtree (it, ett_docsis_tlv_rcp_ch_bl_rng);
while (pos < (start + len))
{
@@ -3080,13 +3032,11 @@ static void
dissect_rcp_rcv_mod(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *rcvmod_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ rcvmod_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_rcp_rcv_mod_enc, NULL,
"Receive Module Capability (Length = %u)", len);
- rcvmod_tree = proto_item_add_subtree (it, ett_docsis_tlv_rcp_rcv_mod_enc);
while (pos < (start + len))
{
@@ -3114,7 +3064,7 @@ dissect_rcp_rcv_mod(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
proto_tree_add_item (rcvmod_tree,
hf_docsis_rcv_mod_enc_ctr_freq_asgn, tvb, pos,
- length, FALSE);
+ length, ENC_BIG_ENDIAN);
}
else
{
@@ -3145,13 +3095,11 @@ static void
dissect_rcp_rcv_ch(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *rcvch_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ rcvch_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_rcp_rcv_ch, NULL,
"Receive Channels (Length = %u)", len);
- rcvch_tree = proto_item_add_subtree (it, ett_docsis_tlv_rcp_rcv_ch);
while (pos < (start + len))
{
@@ -3211,15 +3159,13 @@ dissect_rcp(tvbuff_t * tvb, packet_info * pinfo _U_,
proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *rcp_tree;
int pos = start;
tvbuff_t *vsif_tvb;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ rcp_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_rcp, NULL,
"48 Receive Channel Profile (Length = %u)", len);
- rcp_tree = proto_item_add_subtree (it, ett_docsis_tlv_rcp);
while (pos < (start + len))
{
@@ -3282,13 +3228,11 @@ static void
dissect_rcc_rcv_mod(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *rcvmod_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ rcvmod_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_rcc_rcv_mod_enc, NULL,
"Receive Module Assignment (Length = %u)", len);
- rcvmod_tree = proto_item_add_subtree (it, ett_docsis_tlv_rcc_rcv_mod_enc);
while (pos < (start + len))
{
@@ -3334,13 +3278,11 @@ static void
dissect_rcc_rcv_ch(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *rcvch_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ rcvch_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_rcc_rcv_ch, NULL,
"Receive Channels (Length = %u)", len);
- rcvch_tree = proto_item_add_subtree (it, ett_docsis_tlv_rcc_rcv_ch);
while (pos < (start + len))
{
@@ -3398,13 +3340,11 @@ static void
dissect_rcc_err(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *err_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ err_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_rcc_rcv_ch, NULL,
"RCC Error Encodings (Length = %u)", len);
- err_tree = proto_item_add_subtree (it, ett_docsis_tlv_rcc_rcv_ch);
while (pos < (start + len))
{
@@ -3475,15 +3415,13 @@ dissect_rcc(tvbuff_t * tvb, packet_info * pinfo _U_,
proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *rcc_tree;
int pos = start;
tvbuff_t *vsif_tvb;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ rcc_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_rcc, NULL,
"49 Receive Channel Configuration (Length = %u)", len);
- rcc_tree = proto_item_add_subtree (it, ett_docsis_tlv_rcc);
while (pos < (start + len))
{
@@ -3525,13 +3463,11 @@ static void
dissect_dsid_ds_reseq(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *dsid_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ dsid_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_dsid_ds_reseq, NULL,
"Resequencing DSID (Length = %u)", len);
- dsid_tree = proto_item_add_subtree (it, ett_docsis_tlv_dsid_ds_reseq);
while (pos < (start + len))
{
@@ -3601,13 +3537,11 @@ static void
dissect_dsid_mc_addr(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *dsid_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ dsid_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_dsid_mc_addr, NULL,
"Client MAC Address Encodings (Length = %u)", len);
- dsid_tree = proto_item_add_subtree (it, ett_docsis_tlv_dsid_mc_addr);
while (pos < (start + len))
{
@@ -3648,13 +3582,11 @@ static void
dissect_dsid_mc(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *dsid_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ dsid_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_dsid_mc, NULL,
"Multicast Encodings (Length = %u)", len);
- dsid_tree = proto_item_add_subtree (it, ett_docsis_tlv_dsid_mc);
while (pos < (start + len))
{
@@ -3687,13 +3619,11 @@ static void
dissect_dsid(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *dsid_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ dsid_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_dsid, NULL,
"50 DSID Encodings (Length = %u)", len);
- dsid_tree = proto_item_add_subtree (it, ett_docsis_tlv_dsid);
while (pos < (start + len))
{
@@ -3740,13 +3670,11 @@ static void
dissect_sec_assoc(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *sec_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ sec_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_dsid, NULL,
"51 Security Association Encodings (Length = %u)", len);
- sec_tree = proto_item_add_subtree (it, ett_docsis_tlv_dsid);
while (pos < (start + len))
{
@@ -3787,13 +3715,11 @@ static void
dissect_ch_asgn(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *asgn_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ asgn_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_tlv_ch_asgn, NULL,
"56 Channel Assignment Configuration Settings (Length = %u)", len);
- asgn_tree = proto_item_add_subtree (it, ett_docsis_tlv_ch_asgn);
while (pos < (start + len))
{
@@ -3834,13 +3760,11 @@ static void
dissect_cmts_mc_sess_enc(tvbuff_t * tvb, proto_tree *tree, int start, guint16 len)
{
guint8 type, length;
- proto_item *it;
proto_tree *mc_tree;
int pos = start;
- it =
- proto_tree_add_text (tree, tvb, start, len,
+ mc_tree =
+ proto_tree_add_subtree_format(tree, tvb, start, len, ett_docsis_cmts_mc_sess_enc, NULL,
"64 CMTS Static Multicast Session Encoding (Length = %u)", len);
- mc_tree = proto_item_add_subtree (it, ett_docsis_cmts_mc_sess_enc);
while (pos < (start + len))
{
diff --git a/plugins/docsis/packet-type29ucd.c b/plugins/docsis/packet-type29ucd.c
index e4f48776fe..922af953b5 100644
--- a/plugins/docsis/packet-type29ucd.c
+++ b/plugins/docsis/packet-type29ucd.c
@@ -196,7 +196,6 @@ dissect_type29ucd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
guint8 type, length;
guint8 tlvlen, tlvtype;
proto_tree *burst_descr_tree;
- proto_item *it;
proto_tree *type29ucd_tree;
proto_item *type29ucd_item;
guint16 len;
@@ -408,11 +407,10 @@ dissect_type29ucd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
break;
/* DOCSIS 1.1 BURST DESCRIPTOR */
case type29ucd_BURST_DESCR:
- it =
- proto_tree_add_text (type29ucd_tree, tvb, pos, length,
- "4 Burst Descriptor (Length = %u)",
+ burst_descr_tree =
+ proto_tree_add_subtree_format(type29ucd_tree, tvb, pos, length,
+ ett_burst_descr, NULL, "4 Burst Descriptor (Length = %u)",
length);
- burst_descr_tree = proto_item_add_subtree (it, ett_burst_descr);
proto_tree_add_item (burst_descr_tree, hf_docsis_type29ucd_iuc, tvb,
pos++, 1, ENC_BIG_ENDIAN);
endtlvpos = pos + length - 1;
@@ -560,11 +558,10 @@ dissect_type29ucd (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree)
break;
/* DOCSIS 2.0 Upstream Channel Descriptor */
case type29ucd_BURST_DESCR5:
- it =
- proto_tree_add_text (type29ucd_tree, tvb, pos, length,
- "5 Burst Descriptor (Length = %u)",
+ burst_descr_tree =
+ proto_tree_add_subtree_format(type29ucd_tree, tvb, pos, length,
+ ett_burst_descr, NULL, "5 Burst Descriptor (Length = %u)",
length);
- burst_descr_tree = proto_item_add_subtree (it, ett_burst_descr);
proto_tree_add_item (burst_descr_tree, hf_docsis_type29ucd_iuc, tvb,
pos++, 1, ENC_BIG_ENDIAN);
endtlvpos = pos + length - 1;
diff --git a/plugins/docsis/packet-ucd.c b/plugins/docsis/packet-ucd.c
index 62d0812c5f..a70d103a6a 100644
--- a/plugins/docsis/packet-ucd.c
+++ b/plugins/docsis/packet-ucd.c
@@ -199,11 +199,10 @@ static void
while (pos < len)
{
type = tvb_get_guint8 (tvb, pos);
- tlv_item = proto_tree_add_text (ucd_tree, tvb, pos, -1,
- "%s",
+ tlv_tree = proto_tree_add_subtree(ucd_tree, tvb, pos, -1,
+ ett_tlv, &tlv_item,
val_to_str(type, channel_tlv_vals,
"Unknown TLV (%u)"));
- tlv_tree = proto_item_add_subtree (tlv_item, ett_tlv);
proto_tree_add_uint (tlv_tree, hf_docsis_ucd_type,
tvb, pos, 1, type);
pos++;
diff --git a/plugins/docsis/packet-vendor.c b/plugins/docsis/packet-vendor.c
index 72a42d1dba..6794e4207e 100644
--- a/plugins/docsis/packet-vendor.c
+++ b/plugins/docsis/packet-vendor.c
@@ -148,7 +148,6 @@ dissect_cisco (tvbuff_t * tvb, proto_tree * tree, gint vsif_len)
/* Start at pos = 5, since tvb includes the Vendor ID field */
int pos = 5;
guint8 type, length;
- proto_item *ipprec_it;
proto_tree *ipprec_tree;
int templen;
@@ -164,10 +163,8 @@ dissect_cisco (tvbuff_t * tvb, proto_tree * tree, gint vsif_len)
pos, length, ENC_BIG_ENDIAN);
break;
case IP_PREC:
- ipprec_it =
- proto_tree_add_text (tree, tvb, pos, length, "IP Precedence");
ipprec_tree =
- proto_item_add_subtree (ipprec_it, ett_docsis_vsif_ipprec);
+ proto_tree_add_subtree(tree, tvb, pos, length, ett_docsis_vsif_ipprec, NULL, "IP Precedence");
/* Handle Sub-TLVs in IP Precedence */
templen = pos + length;
while (pos < templen)