diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2012-03-18 11:41:18 +0000 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2012-03-18 11:41:18 +0000 |
commit | 52594e8d9b942e323a61662810ebf71202442c34 (patch) | |
tree | d984411719c235e2153a13b63faa08fb85f23358 /epan/dissectors/packet-mpls.c | |
parent | 7bc574b7760bb82c736e86efee0e0cb32bd35af5 (diff) |
From Francesco Fondelli via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6966
MPLS-TP Protection State Coordination (PSC) Protocol, RFC 6378
svn path=/trunk/; revision=41635
Diffstat (limited to 'epan/dissectors/packet-mpls.c')
-rw-r--r-- | epan/dissectors/packet-mpls.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/epan/dissectors/packet-mpls.c b/epan/dissectors/packet-mpls.c index 722ccd2a69..6f6f262718 100644 --- a/epan/dissectors/packet-mpls.c +++ b/epan/dissectors/packet-mpls.c @@ -106,6 +106,7 @@ static dissector_handle_t dissector_mpls_pm_ilm; static dissector_handle_t dissector_mpls_pm_dm; static dissector_handle_t dissector_mpls_pm_dlm_dm; static dissector_handle_t dissector_mpls_pm_ilm_dm; +static dissector_handle_t dissector_mpls_psc; static dissector_handle_t dissector_pw_eth_heuristic; static dissector_handle_t dissector_pw_fr; static dissector_handle_t dissector_pw_hdlc_nocw_fr; @@ -293,7 +294,7 @@ static const value_string mpls_pwac_types[] = { { 0x0021, "IPv4 packet" }, { 0x0022, "MPLS-TP CC message"}, { 0x0023, "MPLS-TP CV message"}, - { 0x0024, "Protection State Coordination Protocol - Channel Type (PSC-CT)"}, + { 0x0024, "Protection State Coordination Protocol (PSC)"}, { 0x0025, "On-Demand CV"}, { 0x0026, "LI"}, { 0x0057, "IPv6 packet" }, @@ -456,6 +457,10 @@ dissect_pw_ach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { call_dissector(dissector_mpls_pm_ilm_dm, next_tvb, pinfo, tree); } + else if (channel_type == 0x0024) /* FF: PSC, RFC 6378 */ + { + call_dissector(dissector_mpls_psc, next_tvb, pinfo, tree); + } else { call_dissector(dissector_data, next_tvb, pinfo, tree); @@ -778,6 +783,7 @@ proto_reg_handoff_mpls(void) dissector_mpls_pm_dm = find_dissector("mpls_pm_dm"); dissector_mpls_pm_dlm_dm = find_dissector("mpls_pm_dlm_dm"); dissector_mpls_pm_ilm_dm = find_dissector("mpls_pm_ilm_dm"); + dissector_mpls_psc = find_dissector("mpls_psc"); dissector_pw_eth_heuristic = find_dissector("pw_eth_heuristic"); dissector_pw_fr = find_dissector("pw_fr"); dissector_pw_hdlc_nocw_fr = find_dissector("pw_hdlc_nocw_fr"); |