37 #define NDP_RTR_ADV_FLAGS_MASK (0xc0)
38 #define NDP_RTR_ADV_FLAGS_M (0x80)
39 #define NDP_RTR_ADV_FLAGS_O (0x40)
49 #define NDP_RTR_ADV_CUR_HL_UNSPEC (0)
55 #define NDP_RTR_ADV_LTIME_SEC_MAX (9000)
61 #define NDP_NBR_ADV_LTIME_NOT_DR (0)
63 #define NDP_NBR_ADV_REACH_TIME (0)
64 #define NDP_NBR_ADV_RETRANS_TIMER (0)
72 #define NDP_NBR_ADV_FLAGS_MASK (0xe0)
73 #define NDP_NBR_ADV_FLAGS_R (0x80)
74 #define NDP_NBR_ADV_FLAGS_S (0x40)
75 #define NDP_NBR_ADV_FLAGS_O (0x20)
86 #define NDP_OPT_SL2A (1)
87 #define NDP_OPT_TL2A (2)
88 #define NDP_OPT_PI (3)
89 #define NDP_OPT_RH (4)
90 #define NDP_OPT_MTU (5)
91 #define NDP_OPT_RI (24)
92 #define NDP_OPT_RDNSS (25)
93 #define NDP_OPT_AR (33)
94 #define NDP_OPT_6CTX (34)
95 #define NDP_OPT_ABR (35)
102 #define NDP_OPT_PI_FLAGS_MASK (0xc0)
103 #define NDP_OPT_PI_FLAGS_L (0x80)
104 #define NDP_OPT_PI_FLAGS_A (0x40)
111 #define NDP_OPT_RI_FLAGS_MASK (0x18)
112 #define NDP_OPT_RI_FLAGS_PRF_NONE (0x10)
113 #define NDP_OPT_RI_FLAGS_PRF_NEG (0x18)
114 #define NDP_OPT_RI_FLAGS_PRF_ZERO (0x0)
115 #define NDP_OPT_RI_FLAGS_PRF_POS (0x8)
123 #define NDP_OPT_PI_VALID_LTIME_INF (UINT32_MAX)
124 #define NDP_OPT_PI_PREF_LTIME_INF (UINT32_MAX)
132 #define NDP_OPT_PI_LEN (4U)
133 #define NDP_OPT_MTU_LEN (1U)
140 #define NDP_OPT_RDNSS_MIN_LEN (3U)
148 #define NDP_MAX_INIT_RA_INTERVAL (16000U)
149 #define NDP_MAX_INIT_RA_NUMOF (3U)
150 #define NDP_MAX_FIN_RA_NUMOF (3U)
151 #define NDP_MIN_MS_DELAY_BETWEEN_RAS (3000U)
152 #define NDP_MAX_RA_DELAY (500U)
153 #define NDP_MAX_RA_INTERVAL_MS (600000U)
154 #define NDP_MIN_RA_INTERVAL_MS (198000U)
155 #define NDP_RTR_LTIME_SEC (1800U)
163 #define NDP_MAX_RS_MS_DELAY (1000U)
164 #define NDP_RS_MS_INTERVAL (4000U)
165 #define NDP_MAX_RS_NUMOF (3U)
173 #define NDP_MAX_MC_SOL_NUMOF (3U)
174 #define NDP_MAX_UC_SOL_NUMOF (3U)
183 #define NDP_DAD_TRANSMIT_NUMOF (1U)
184 #define NDP_MAX_ANYCAST_MS_DELAY (1000U)
185 #define NDP_MAX_NA_NUMOF (3U)
186 #define NDP_REACH_MS (30000U)
187 #define NDP_RETRANS_TIMER_MS (1000U)
193 #define NDP_MAX_RETRANS_TIMER_MS (60000U)
202 #define NDP_MAX_NS_NUMOF (17U)
203 #define NDP_DELAY_FIRST_PROBE_MS (5000U)
204 #define NDP_MIN_RANDOM_FACTOR (500U)
205 #define NDP_MAX_RANDOM_FACTOR (1500U)
218 #define NDP_HOP_LIMIT (255U)
226 typedef struct __attribute__((packed)) {
239 typedef struct __attribute__((packed)) {
256 typedef struct __attribute__((packed)) {
270 typedef struct __attribute__((packed)) {
285 typedef struct __attribute__((packed)) {
298 typedef struct __attribute__((packed)) {
312 typedef struct __attribute__((packed)) {
329 typedef struct __attribute__((packed)) {
344 typedef struct __attribute__((packed)) {
356 typedef struct __attribute__((packed)) {
370 typedef struct __attribute__((packed)) {
386 typedef struct __attribute__((packed)) {
Functions to work with different byte orders.
Definitions for IPv6 addresses.
Neighbor advertisement message format.
network_uint16_t csum
checksum
ipv6_addr_t tgt
target address
Neighbor solicitation message format.
network_uint16_t csum
checksum
network_uint32_t resv
reserved field
ipv6_addr_t tgt
target address
network_uint16_t resv
reserved field
uint8_t len
length in units of 8 octets
Prefix information option format.
uint8_t prefix_len
prefix length
network_uint32_t pref_ltime
preferred lifetime
network_uint32_t resv
reserved field
network_uint32_t valid_ltime
valid lifetime
uint8_t len
length in units of 8 octets
Recursive DNS server option format with payload.
network_uint16_t resv
reserved field
uint8_t len
length in units of 8 octets
network_uint32_t ltime
lifetime in seconds
Recursive DNS server option format without payload.
network_uint16_t resv
reserved field
uint8_t len
length in units of 8 octets
network_uint32_t ltime
lifetime in seconds
Redirected header option format.
uint8_t len
length in units of 8 octets
Route information option format.
uint8_t prefix_len
prefix length
network_uint32_t route_ltime
route lifetime
uint8_t len
length in units of 8 octets
General NDP option format.
uint8_t len
length in units of 8 octets
ipv6_addr_t tgt
target address
ipv6_addr_t dst
destination address
network_uint32_t resv
reserved field
network_uint16_t csum
checksum
Router advertisement message format.
network_uint32_t reach_time
reachable time
network_uint16_t csum
checksum
uint8_t cur_hl
current hop limit
network_uint32_t retrans_timer
retransmission timer
network_uint16_t ltime
router lifetime
Router solicitation message format.
network_uint16_t csum
checksum
network_uint32_t resv
reserved field
A 16 bit integer in big endian aka network byte order.
A 32 bit integer in big endian aka network byte order.
Data type to represent an IPv6 address.