diff options
Diffstat (limited to 'epan/dissectors/packet-mpls.c')
-rw-r--r-- | epan/dissectors/packet-mpls.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/epan/dissectors/packet-mpls.c b/epan/dissectors/packet-mpls.c index b2069a8c7b..2a852aa107 100644 --- a/epan/dissectors/packet-mpls.c +++ b/epan/dissectors/packet-mpls.c @@ -102,6 +102,7 @@ static dissector_handle_t dissector_mpls_pm_ilm_dm; static dissector_handle_t dissector_mpls_psc; static dissector_handle_t dissector_mplstp_lock; static dissector_handle_t dissector_mplstp_fm; +static dissector_handle_t dissector_pw_oam; static dissector_handle_t dissector_pw_eth_heuristic; static dissector_handle_t dissector_pw_fr; static dissector_handle_t dissector_pw_hdlc_nocw_fr; @@ -298,6 +299,7 @@ static const value_string mpls_pwac_types[] = { { 0x0024, "Protection State Coordination Protocol (PSC)"}, { 0x0025, "On-Demand CV"}, { 0x0026, "LI"}, + { 0x0027, "Pseudo-Wire OAM"}, { 0x0057, "IPv6 packet" }, { 0x0058, "Fault OAM"}, { 0x7FF8, "Reserved for Experimental Use"}, @@ -435,6 +437,10 @@ dissect_pw_ach(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) call_dissector(dissector_mplstp_lock, next_tvb, pinfo, tree); break; + case 0x0027: /* KM: MPLSTP PW-OAM, RFC 6478 */ + call_dissector(dissector_pw_oam, next_tvb, pinfo, tree); + break; + case 0x0058: /* KM: MPLSTP FM, RFC 6427 */ call_dissector(dissector_mplstp_fm, next_tvb, pinfo, tree); break; @@ -811,6 +817,7 @@ proto_reg_handoff_mpls(void) dissector_mpls_psc = find_dissector("mpls_psc"); dissector_mplstp_lock = find_dissector("mplstp_lock"); dissector_mplstp_fm = find_dissector("mplstp_fm"); + dissector_pw_oam = find_dissector("pw_oam"); 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"); |