diff options
author | ume <ume@FreeBSD.org> | 2005-07-20 10:30:52 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2005-07-20 10:30:52 +0000 |
commit | c8f443708b7bac00b1c211c8fbb88a0cddbe90a4 (patch) | |
tree | c1c8e98daedc756b0c04ef6d82654caf53aa594b /sys/netinet/ip6.h | |
parent | ace81960a0f474909953b902e3f4b5b181b6baa9 (diff) | |
download | FreeBSD-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
Diffstat (limited to 'sys/netinet/ip6.h')
-rw-r--r-- | sys/netinet/ip6.h | 48 |
1 files changed, 48 insertions, 0 deletions
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 */ |