wireshark/plugins/docsis
Guy Harris a4c8ebc18b Don't do any Decode As stuff for dissector tables not used with Decode As.
Have all dissector tables have a "supports Decode As" flag, which
defaults to FALSE, and which is set to TRUE if a register_decode_as()
refers to it.

When adding a dissector to a dissector table with a given key, only add
it for Decode As if the dissector table supports it.

For non-FT_STRING dissector tables, always check for multiple entries
for the same protocol with different dissectors, and report an error if
we found them.

This means there's no need for the creator of a dissector table to
specify whether duplicates of that sort should be allowed - we always do
the check when registering something for "Decode As" (in a non-FT_STRING
dissector table), and just don't bother registering anything for "Decode
As" if the dissector table doesn't support "Decode As", so there's no
check done for those dissector tables.

Change-Id: I4a1fdea3bddc2af27a65cfbca23edc99b26c0eed
Reviewed-on: https://code.wireshark.org/review/17402
Petri-Dish: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-08-31 00:08:01 +00:00
..
AUTHORS
CMakeLists.txt DOCSIS: Added dissector for Downstream Profile Descriptor (DPD) 2016-07-10 15:06:34 +00:00
ChangeLog
Makefile.am DOCSIS: Added dissector for Downstream Profile Descriptor (DPD) 2016-07-10 15:06:34 +00:00
README
moduleinfo.h
packet-bintrngreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-bpkmattr.c Update BPKM Auth Reply key length for DOCSIS 3.1 2016-04-29 04:50:46 +00:00
packet-bpkmreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-bpkmrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-cmctrlreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-cmctrlrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-cmstatus.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dbcack.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dbcreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dbcrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dccack.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dccreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dccrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dcd.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-docsis.c Don't do any Decode As stuff for dissector tables not used with Decode As. 2016-08-31 00:08:01 +00:00
packet-dpd.c Widen some variables. 2016-07-15 02:09:39 +00:00
packet-dpvreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dpvrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dsaack.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dsareq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dsarsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dscack.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dscreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dscrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dsdreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-dsdrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-intrngreq.c [docsis->INIT-RNG-REQ] Correction for INFO field 2016-01-07 01:07:46 +00:00
packet-macmgmt.c Don't do any Decode As stuff for dissector tables not used with Decode As. 2016-08-31 00:08:01 +00:00
packet-map.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-mdd.c [docsis->mdd] Add support for TLV 1.7 2016-03-28 10:17:11 +00:00
packet-ocd.c DOCSIS: Added dissector for OFDM Channel Descriptor 2016-06-28 20:04:20 +00:00
packet-regack.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-regreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-regreqmp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-regrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-regrspmp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-rngreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-rngrsp.c [docsis->rngrsp] Packet decoded in greater detail 2016-05-31 20:33:53 +00:00
packet-sync.c [docsis->sync] Remove colon from INFO field 2015-12-28 00:37:16 +00:00
packet-tlv-cmctrl.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-tlv.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-tlv.h
packet-type29ucd.c DOCSIS: Fix unknown TLVs in UCD type29 caused parsing errors + bugfixes 2016-06-27 07:01:21 +00:00
packet-type35ucd.c DOCSIS: Update to Type 35 UCD 2016-07-03 02:41:07 +00:00
packet-uccreq.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-uccrsp.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-ucd.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
packet-vendor.c new_register_dissector -> register_dissector for remaining uses. 2015-12-11 03:42:37 +00:00
plugin.rc.in Fix CMake generation and use of Windows .rc files 2015-01-11 20:22:32 +00:00

README

Overview:
=========
The dissectors provided by this plugin allow the dissection of DOCSIS 1.1
Frames.  Captures of DOCSIS 1.1 frames can be facilitated using Cisco's 
Cable Monitor Features found on Cicso UBR7200 and UBR10000 Series Cable Modem 
Termination Systems.  Captures of DOCSIS 1.1 and DOCSIS 2.0 frames can be
facilitated using the ARRIS Cadant C4 and the ARRIS Cadant C3.

 
Features:
=========
+ Decode the DOCSIS header + Extended Header.  For Data PDU's it will 
  automatically decode as far up the stack that it can. 
+ Decode Mac Management Header. The following Mac Messages 
  are decoded at present: 
	REG-REQ 
	REG-RSP 
	REG-ACK 
	RNG-REQ 
	RNG-RSP 
	UCC-REQ 
	UCC-RSP 
	UCD Messages 
	MAP Messages 
	DSA-REQ 
	DSA-RSP 
	DSA-ACK 
	DSC-REQ 
	DSC-RSP 
	DSC-ACK 
	DSD-REQ 
	DSD-RSP
	BPKM-REQ
	BPKM-RSP
	BPKM Attributes
+ Decode All Appendix C TLV's
+ Decode Concatenated Frames via a recursive call to dissect_docsis()
+ Decode DOCSIS 2.0 packets including:
        Type 29 UCD Messages (DOCSIS 2.0 only)
	INT-RNG-REQ
	
References:
===========
DOCSIS 1.1 and DOCSIS 2.0 Specifications can be found at:
http://www.cablemodem.com/specifications.html

Information on Cisco's Cable Monitor Feature can be found at:
http://www.cisco.com/univercd/cc/td/doc/product/cable/cab_rout/cmtsfg/ufg_cmon.htm

Information on the ARRIS Cadant line of products
http://www.arrisi.com/products_solutions/product_families/Cadant/index.asp