From 60fc3012810c27495ffd0479123d4fc835ed0dc8 Mon Sep 17 00:00:00 2001 From: jake Date: Thu, 2 Nov 2006 16:47:13 +0000 Subject: [PATCH] From Nicolas Dichtel: here is a patch that transforms "valid lifetime" and "prefered lifetime" in a prefix option (in RA) in human readable format. Following the RFC2461 Section 4.6.2, if the value is 0xffffffff, this means lifetime is infinity. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19779 f5534014-38df-0310-8fa8-9805f1628bb7 --- epan/dissectors/packet-icmpv6.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/epan/dissectors/packet-icmpv6.c b/epan/dissectors/packet-icmpv6.c index 4433660546..3bbb4fe4b2 100644 --- a/epan/dissectors/packet-icmpv6.c +++ b/epan/dissectors/packet-icmpv6.c @@ -8,6 +8,7 @@ * Copyright 1998 Gerald Combs * * MobileIPv6 support added by Tomislav Borosa + * Copyright 2006, Nicolas DICHTEL - 6WIND - * * HMIPv6 support added by Martti Kuparinen * @@ -310,14 +311,24 @@ again: decode_boolean_bitfield(pi->nd_opt_pi_flags_reserved, ND_OPT_PI_FLAG_SITEPREF, 8, "Site prefix", "Not site prefix")); - proto_tree_add_text(icmp6opt_tree, tvb, - offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_valid_time), - 4, "Valid lifetime: 0x%08x", - pntohl(&pi->nd_opt_pi_valid_time)); - proto_tree_add_text(icmp6opt_tree, tvb, - offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_preferred_time), - 4, "Preferred lifetime: 0x%08x", - pntohl(&pi->nd_opt_pi_preferred_time)); + if (pntohl(&pi->nd_opt_pi_valid_time) == 0xffffffff) + proto_tree_add_text(icmp6opt_tree, tvb, + offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_valid_time), + 4, "Valid lifetime: infinity"); + else + proto_tree_add_text(icmp6opt_tree, tvb, + offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_valid_time), + 4, "Valid lifetime: %u", + pntohl(&pi->nd_opt_pi_valid_time)); + if (pntohl(&pi->nd_opt_pi_preferred_time) == 0xffffffff) + proto_tree_add_text(icmp6opt_tree, tvb, + offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_preferred_time), + 4, "Preferred lifetime: infinity"); + else + proto_tree_add_text(icmp6opt_tree, tvb, + offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_preferred_time), + 4, "Preferred lifetime: %u", + pntohl(&pi->nd_opt_pi_preferred_time)); proto_tree_add_text(icmp6opt_tree, tvb, offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_prefix), 16, "Prefix: %s", ip6_to_str(&pi->nd_opt_pi_prefix)); -- 2.25.1