aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mpls.c
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2012-03-18 11:41:18 +0000
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2012-03-18 11:41:18 +0000
commit52594e8d9b942e323a61662810ebf71202442c34 (patch)
treed984411719c235e2153a13b63faa08fb85f23358 /epan/dissectors/packet-mpls.c
parent7bc574b7760bb82c736e86efee0e0cb32bd35af5 (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.c8
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");