diff options
Diffstat (limited to 'epan/dissectors/packet-pw-cesopsn.c')
-rw-r--r-- | epan/dissectors/packet-pw-cesopsn.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/epan/dissectors/packet-pw-cesopsn.c b/epan/dissectors/packet-pw-cesopsn.c index 1463d42cb8..354825edd8 100644 --- a/epan/dissectors/packet-pw-cesopsn.c +++ b/epan/dissectors/packet-pw-cesopsn.c @@ -444,7 +444,6 @@ void proto_register_pw_cesopsn(void) proto_register_subtree_array(ett_array, array_length(ett_array)); expert_pwcesopsn = expert_register_protocol(proto); expert_register_field_array(expert_pwcesopsn, ei, array_length(ei)); - register_dissector("pw_cesopsn_mpls", dissect_pw_cesopsn_mpls, proto); register_dissector("pw_cesopsn_udp", dissect_pw_cesopsn_udp, proto); return; } @@ -452,10 +451,15 @@ void proto_register_pw_cesopsn(void) void proto_reg_handoff_pw_cesopsn(void) { + dissector_handle_t pw_cesopsn_mpls_handle; + data_handle = find_dissector("data"); pw_padding_handle = find_dissector("pw_padding"); + /* For Decode As */ - dissector_add_for_decode_as("mpls.label", find_dissector("pw_cesopsn_mpls")); + pw_cesopsn_mpls_handle = create_dissector_handle( dissect_pw_cesopsn_mpls, proto ); + dissector_add_for_decode_as("mpls.label", pw_cesopsn_mpls_handle); + dissector_add_for_decode_as("udp.port", find_dissector("pw_cesopsn_udp")); return; } |