aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2006-11-02 16:47:13 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2006-11-02 16:47:13 +0000
commit37cd69bf415c60d0c29c5f00033742cb9244f8f4 (patch)
tree118e2dc0427bf97c7aede957c0f0585bc076ab10
parent8dbd2e1f1d14a3c59e3f4bc834557a1aac770acd (diff)
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. svn path=/trunk/; revision=19779
-rw-r--r--epan/dissectors/packet-icmpv6.c27
1 files 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 <tomislav.borosa@siemens.hr>
+ * Copyright 2006, Nicolas DICHTEL - 6WIND - <nicolas.dichtel@6wind.com>
*
* HMIPv6 support added by Martti Kuparinen <martti.kuparinen@iki.fi>
*
@@ -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));