summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2005-07-20 10:30:52 +0000
committerume <ume@FreeBSD.org>2005-07-20 10:30:52 +0000
commitc8f443708b7bac00b1c211c8fbb88a0cddbe90a4 (patch)
treec1c8e98daedc756b0c04ef6d82654caf53aa594b
parentace81960a0f474909953b902e3f4b5b181b6baa9 (diff)
downloadFreeBSD-src-c8f443708b7bac00b1c211c8fbb88a0cddbe90a4.zip
FreeBSD-src-c8f443708b7bac00b1c211c8fbb88a0cddbe90a4.tar.gz
move RFC3542 related definitions into ip6.h.
Submitted by: Keiichi SHIMA <keiichi__at__iijlab.net> Reviewed by: mlaier Obtained from: KAME
-rw-r--r--sys/contrib/pf/net/pf_norm.c42
-rw-r--r--sys/netinet/ip6.h48
2 files changed, 48 insertions, 42 deletions
diff --git a/sys/contrib/pf/net/pf_norm.c b/sys/contrib/pf/net/pf_norm.c
index da4312b..50ce270 100644
--- a/sys/contrib/pf/net/pf_norm.c
+++ b/sys/contrib/pf/net/pf_norm.c
@@ -70,48 +70,6 @@
#include <net/pfvar.h>
-#if defined(__FreeBSD__) && defined(INET6)
-/*
- * XXX: This should go to netinet/ip6.h (KAME)
- */
-/* IPv6 options: common part */
-struct ip6_opt {
- u_int8_t ip6o_type;
- u_int8_t ip6o_len;
-} __packed;
-
-/* Jumbo Payload Option */
-struct ip6_opt_jumbo {
- u_int8_t ip6oj_type;
- u_int8_t ip6oj_len;
- u_int8_t ip6oj_jumbo_len[4];
-} __packed;
-
-/* NSAP Address Option */
-struct ip6_opt_nsap {
- u_int8_t ip6on_type;
- u_int8_t ip6on_len;
- u_int8_t ip6on_src_nsap_len;
- u_int8_t ip6on_dst_nsap_len;
- /* followed by source NSAP */
- /* followed by destination NSAP */
-} __packed;
-
-/* Tunnel Limit Option */
-struct ip6_opt_tunnel {
- u_int8_t ip6ot_type;
- u_int8_t ip6ot_len;
- u_int8_t ip6ot_encap_limit;
-} __packed;
-
-/* Router Alert Option */
-struct ip6_opt_router {
- u_int8_t ip6or_type;
- u_int8_t ip6or_len;
- u_int8_t ip6or_value[2];
-} __packed;
-#endif /* __FreeBSD__ && INET6 */
-
#ifndef __FreeBSD__
struct pf_frent {
LIST_ENTRY(pf_frent) fr_next;
diff --git a/sys/netinet/ip6.h b/sys/netinet/ip6.h
index 23a2be1..883b65a 100644
--- a/sys/netinet/ip6.h
+++ b/sys/netinet/ip6.h
@@ -160,8 +160,56 @@ struct ip6_dest {
#define IP6OPT_MUTABLE 0x20
+/* IPv6 options: common part */
+struct ip6_opt {
+ u_int8_t ip6o_type;
+ u_int8_t ip6o_len;
+} __packed;
+
+/* Jumbo Payload Option */
+struct ip6_opt_jumbo {
+ u_int8_t ip6oj_type;
+ u_int8_t ip6oj_len;
+ u_int8_t ip6oj_jumbo_len[4];
+} __packed;
#define IP6OPT_JUMBO_LEN 6
+/* NSAP Address Option */
+struct ip6_opt_nsap {
+ u_int8_t ip6on_type;
+ u_int8_t ip6on_len;
+ u_int8_t ip6on_src_nsap_len;
+ u_int8_t ip6on_dst_nsap_len;
+ /* followed by source NSAP */
+ /* followed by destination NSAP */
+} __packed;
+
+/* Tunnel Limit Option */
+struct ip6_opt_tunnel {
+ u_int8_t ip6ot_type;
+ u_int8_t ip6ot_len;
+ u_int8_t ip6ot_encap_limit;
+} __packed;
+
+/* Router Alert Option */
+struct ip6_opt_router {
+ u_int8_t ip6or_type;
+ u_int8_t ip6or_len;
+ u_int8_t ip6or_value[2];
+} __packed;
+/* Router alert values (in network byte order) */
+#if BYTE_ORDER == BIG_ENDIAN
+#define IP6_ALERT_MLD 0x0000
+#define IP6_ALERT_RSVP 0x0001
+#define IP6_ALERT_AN 0x0002
+#else
+#if BYTE_ORDER == LITTLE_ENDIAN
+#define IP6_ALERT_MLD 0x0000
+#define IP6_ALERT_RSVP 0x0100
+#define IP6_ALERT_AN 0x0200
+#endif /* LITTLE_ENDIAN */
+#endif
+
/* Routing header */
struct ip6_rthdr {
u_int8_t ip6r_nxt; /* next header */
OpenPOWER on IntegriCloud