diff options
author | Michael Mann <mmann78@netscape.net> | 2014-11-09 14:00:01 -0500 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2014-11-09 19:49:09 +0000 |
commit | 055e4768ece1033afaf952e161a1e5d75a62961f (patch) | |
tree | ed07b7c2d1e0fb65cbd985cb8a9aead9bd2a7f56 /epan/dissectors/packet-mpls-pm.c | |
parent | 3924310d86cee06ebfcc4534518d609cafb91ecf (diff) |
Add subdissector table for MPLS PW Associated Channel Type
Change-Id: Id72fcbe74b91b4eb25fb4d3f3d47a1d53c2857b2
Reviewed-on: https://code.wireshark.org/review/5212
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-mpls-pm.c')
-rw-r--r-- | epan/dissectors/packet-mpls-pm.c | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/epan/dissectors/packet-mpls-pm.c b/epan/dissectors/packet-mpls-pm.c index 3cfad17939..e149d92c2d 100644 --- a/epan/dissectors/packet-mpls-pm.c +++ b/epan/dissectors/packet-mpls-pm.c @@ -111,12 +111,6 @@ static int hf_mpls_pm_timestamp4_r_ntp = -1; static int hf_mpls_pm_timestamp4_r_ptp = -1; static int hf_mpls_pm_timestamp4_unk = -1; -static dissector_handle_t mpls_pm_dlm_handle; -static dissector_handle_t mpls_pm_ilm_handle; -static dissector_handle_t mpls_pm_dm_handle; -static dissector_handle_t mpls_pm_dlm_dm_handle; -static dissector_handle_t mpls_pm_ilm_dm_handle; - /* * FF: please keep this list in sync with * http://www.iana.org/assignments/mpls-lsp-ping-parameters @@ -1383,31 +1377,25 @@ proto_register_mpls_pm(void) proto_register_field_array(proto_mpls_pm_dlm, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - - register_dissector("mpls_pm_dlm", dissect_mpls_pm_dlm, - proto_mpls_pm_dlm); - - register_dissector("mpls_pm_ilm", dissect_mpls_pm_ilm, - proto_mpls_pm_ilm); - - register_dissector("mpls_pm_dm", dissect_mpls_pm_delay, - proto_mpls_pm_dm); - - register_dissector("mpls_pm_dlm_dm", dissect_mpls_pm_dlm_dm, - proto_mpls_pm_dlm_dm); - - register_dissector("mpls_pm_ilm_dm", dissect_mpls_pm_ilm_dm, - proto_mpls_pm_ilm_dm); } void proto_reg_handoff_mpls_pm(void) { - mpls_pm_dlm_handle = find_dissector("mpls_pm_dlm"); - mpls_pm_ilm_handle = find_dissector("mpls_pm_ilm"); - mpls_pm_dm_handle = find_dissector("mpls_pm_dm"); - mpls_pm_dlm_dm_handle = find_dissector("mpls_pm_dlm_dm"); - mpls_pm_ilm_dm_handle = find_dissector("mpls_pm_ilm_dm"); + dissector_handle_t mpls_pm_dlm_handle, mpls_pm_ilm_handle, mpls_pm_dm_handle, + mpls_pm_dlm_dm_handle, mpls_pm_ilm_dm_handle; + + mpls_pm_dlm_handle = create_dissector_handle( dissect_mpls_pm_dlm, proto_mpls_pm_dlm ); + dissector_add_uint("pwach.channel_type", 0x000A, mpls_pm_dlm_handle); /* FF: MPLS PM, RFC 6374, DLM */ + mpls_pm_ilm_handle = create_dissector_handle( dissect_mpls_pm_ilm, proto_mpls_pm_ilm ); + dissector_add_uint("pwach.channel_type", 0x000B, mpls_pm_ilm_handle); /* FF: MPLS PM, RFC 6374, ILM */ + mpls_pm_dm_handle = create_dissector_handle( dissect_mpls_pm_delay, proto_mpls_pm_dm ); + dissector_add_uint("pwach.channel_type", 0x000C, mpls_pm_dm_handle); /* FF: MPLS PM, RFC 6374, DM */ + mpls_pm_dlm_dm_handle = create_dissector_handle( dissect_mpls_pm_dlm_dm, proto_mpls_pm_dlm_dm ); + dissector_add_uint("pwach.channel_type", 0x000D, mpls_pm_dlm_dm_handle); /* FF: MPLS PM, RFC 6374, DLM+DM */ + mpls_pm_ilm_dm_handle = create_dissector_handle( dissect_mpls_pm_ilm_dm, proto_mpls_pm_ilm_dm ); + dissector_add_uint("pwach.channel_type", 0x000E, mpls_pm_ilm_dm_handle); /* FF: MPLS PM, RFC 6374, ILM+DM */ + } /* |