aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/docsis/packet-tlv.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/docsis/packet-tlv.c')
-rw-r--r--plugins/docsis/packet-tlv.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/plugins/docsis/packet-tlv.c b/plugins/docsis/packet-tlv.c
index 4520d58c48..c8368e82ec 100644
--- a/plugins/docsis/packet-tlv.c
+++ b/plugins/docsis/packet-tlv.c
@@ -2,6 +2,8 @@
* Routines to Dissect Appendix C TLV's
* Copyright 2002, Anand V. Narwani <anarwani@cisco.com>
*
+ * $Id: packet-tlv.c,v 1.7 2002/09/10 19:07:39 guy Exp $
+ *
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
* Copyright 1998 Gerald Combs
@@ -47,6 +49,9 @@
*/
/* Initialize the protocol and registered fields */
+static dissector_handle_t docsis_vsif_handle;
+
+
static int proto_docsis_tlv = -1;
static int hf_docsis_tlv = -1;
static int hf_docsis_tlv_down_freq = -1;
@@ -1782,6 +1787,7 @@ dissect_tlv (tvbuff_t * tvb, packet_info * pinfo _U_, proto_tree * tree)
guint16 pos = 0;
guint8 type, length;
guint16 x;
+ tvbuff_t *vsif_tvb;
total_len = tvb_length_remaining (tvb, 0);
@@ -2067,8 +2073,8 @@ dissect_tlv (tvbuff_t * tvb, packet_info * pinfo _U_, proto_tree * tree)
tvb, pos, length, FALSE);
break;
case TLV_VENDOR_SPEC:
- proto_tree_add_item (tlv_tree, hf_docsis_tlv_vendor_spec,
- tvb, pos, length, FALSE);
+ vsif_tvb = tvb_new_subset (tvb, pos, length, length);
+ call_dissector (docsis_vsif_handle, vsif_tvb, pinfo, tlv_tree);
break;
case TLV_END:
break;
@@ -2846,6 +2852,8 @@ proto_reg_handoff_docsis_tlv (void)
dissector_handle_t docsis_tlv_handle;
docsis_tlv_handle = find_dissector ("docsis_tlv");
+ docsis_vsif_handle = find_dissector("docsis_vsif");
+
dissector_add ("docsis", 0xFF, docsis_tlv_handle);
}