aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJun-ichiro itojun Hagino <itojun@itojun.org>2000-08-29 14:17:12 +0000
committerJun-ichiro itojun Hagino <itojun@itojun.org>2000-08-29 14:17:12 +0000
commit1a06c6a7eae14624d1e1a766fe2221c49a306537 (patch)
tree7a488ca24ae6e053918cb61b1494ec07b3e51321
parent6dc7a7ac4f3c70b2606947d2d4eba0322846c0b9 (diff)
downloadwireshark-1a06c6a7eae14624d1e1a766fe2221c49a306537.tar.gz
wireshark-1a06c6a7eae14624d1e1a766fe2221c49a306537.tar.bz2
wireshark-1a06c6a7eae14624d1e1a766fe2221c49a306537.zip
correct nodeinfo (node addresses). it returns address (16byte) + ttl (4byte),
not just addresses. KAME kernel currently uses old format, so ethereal does not work with current KAME kernel (KAME kernel will be corrected). svn path=/trunk/; revision=2381
-rw-r--r--packet-icmpv6.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/packet-icmpv6.c b/packet-icmpv6.c
index 3ed3ab4ac6..a61d243d8a 100644
--- a/packet-icmpv6.c
+++ b/packet-icmpv6.c
@@ -1,7 +1,7 @@
/* packet-icmpv6.c
* Routines for ICMPv6 packet disassembly
*
- * $Id: packet-icmpv6.c,v 1.24 2000/08/22 15:07:33 gram Exp $
+ * $Id: packet-icmpv6.c,v 1.25 2000/08/29 14:17:12 itojun Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -512,16 +512,17 @@ dissect_nodeinfo(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
break;
case NI_QTYPE_NODEADDR:
n = pi.captured_len - (offset + sizeof(*ni));
- n /= sizeof(struct e_in6_addr);
+ n /= sizeof(struct e_in6_addr) + sizeof(gint32);;
tf = proto_tree_add_text(tree, NullTVB,
offset + sizeof(*ni), END_OF_FRAME, "IPv6 node addresses");
field_tree = proto_item_add_subtree(tf, ett_nodeinfo_node6);
p = (u_char *)(ni + 1);
for (i = 0; i < n; i++) {
proto_tree_add_text(field_tree, NullTVB,
- p - pd, sizeof(struct e_in6_addr),
- "%s", ip6_to_str((struct e_in6_addr *)p));
- p += sizeof(struct e_in6_addr);
+ p - pd, sizeof(struct e_in6_addr) + sizeof(gint32),
+ "%s (TTL %d)", ip6_to_str((struct e_in6_addr *)p),
+ (gint32)pntohl(p + sizeof(struct e_in6_addr)));
+ p += sizeof(struct e_in6_addr) + sizeof(gint32);
}
off = pi.captured_len - offset;
break;