Go to the documentation of this file.
37 #ifndef LWIP_HDR_PROT_ND6_H
38 #define LWIP_HDR_PROT_ND6_H
40 #include "lwip/arch.h"
41 #include "lwip/ip6_addr.h"
42 #include "lwip/prot/ip6.h"
49 #ifdef PACK_STRUCT_USE_INCLUDES
50 # include "arch/bpstruct.h"
62 #ifdef PACK_STRUCT_USE_INCLUDES
63 # include "arch/epstruct.h"
67 #ifdef PACK_STRUCT_USE_INCLUDES
68 # include "arch/bpstruct.h"
81 #ifdef PACK_STRUCT_USE_INCLUDES
82 # include "arch/epstruct.h"
84 #define ND6_FLAG_ROUTER (0x80)
85 #define ND6_FLAG_SOLICITED (0x40)
86 #define ND6_FLAG_OVERRIDE (0x20)
89 #ifdef PACK_STRUCT_USE_INCLUDES
90 # include "arch/bpstruct.h"
101 #ifdef PACK_STRUCT_USE_INCLUDES
102 # include "arch/epstruct.h"
106 #define ND6_RA_FLAG_MANAGED_ADDR_CONFIG (0x80)
107 #define ND6_RA_FLAG_OTHER_CONFIG (0x40)
108 #define ND6_RA_FLAG_HOME_AGENT (0x20)
109 #define ND6_RA_PREFERENCE_MASK (0x18)
110 #define ND6_RA_PREFERENCE_HIGH (0x08)
111 #define ND6_RA_PREFERENCE_MEDIUM (0x00)
112 #define ND6_RA_PREFERENCE_LOW (0x18)
113 #define ND6_RA_PREFERENCE_DISABLED (0x10)
114 #ifdef PACK_STRUCT_USE_INCLUDES
115 # include "arch/bpstruct.h"
130 #ifdef PACK_STRUCT_USE_INCLUDES
131 # include "arch/epstruct.h"
135 #ifdef PACK_STRUCT_USE_INCLUDES
136 # include "arch/bpstruct.h"
149 #ifdef PACK_STRUCT_USE_INCLUDES
150 # include "arch/epstruct.h"
154 #define ND6_OPTION_TYPE_SOURCE_LLADDR (0x01)
155 #define ND6_OPTION_TYPE_TARGET_LLADDR (0x02)
156 #ifdef PACK_STRUCT_USE_INCLUDES
157 # include "arch/bpstruct.h"
166 #ifdef PACK_STRUCT_USE_INCLUDES
167 # include "arch/epstruct.h"
171 #define ND6_OPTION_TYPE_PREFIX_INFO (0x03)
172 #define ND6_PREFIX_FLAG_ON_LINK (0x80)
173 #define ND6_PREFIX_FLAG_AUTONOMOUS (0x40)
174 #define ND6_PREFIX_FLAG_ROUTER_ADDRESS (0x20)
175 #define ND6_PREFIX_FLAG_SITE_PREFIX (0x10)
176 #ifdef PACK_STRUCT_USE_INCLUDES
177 # include "arch/bpstruct.h"
192 #ifdef PACK_STRUCT_USE_INCLUDES
193 # include "arch/epstruct.h"
197 #define ND6_OPTION_TYPE_REDIR_HDR (0x04)
198 #ifdef PACK_STRUCT_USE_INCLUDES
199 # include "arch/bpstruct.h"
210 #ifdef PACK_STRUCT_USE_INCLUDES
211 # include "arch/epstruct.h"
215 #define ND6_OPTION_TYPE_MTU (0x05)
216 #ifdef PACK_STRUCT_USE_INCLUDES
217 # include "arch/bpstruct.h"
227 #ifdef PACK_STRUCT_USE_INCLUDES
228 # include "arch/epstruct.h"
232 #define ND6_OPTION_TYPE_ROUTE_INFO (24)
233 #ifdef PACK_STRUCT_USE_INCLUDES
234 # include "arch/bpstruct.h"
246 #ifdef PACK_STRUCT_USE_INCLUDES
247 # include "arch/epstruct.h"
251 #if LWIP_ND6_RDNSS_MAX_DNS_SERVERS
252 #define LWIP_RDNSS_OPTION_MAX_SERVERS LWIP_ND6_RDNSS_MAX_DNS_SERVERS
254 #define LWIP_RDNSS_OPTION_MAX_SERVERS 1
256 #define ND6_OPTION_TYPE_RDNSS (25)
257 #ifdef PACK_STRUCT_USE_INCLUDES
258 # include "arch/bpstruct.h"
269 #ifdef PACK_STRUCT_USE_INCLUDES
270 # include "arch/epstruct.h"
PACK_STRUCT_FIELD(u16_t reserved)
#define NETIF_MAX_HWADDR_LEN
PACK_STRUCT_FLD_8(u8_t type)
PACK_STRUCT_FLD_8(u8_t type)
PACK_STRUCT_FLD_8(u8_t type)
PACK_STRUCT_FLD_8(u8_t type)
PACK_STRUCT_FIELD(u32_t route_lifetime)
typedefPACK_STRUCT_END struct ip6_addr_packed ip6_addr_p_t
#define PACK_STRUCT_BEGIN
PACK_STRUCT_FLD_S(ip6_addr_p_t prefix)
PACK_STRUCT_FLD_S(ip6_addr_p_t rdnss_address[1])
PACK_STRUCT_FLD_S(ip6_addr_p_t prefix)
PACK_STRUCT_FIELD(u32_t valid_lifetime)
PACK_STRUCT_FLD_8(u8_t type)
PACK_STRUCT_FIELD(u16_t reserved)
#define LWIP_RDNSS_OPTION_MAX_SERVERS
PACK_STRUCT_BEGIN struct ns_header PACK_STRUCT_STRUCT