9 #include <netinet/in.h>
15 uint32_t ip6_un1_flow
;
16 uint16_t ip6_un1_plen
;
22 struct in6_addr ip6_src
;
23 struct in6_addr ip6_dst
;
26 #define ip6_vfc ip6_ctlun.ip6_un2_vfc
27 #define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow
28 #define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen
29 #define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
30 #define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
31 #define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim
59 uint8_t ip6r0_segleft
;
60 uint8_t ip6r0_reserved
;
61 uint8_t ip6r0_slmap
[3];
62 struct in6_addr ip6r0_addr
[];
67 uint8_t ip6f_reserved
;
72 #if __BYTE_ORDER == __BIG_ENDIAN
73 #define IP6F_OFF_MASK 0xfff8
74 #define IP6F_RESERVED_MASK 0x0006
75 #define IP6F_MORE_FRAG 0x0001
77 #define IP6F_OFF_MASK 0xf8ff
78 #define IP6F_RESERVED_MASK 0x0600
79 #define IP6F_MORE_FRAG 0x0100
87 #define IP6OPT_TYPE(o) ((o) & 0xc0)
88 #define IP6OPT_TYPE_SKIP 0x00
89 #define IP6OPT_TYPE_DISCARD 0x40
90 #define IP6OPT_TYPE_FORCEICMP 0x80
91 #define IP6OPT_TYPE_ICMP 0xc0
92 #define IP6OPT_TYPE_MUTABLE 0x20
97 #define IP6OPT_JUMBO 0xc2
98 #define IP6OPT_NSAP_ADDR 0xc3
99 #define IP6OPT_TUNNEL_LIMIT 0x04
100 #define IP6OPT_ROUTER_ALERT 0x05
102 struct ip6_opt_jumbo
{
105 uint8_t ip6oj_jumbo_len
[4];
107 #define IP6OPT_JUMBO_LEN 6
109 struct ip6_opt_nsap
{
112 uint8_t ip6on_src_nsap_len
;
113 uint8_t ip6on_dst_nsap_len
;
116 struct ip6_opt_tunnel
{
119 uint8_t ip6ot_encap_limit
;
122 struct ip6_opt_router
{
125 uint8_t ip6or_value
[2];
128 #if __BYTE_ORDER == __BIG_ENDIAN
129 #define IP6_ALERT_MLD 0x0000
130 #define IP6_ALERT_RSVP 0x0001
131 #define IP6_ALERT_AN 0x0002
133 #define IP6_ALERT_MLD 0x0000
134 #define IP6_ALERT_RSVP 0x0100
135 #define IP6_ALERT_AN 0x0200