/* packet-ipv6.h
- * Definitions for IPv6 packet disassembly
+ * Definitions for IPv6 packet disassembly
*
- * $Id: packet-ipv6.h,v 1.23 2001/06/26 17:31:36 itojun Exp $
+ * $Id: packet-ipv6.h,v 1.29 2002/10/22 22:04:21 jmayer Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
* Copyright 1998 Gerald Combs
*
* MobileIPv6 support added by Tomislav Borosa <tomislav.borosa@siemens.hr>
- *
+ *
+ * HMIPv6 support added by Martti Kuparinen <martti.kuparinen@iki.fi>
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifndef __PACKET_IPV6_H_DEFINED__
#define __PACKET_IPV6_H_DEFINED__
-#include "ipv6-utils.h"
+#include <epan/ipv6-utils.h>
#define INET6_ADDRSTRLEN 46
*/
struct ip6_ext {
- u_char ip6e_nxt;
- u_char ip6e_len;
+ guchar ip6e_nxt;
+ guchar ip6e_len;
};
/* Hop-by-Hop options header */
#define ND_OPT_MTU 5
#define ND_OPT_ADVINTERVAL 7
#define ND_OPT_HOMEAGENT_INFO 8
+#define ND_OPT_SOURCE_ADDRLIST 9
+#define ND_OPT_TARGET_ADDRLIST 10
+
/* draft-ietf-ipngwg-router-preference, not officially assigned yet */
-#define ND_OPT_ROUTE_INFO 9
+#define ND_OPT_ROUTE_INFO 200
+/* draft-ietf-mobileip-hmipv6, not officially assigned yet */
+#define ND_OPT_MAP 201
struct nd_opt_prefix_info { /* prefix information */
guint8 nd_opt_pi_type;
/* prefix follows */
};
+struct nd_opt_map_info { /* HMIPv6 MAP option */
+ guint8 nd_opt_map_type;
+ guint8 nd_opt_map_len;
+ guint8 nd_opt_map_dist_and_pref;
+ guint8 nd_opt_map_flags;
+ guint32 nd_opt_map_lifetime;
+ struct e_in6_addr nd_opt_map_address;
+};
+
+#define ND_OPT_MAP_FLAG_R 0x80
+#define ND_OPT_MAP_FLAG_M 0x40
+#define ND_OPT_MAP_FLAG_I 0x20
+#define ND_OPT_MAP_FLAG_T 0x10
+#define ND_OPT_MAP_FLAG_P 0x08
+#define ND_OPT_MAP_FLAG_V 0x04
+
/*
* icmp6 node information
*/
#define ICMP6_RR_RESULT_FLAGS_OOB 0x0002
#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001
+void capture_ipv6(const guchar *, int, int, packet_counts *);
+
+
#endif /* __PACKET_IPV6_H_DEFINED__ */