diff options
author | Jun-ichiro itojun Hagino <itojun@itojun.org> | 2000-08-29 14:17:12 +0000 |
---|---|---|
committer | Jun-ichiro itojun Hagino <itojun@itojun.org> | 2000-08-29 14:17:12 +0000 |
commit | 1a06c6a7eae14624d1e1a766fe2221c49a306537 (patch) | |
tree | 7a488ca24ae6e053918cb61b1494ec07b3e51321 | |
parent | 6dc7a7ac4f3c70b2606947d2d4eba0322846c0b9 (diff) | |
download | wireshark-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.c | 11 |
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; |