55 #define UIP_ND6_HOP_LIMIT 255 57 #define UIP_ND6_INFINITE_LIFETIME 0xFFFFFFFF 63 #ifndef UIP_CONF_ND6_MAX_RTR_SOLICITATION_DELAY 64 #define UIP_ND6_MAX_RTR_SOLICITATION_DELAY 1 66 #define UIP_ND6_MAX_RTR_SOLICITATION_DELAY UIP_CONF_ND6_MAX_RTR_SOLICITATION_DELAY 69 #ifndef UIP_CONF_ND6_RTR_SOLICITATION_INTERVAL 70 #define UIP_ND6_RTR_SOLICITATION_INTERVAL 4 72 #define UIP_ND6_RTR_SOLICITATION_INTERVAL UIP_CONF_ND6_RTR_SOLICITATION_INTERVAL 75 #ifndef UIP_CONF_ND6_MAX_RTR_SOLICITATIONS 76 #define UIP_ND6_MAX_RTR_SOLICITATIONS 3 78 #define UIP_ND6_MAX_RTR_SOLICITATIONS UIP_CONF_ND6_MAX_RTR_SOLICITATIONS 84 #ifndef UIP_CONF_ND6_SEND_RA 85 #define UIP_ND6_SEND_RA 1 87 #define UIP_ND6_SEND_RA UIP_CONF_ND6_SEND_RA 89 #ifndef UIP_CONF_ND6_SEND_NS 90 #define UIP_ND6_SEND_NS 1 92 #define UIP_ND6_SEND_NS UIP_CONF_ND6_SEND_NS 94 #ifndef UIP_CONF_ND6_SEND_NA 95 #define UIP_ND6_SEND_NA 1 97 #define UIP_ND6_SEND_NA UIP_CONF_ND6_SEND_NA 99 #ifndef UIP_CONF_ND6_AUTOFILL_NBR_CACHE 106 #define UIP_ND6_AUTOFILL_NBR_CACHE 0 108 #define UIP_ND6_AUTOFILL_NBR_CACHE UIP_CONF_ND6_AUTOFILL_NBR_CACHE 110 #ifndef UIP_CONF_ND6_MAX_RA_INTERVAL 111 #define UIP_ND6_MAX_RA_INTERVAL 600 113 #define UIP_ND6_MAX_RA_INTERVAL UIP_CONF_ND6_MAX_RA_INTERVAL 115 #ifndef UIP_CONF_ND6_MIN_RA_INTERVAL 116 #define UIP_ND6_MIN_RA_INTERVAL (UIP_ND6_MAX_RA_INTERVAL / 3) 118 #define UIP_ND6_MIN_RA_INTERVAL UIP_CONF_ND6_MIN_RA_INTERVAL 120 #define UIP_ND6_M_FLAG 0 121 #define UIP_ND6_O_FLAG 0 122 #ifndef UIP_CONF_ROUTER_LIFETIME 123 #define UIP_ND6_ROUTER_LIFETIME 3 * UIP_ND6_MAX_RA_INTERVAL 125 #define UIP_ND6_ROUTER_LIFETIME UIP_CONF_ROUTER_LIFETIME 128 #define UIP_ND6_MAX_INITIAL_RA_INTERVAL 16 129 #define UIP_ND6_MAX_INITIAL_RAS 3 130 #ifndef UIP_CONF_ND6_MIN_DELAY_BETWEEN_RAS 131 #define UIP_ND6_MIN_DELAY_BETWEEN_RAS 3 133 #define UIP_ND6_MIN_DELAY_BETWEEN_RAS UIP_CONF_ND6_MIN_DELAY_BETWEEN_RAS 136 #define UIP_ND6_MAX_RA_DELAY_TIME_MS 500 139 #ifndef UIP_CONF_ND6_DEF_MAXDADNS 141 #if UIP_CONF_LL_802154 142 #define UIP_ND6_DEF_MAXDADNS 0 144 #define UIP_ND6_DEF_MAXDADNS UIP_ND6_SEND_NS 147 #define UIP_ND6_DEF_MAXDADNS UIP_CONF_ND6_DEF_MAXDADNS 151 #define UIP_ND6_MAX_MULTICAST_SOLICIT 3 153 #ifdef UIP_CONF_ND6_MAX_UNICAST_SOLICIT 154 #define UIP_ND6_MAX_UNICAST_SOLICIT UIP_CONF_ND6_MAX_UNICAST_SOLICIT 156 #define UIP_ND6_MAX_UNICAST_SOLICIT 3 159 #ifdef UIP_CONF_ND6_REACHABLE_TIME 160 #define UIP_ND6_REACHABLE_TIME UIP_CONF_ND6_REACHABLE_TIME 162 #define UIP_ND6_REACHABLE_TIME 60000 165 #ifdef UIP_CONF_ND6_RETRANS_TIMER 166 #define UIP_ND6_RETRANS_TIMER UIP_CONF_ND6_RETRANS_TIMER 168 #define UIP_ND6_RETRANS_TIMER 1000 171 #define UIP_ND6_DELAY_FIRST_PROBE_TIME 5 172 #define UIP_ND6_MIN_RANDOM_FACTOR(x) (x / 2) 173 #define UIP_ND6_MAX_RANDOM_FACTOR(x) ((x) + (x) / 2) 179 #ifndef UIP_CONF_ND6_RA_RDNSS 180 #define UIP_ND6_RA_RDNSS 0 182 #define UIP_ND6_RA_RDNSS UIP_CONF_ND6_RA_RDNSS 185 #ifndef UIP_CONF_ND6_RA_DNSSL 186 #define UIP_ND6_RA_DNSSL 0 188 #error Not implemented 189 #define UIP_ND6_RA_DNSSL UIP_CONF_ND6_RA_DNSSL 196 #define UIP_ND6_OPT_SLLAO 1 197 #define UIP_ND6_OPT_TLLAO 2 198 #define UIP_ND6_OPT_PREFIX_INFO 3 199 #define UIP_ND6_OPT_REDIRECTED_HDR 4 200 #define UIP_ND6_OPT_MTU 5 201 #define UIP_ND6_OPT_RDNSS 25 202 #define UIP_ND6_OPT_DNSSL 31 207 #define UIP_ND6_OPT_TYPE_OFFSET 0 208 #define UIP_ND6_OPT_LEN_OFFSET 1 209 #define UIP_ND6_OPT_DATA_OFFSET 2 213 #define UIP_ND6_NA_LEN 20 214 #define UIP_ND6_NS_LEN 20 215 #define UIP_ND6_RA_LEN 12 216 #define UIP_ND6_RS_LEN 4 222 #define UIP_ND6_OPT_HDR_LEN 2 223 #define UIP_ND6_OPT_PREFIX_INFO_LEN 32 224 #define UIP_ND6_OPT_MTU_LEN 8 225 #define UIP_ND6_OPT_RDNSS_LEN 1 226 #define UIP_ND6_OPT_DNSSL_LEN 1 230 #if UIP_CONF_LL_802154 232 #define UIP_ND6_OPT_SHORT_LLAO_LEN 8 233 #define UIP_ND6_OPT_LONG_LLAO_LEN 16 235 #define UIP_ND6_OPT_LLAO_LEN UIP_ND6_OPT_LONG_LLAO_LEN 237 #if UIP_CONF_LL_80211 240 #define UIP_ND6_OPT_LLAO_LEN 8 243 #define UIP_ND6_OPT_LLAO_LEN 8 251 #define UIP_ND6_NA_FLAG_ROUTER 0x80 252 #define UIP_ND6_NA_FLAG_SOLICITED 0x40 253 #define UIP_ND6_NA_FLAG_OVERRIDE 0x20 254 #define UIP_ND6_RA_FLAG_ONLINK 0x80 255 #define UIP_ND6_RA_FLAG_AUTONOMOUS 0x40 270 uip_ipaddr_t tgtipaddr;
279 uint8_t flagsreserved;
281 uip_ipaddr_t tgtipaddr;
300 uint8_t flags_reserved;
301 uint16_t router_lifetime;
302 uint32_t reachable_time;
303 uint32_t retrans_timer;
313 uip_ipaddr_t tgtipaddress;
314 uip_ipaddr_t destipaddress;
334 uint8_t flagsreserved1;
336 uint32_t preferredlt;
359 typedef struct uip_nd6_opt_redirected_hdr {
363 } uip_nd6_opt_redirected_hdr;
400 void uip_nd6_ra_output(uip_ipaddr_t *dest);
425 uip_appserver_addr_get(uip_ipaddr_t *
ipaddr);
static uip_ipaddr_t ipaddr
Pointer to prefix information option in uip_buf.
struct uip_nd6_opt_mtu uip_nd6_opt_mtu
ND option MTU.
void uip_nd6_init(void)
Initialise the uIP ND core.
struct uip_nd6_opt_prefix_info uip_nd6_opt_prefix_info
ND option prefix information.
struct uip_nd6_redirect uip_nd6_redirect
A redirect message constant part.
struct uip_nd6_opt_dns uip_nd6_opt_dns
ND option RDNSS.
A neighbor solicitation constant part.
struct uip_nd6_rs uip_nd6_rs
A router solicitation constant part.
void uip_nd6_ns_output(uip_ipaddr_t *src, uip_ipaddr_t *dest, uip_ipaddr_t *tgt)
Send a neighbor solicitation, send a Neighbor Advertisement.
struct uip_nd6_opt_hdr uip_nd6_opt_hdr
ND option header.
A router solicitation constant part.
struct uip_nd6_na uip_nd6_na
A neighbor advertisement constant part.
Second timer library header file.
ND option prefix information.
Header file for the uIP TCP/IP stack.
struct uip_nd6_ns uip_nd6_ns
A neighbor solicitation constant part.
A neighbor advertisement constant part.
A redirect message constant part.
struct uip_nd6_ra uip_nd6_ra
A router advertisement constant part.
void uip_nd6_rs_output(void)
Send a Router Solicitation.
A router advertisement constant part.