>> Attached please find:
>> - IPv6 extension header decoding
>> - RIPng decoding
>> - compilation stabilization for IPv6 library
>> packet-ripng.[ch] are added.
>I've checked them in (with a change of "u_int32_t", or whatever the type
>was, in "packet-ipv6.c" to "guint32"; Solaris 2.5.1 doesn't declare that
>type).
Sorry, here's one more patch against latest CVS tree.
I forgot one ntohs().
Would you like a packet dump file with ripng packets?
itojun
Index: packet-ipv6.c
===================================================================
RCS file: /cvsroot/ethereal/packet-ipv6.c,v
retrieving revision 1.16
diff -c -r1.16 packet-ipv6.c
*** packet-ipv6.c 1999/10/12 23:12:01 1.16
--- packet-ipv6.c 1999/10/13 01:59:37
***************
*** 79,84 ****
--- 79,87 ----
rthdr_tree = proto_item_add_subtree(ti, ETT_IPv6);
proto_tree_add_text(rthdr_tree,
+ offset + offsetof(struct ip6_rthdr, ip6r_nxt), 1,
+ "Next header: 0x%02x", rt.ip6r_nxt);
+ proto_tree_add_text(rthdr_tree,
offset + offsetof(struct ip6_rthdr, ip6r_len), 1,
"Length: %d (%d bytes)", rt.ip6r_len, len);
proto_tree_add_text(rthdr_tree,
***************
*** 151,158 ****
"%s Header", optname);
dstopt_tree = proto_item_add_subtree(ti, ETT_IPv6);
proto_tree_add_text(dstopt_tree,
! offset + offsetof(struct ip6_dest, ip6d_len), 1,
"Length: %d (%d bytes)", ext.ip6e_len, len);
p = (u_char *)(pd + offset + 2);
--- 154,164 ----
"%s Header", optname);
dstopt_tree = proto_item_add_subtree(ti, ETT_IPv6);
+ proto_tree_add_text(dstopt_tree,
+ offset + offsetof(struct ip6_ext, ip6e_nxt), 1,
+ "Next header: 0x%02x", ext.ip6e_nxt);
proto_tree_add_text(dstopt_tree,
! offset + offsetof(struct ip6_ext, ip6e_len), 1,
"Length: %d (%d bytes)", ext.ip6e_len, len);
p = (u_char *)(pd + offset + 2);
***************
*** 187,193 ****
char *rta;
if (p[1] == 2) {
! switch (*(guint16 *)&p[2]) {
case IP6OPT_RTALERT_MLD:
rta = "MLD";
break;
--- 193,199 ----
char *rta;
if (p[1] == 2) {
! switch (ntohs(*(guint16 *)&p[2])) {
case IP6OPT_RTALERT_MLD:
rta = "MLD";
break;
***************
*** 278,284 ****
proto_tree_add_text(ipv6_tree,
offset + offsetof(struct ip6_hdr, ip6_nxt), 1,
! "Next Header: %d", ipv6.ip6_nxt);
proto_tree_add_text(ipv6_tree,
offset + offsetof(struct ip6_hdr, ip6_hlim), 1,
--- 284,290 ----
proto_tree_add_text(ipv6_tree,
offset + offsetof(struct ip6_hdr, ip6_nxt), 1,
! "Next header: 0x%02x", ipv6.ip6_nxt);
proto_tree_add_text(ipv6_tree,
offset + offsetof(struct ip6_hdr, ip6_hlim), 1,