62 #define UIP_ND6_HOP_LIMIT 255
64 #define UIP_ND6_INFINITE_LIFETIME 0xFFFFFFFF
69 #define UIP_ND6_MAX_RTR_SOLICITATION_DELAY 1
70 #define UIP_ND6_RTR_SOLICITATION_INTERVAL 4
71 #define UIP_ND6_MAX_RTR_SOLICITATIONS 3
76 #ifndef UIP_CONF_ND6_SEND_RA
77 #define UIP_ND6_SEND_RA 1
79 #define UIP_ND6_SEND_RA UIP_CONF_ND6_SEND_RA
81 #ifndef UIP_CONF_ND6_SEND_NA
82 #define UIP_ND6_SEND_NA 1
84 #define UIP_ND6_SEND_NA UIP_CONF_ND6_SEND_NA
86 #define UIP_ND6_MAX_RA_INTERVAL 600
87 #define UIP_ND6_MIN_RA_INTERVAL (UIP_ND6_MAX_RA_INTERVAL / 3)
88 #define UIP_ND6_M_FLAG 0
89 #define UIP_ND6_O_FLAG 0
90 #define UIP_ND6_ROUTER_LIFETIME 3 * UIP_ND6_MAX_RA_INTERVAL
92 #define UIP_ND6_MAX_INITIAL_RA_INTERVAL 16
93 #define UIP_ND6_MAX_INITIAL_RAS 3
94 #define UIP_ND6_MIN_DELAY_BETWEEN_RAS 3
96 #define UIP_ND6_MAX_RA_DELAY_TIME_MS 500
99 #ifndef UIP_CONF_ND6_DEF_MAXDADNS
101 #if UIP_CONF_LL_802154
102 #define UIP_ND6_DEF_MAXDADNS 0
104 #define UIP_ND6_DEF_MAXDADNS UIP_ND6_SEND_NA
107 #define UIP_ND6_DEF_MAXDADNS UIP_CONF_ND6_DEF_MAXDADNS
112 #define UIP_ND6_MAX_MULTICAST_SOLICIT 3
114 #ifdef UIP_CONF_ND6_MAX_UNICAST_SOLICIT
115 #define UIP_ND6_MAX_UNICAST_SOLICIT UIP_CONF_ND6_MAX_UNICAST_SOLICIT
117 #define UIP_ND6_MAX_UNICAST_SOLICIT 3
120 #ifdef UIP_CONF_ND6_REACHABLE_TIME
121 #define UIP_ND6_REACHABLE_TIME UIP_CONF_ND6_REACHABLE_TIME
123 #define UIP_ND6_REACHABLE_TIME 30000
126 #ifdef UIP_CONF_ND6_RETRANS_TIMER
127 #define UIP_ND6_RETRANS_TIMER UIP_CONF_ND6_RETRANS_TIMER
129 #define UIP_ND6_RETRANS_TIMER 1000
132 #define UIP_ND6_DELAY_FIRST_PROBE_TIME 5
133 #define UIP_ND6_MIN_RANDOM_FACTOR(x) (x / 2)
134 #define UIP_ND6_MAX_RANDOM_FACTOR(x) ((x) + (x) / 2)
141 #define UIP_ND6_OPT_SLLAO 1
143 #define UIP_ND6_OPT_TLLAO 2
144 #define UIP_ND6_OPT_PREFIX_INFO 3
145 #define UIP_ND6_OPT_REDIRECTED_HDR 4
146 #define UIP_ND6_OPT_MTU 5
151 #define UIP_ND6_OPT_TYPE_OFFSET 0
152 #define UIP_ND6_OPT_LEN_OFFSET 1
153 #define UIP_ND6_OPT_DATA_OFFSET 2
158 #define UIP_ND6_NA_LEN 20
159 #define UIP_ND6_NS_LEN 20
160 #define UIP_ND6_RA_LEN 12
161 #define UIP_ND6_RS_LEN 4
167 #define UIP_ND6_OPT_HDR_LEN 2
168 #define UIP_ND6_OPT_PREFIX_INFO_LEN 32
169 #define UIP_ND6_OPT_MTU_LEN 8
173 #if UIP_CONF_LL_802154
175 #define UIP_ND6_OPT_SHORT_LLAO_LEN 8
176 #define UIP_ND6_OPT_LONG_LLAO_LEN 16
178 #define UIP_ND6_OPT_LLAO_LEN UIP_ND6_OPT_LONG_LLAO_LEN
180 #if UIP_CONF_LL_80211
183 #define UIP_ND6_OPT_LLAO_LEN 8
186 #define UIP_ND6_OPT_LLAO_LEN 8
194 #define UIP_ND6_NA_FLAG_ROUTER 0x80
195 #define UIP_ND6_NA_FLAG_SOLICITED 0x40
196 #define UIP_ND6_NA_FLAG_OVERRIDE 0x20
197 #define UIP_ND6_RA_FLAG_ONLINK 0x80
198 #define UIP_ND6_RA_FLAG_AUTONOMOUS 0x40
213 uip_ipaddr_t tgtipaddr;
222 uint8_t flagsreserved;
224 uip_ipaddr_t tgtipaddr;
243 uint8_t flags_reserved;
244 uint16_t router_lifetime;
245 uint32_t reachable_time;
246 uint32_t retrans_timer;
256 uip_ipaddr_t tgtipaddress;
257 uip_ipaddr_t destipaddress;
277 uint8_t flagsreserved1;
279 uint32_t preferredlt;
293 typedef struct uip_nd6_opt_redirected_hdr {
297 } uip_nd6_opt_redirected_hdr;
377 void uip_nd6_rs_input(
void);
384 void uip_nd6_ra_output(uip_ipaddr_t *dest);
417 uip_appserver_addr_get(uip_ipaddr_t *ipaddr);