diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2017-08-16 17:18:30 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-08-18 14:06:09 +0000 |
commit | 4f76eb002d65d801d5c262f7b21594d1421de4fd (patch) | |
tree | 1253872f24842e399ce652b746cbd2bd747801c8 /epan/dissectors/packet-rsvp.c | |
parent | 96dd97f9ba37ae0e708d2917e78c1a61d385266b (diff) |
RSVP: add Session C-type RSVP_SESSION_TYPE_P2MP_LSP_TUNNEL_IPV6
Change-Id: I493771df32b83691fa587b9a725c15df6057fb52
Ping-Bug: 13977
Reviewed-on: https://code.wireshark.org/review/23104
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-rsvp.c')
-rw-r--r-- | epan/dissectors/packet-rsvp.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/epan/dissectors/packet-rsvp.c b/epan/dissectors/packet-rsvp.c index e3ea0b9769..7afbc75262 100644 --- a/epan/dissectors/packet-rsvp.c +++ b/epan/dissectors/packet-rsvp.c @@ -2587,6 +2587,33 @@ dissect_rsvp_session(proto_item *ti, proto_tree *rsvp_object_tree, rsvph->ext_tunnel_id = tvb_get_ntohl(tvb, offset2 + 8); break; + case RSVP_SESSION_TYPE_P2MP_LSP_TUNNEL_IPV6: + proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, + RSVP_SESSION_TYPE_P2MP_LSP_TUNNEL_IPV6, "14 - IPv6 P2MP LSP TUNNEL"); + proto_tree_add_item(rsvp_object_tree, + hf_rsvp_session_p2mp_id, + tvb, offset2, 4, ENC_BIG_ENDIAN); + + proto_tree_add_item(rsvp_object_tree, + hf_rsvp_filter[RSVPF_SESSION_TUNNEL_ID], + tvb, offset2+6, 2, ENC_BIG_ENDIAN); + + proto_tree_add_item(rsvp_object_tree, hf_rsvp_extended_tunnel, tvb, offset2+8, 16, ENC_NA); + hidden_item = proto_tree_add_item(rsvp_object_tree, + hf_rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID_IPV6], + tvb, offset2+8, 16, ENC_NA); + PROTO_ITEM_SET_HIDDEN(hidden_item); + + /* + * Save this information to build the conversation request key + * later. + */ + rsvph->session_type = RSVP_SESSION_TYPE_P2MP_LSP_TUNNEL_IPV6; + set_address_tvb(&rsvph->destination, AT_IPv6, 16, tvb, offset2); + rsvph->udp_dest_port = tvb_get_ntohs(tvb, offset2+18); + rsvph->ext_tunnel_id_ipv6_pre = tvb_get_ntoh64(tvb, offset2+20); + rsvph->ext_tunnel_id_ipv6_post = tvb_get_ntoh64(tvb, offset2+28); + break; case RSVP_SESSION_TYPE_IPV4_E_NNI: proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, |