diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2013-01-21 08:38:40 +0000 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2013-01-21 08:38:40 +0000 |
commit | 23b58281150ce4474728ef10519fb5906c6c8748 (patch) | |
tree | 2a8cda036dda9e239bc81e5f855c77db591462b5 /epan | |
parent | b7548f11bd181cc840553f3d8b1c8091e0d17c0d (diff) |
From Subramanian via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8109 Add support for Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs) [ RFC 5884]
svn path=/trunk/; revision=47193
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-mpls-echo.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/epan/dissectors/packet-mpls-echo.c b/epan/dissectors/packet-mpls-echo.c index 1e681747da..946e7c3a78 100644 --- a/epan/dissectors/packet-mpls-echo.c +++ b/epan/dissectors/packet-mpls-echo.c @@ -14,6 +14,8 @@ * - Support for LSP Ping extensions as per RFC 6426 * Mayuresh Raut <msraut@ncsu.edu> * - Support for LSP ping over MPLS as per RFC 6424 + * (c) Copyright 2012, Subramanian Ramachandran <sramach6@ncsu.edu> + * - Support for BFD for MPLS as per RFC 5884 * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -206,6 +208,7 @@ static int hf_mpls_echo_tlv_responder_indent_type = -1; static int hf_mpls_echo_tlv_responder_indent_len = -1; static int hf_mpls_echo_tlv_responder_indent_ipv4 = -1; static int hf_mpls_echo_tlv_responder_indent_ipv6 = -1; +static int hf_mpls_echo_tlv_bfd = -1; static gint ett_mpls_echo = -1; static gint ett_mpls_echo_gflags = -1; @@ -277,6 +280,8 @@ static value_string_ext mpls_echo_returncode_ext = VALUE_STRING_EXT_INIT(mpls_ec /* As per RFC 6426 http://tools.ietf.org/html/rfc6426 Section: 2.2.1 */ #define TLV_SRC_IDENTIFIER 0x000D #define TLV_DST_IDENTIFIER 0x000E +/* As per RFC 5884 http://tools.ietf.org/html/rfc5884 Section: 6.1 */ +#define TLV_BFD_DISCRIMINATOR 0x000F /* As per RFC 6426 http://tools.ietf.org/html/rfc6426 Section: 7.3 */ #define TLV_REVERSE_PATH_FEC_STACK 0x0010 #define TLV_DETAILED_DOWNSTREAM 0x0014 /* [RFC6424] */ @@ -303,6 +308,7 @@ static const value_string mpls_echo_tlv_type_names[] = { { TLV_P2MP_ECHO_JITTER, "P2MP Echo Jitter" }, { TLV_SRC_IDENTIFIER, "Source Identifier TLV" }, { TLV_DST_IDENTIFIER, "Destination Identifier TLV" }, + { TLV_BFD_DISCRIMINATOR, "BFD Discriminator TLV" }, { TLV_REVERSE_PATH_FEC_STACK, "Reverse-path Target FEC Stack" }, { TLV_DETAILED_DOWNSTREAM, "Detailed Downstream Mapping"}, { TLV_VENDOR_PRIVATE_START, "Vendor Private" }, @@ -1633,6 +1639,10 @@ dissect_mpls_echo_tlv(tvbuff_t *tvb, packet_info *pinfo, guint offset, proto_tre proto_tree_add_item(mpls_echo_tlv_tree, hf_mpls_echo_lspping_tlv_src_addr_nid, tvb, (offset + 8), 4, ENC_BIG_ENDIAN); break; + case TLV_BFD_DISCRIMINATOR: + proto_tree_add_item(mpls_echo_tlv_tree, hf_mpls_echo_tlv_bfd, + tvb, (offset + 4), 4, ENC_BIG_ENDIAN); + break; case TLV_REVERSE_PATH_FEC_STACK: dissect_mpls_echo_tlv_fec (tvb, pinfo, (offset + 4), mpls_echo_tlv_tree, length); break ; @@ -2414,6 +2424,10 @@ proto_register_mpls_echo(void) { "Echo Jitter time", "mpls_echo.tlv.echo_jitter", FT_UINT32, BASE_DEC, NULL, 0x0, "MPLS ECHO Jitter time", HFILL} }, + { &hf_mpls_echo_tlv_bfd, + { "BFD Discriminator", "mpls_echo.bfd_discriminator", + FT_UINT32, BASE_HEX, NULL, 0x0, "MPLS ECHO BFD Discriminator", HFILL} + }, }; static gint *ett[] = { |