diff options
author | Evan Huus <eapache@gmail.com> | 2012-12-01 15:39:14 +0000 |
---|---|---|
committer | Evan Huus <eapache@gmail.com> | 2012-12-01 15:39:14 +0000 |
commit | 99d5535cb10969786e28f517a1864f6e97eb8743 (patch) | |
tree | b8f9dcf92dd86ea3031c4cf818f89d8468c9eb67 /epan/dissectors/packet-mpls.c | |
parent | 430d616e282b3b486e5e04ea6625aaf6e6ea197c (diff) |
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
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"); |