From 99d5535cb10969786e28f517a1864f6e97eb8743 Mon Sep 17 00:00:00 2001 From: Evan Huus Date: Sat, 1 Dec 2012 15:39:14 +0000 Subject: From Krishnamurthy Mayya and Nikitha Malgi via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8019 Dissection support for PW-OAM messages (RFC 6478). svn path=/trunk/; revision=46311 --- epan/dissectors/packet-mpls.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'epan/dissectors/packet-mpls.c') 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"); -- cgit v1.2.3