#include <netinet/ip6.h>
netinet/ip6.h
$KAME: ip6.h,v 1.18 2001/03/29 05:34:30 itojun Exp $
structip6_hdr
| unnamed union at netinet/ip6.h:106:2 | ip6_ctlun | |||||||
| ||||||||
| struct in6_addr | ip6_src | source address | ||||||
| struct in6_addr | ip6_dst | destination address | ||||||
macroip6_vfc
#define ip6_vfc ip6_ctlun.ip6_un2_vfc
macroip6_flow
#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow
macroip6_plen
#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen
macroip6_nxt
#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt
macroip6_hlim
#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim
macroip6_hops
#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim
macroIPV6_VERSION
#define IPV6_VERSION 0x60
macroIPV6_VERSION_MASK
#define IPV6_VERSION_MASK 0xf0
macroIP6FLOW_DSCP_MASK
To access the 6 bits of the DSCP value in the 32 bits ip6_flow field
#define IP6FLOW_DSCP_MASK 0x0fc00000
macroIP6FLOW_DSCP_SHIFT
#define IP6FLOW_DSCP_SHIFT 22
structip6_hbh
Hop-by-Hop options header
XXX should we pad it to force alignment on an 8-byte boundary?
| u_int8_t | ip6h_nxt | next header |
| u_int8_t | ip6h_len | length in units of 8 octets |
structip6_dest
Destination options header
XXX should we pad it to force alignment on an 8-byte boundary?
| u_int8_t | ip6d_nxt | next header |
| u_int8_t | ip6d_len | length in units of 8 octets |
macroIP6OPT_RTALERT_LEN
#define IP6OPT_RTALERT_LEN 4
macroIP6OPT_MINLEN
#define IP6OPT_MINLEN 2
macroIP6OPT_TYPE
#define IP6OPT_TYPE(o) ((o) & 0xC0)
macroIP6OPT_TYPE_SKIP
#define IP6OPT_TYPE_SKIP 0x00
macroIP6OPT_TYPE_DISCARD
#define IP6OPT_TYPE_DISCARD 0x40
macroIP6OPT_TYPE_FORCEICMP
#define IP6OPT_TYPE_FORCEICMP 0x80
macroIP6OPT_TYPE_ICMP
#define IP6OPT_TYPE_ICMP 0xC0
macroIP6OPT_MUTABLE
#define IP6OPT_MUTABLE 0x20
structip6_opt_jumbo
Jumbo Payload Option
| u_int8_t | ip6oj_type | |
| u_int8_t | ip6oj_len | |
| u_int8_t[4] | ip6oj_jumbo_len |
macroIP6OPT_JUMBO_LEN
#define IP6OPT_JUMBO_LEN 6
structip6_opt_nsap
NSAP Address Option
| u_int8_t | ip6on_type | |
| u_int8_t | ip6on_len | |
| u_int8_t | ip6on_src_nsap_len | |
| u_int8_t | ip6on_dst_nsap_len |
macroIP6_ALERT_RSVP
#define IP6_ALERT_RSVP 0x0100
macroIP6_ALERT_AN
#define IP6_ALERT_AN 0x0200
structip6_rthdr
Routing header
| u_int8_t | ip6r_nxt | next header |
| u_int8_t | ip6r_len | length in units of 8 octets |
| u_int8_t | ip6r_type | routing type |
| u_int8_t | ip6r_segleft | segments left |
structip6_rthdr0
Type 0 Routing header, deprecated by RFC 5095.
| u_int8_t | ip6r0_nxt | next header |
| u_int8_t | ip6r0_len | length in units of 8 octets |
| u_int8_t | ip6r0_type | always zero |
| u_int8_t | ip6r0_segleft | segments left |
| u_int32_t | ip6r0_reserved | reserved field |