Lines Matching refs:autoip
52 * that should be defined in autoip.h.
73 #include "lwip/autoip.h"
94 (netif->autoip?netif->autoip->tried_llipaddr:0))
126 /** Set a statically allocated struct autoip to work with.
129 * @param netif the netif for which to set the struct autoip
133 autoip_set_struct(struct netif *netif, struct autoip *autoip)
136 LWIP_ASSERT("autoip != NULL", autoip != NULL);
137 LWIP_ASSERT("netif already has a struct autoip set", netif->autoip == NULL);
140 memset(autoip, 0, sizeof(struct autoip));
141 /* autoip->state = AUTOIP_STATE_OFF; */
142 netif->autoip = autoip;
152 netif->autoip->tried_llipaddr++;
166 if (netif->autoip->lastconflict > 0) {
179 netif->autoip->lastconflict = DEFEND_INTERVAL * AUTOIP_TICKS_PER_SECOND;
203 addr += netif->autoip->tried_llipaddr;
219 (u16_t)(netif->autoip->tried_llipaddr), ip4_addr1_16(ipaddr), ip4_addr2_16(ipaddr),
233 &netif->autoip->llipaddr, ARP_REQUEST);
245 (struct eth_addr *)netif->hwaddr, &netif->autoip->llipaddr, ðzero,
246 &netif->autoip->llipaddr, ARP_REQUEST);
257 struct autoip *autoip = netif->autoip;
263 ip4_addr1_16(&autoip->llipaddr), ip4_addr2_16(&autoip->llipaddr),
264 ip4_addr3_16(&autoip->llipaddr), ip4_addr4_16(&autoip->llipaddr)));
269 netif_set_ipaddr(netif, &autoip->llipaddr);
287 struct autoip *autoip = netif->autoip;
304 if (autoip == NULL) {
308 autoip = (struct autoip *)mem_malloc(sizeof(struct autoip));
309 if (autoip == NULL) {
311 ("autoip_start(): could not allocate autoip\n"));
314 memset(autoip, 0, sizeof(struct autoip));
316 netif->autoip = autoip;
317 LWIP_DEBUGF(AUTOIP_DEBUG | LWIP_DBG_TRACE, ("autoip_start(): allocated autoip"));
319 autoip->state = AUTOIP_STATE_OFF;
320 autoip->ttw = 0;
321 autoip->sent_num = 0;
322 ip_addr_set_zero(&autoip->llipaddr);
323 autoip->lastconflict = 0;
326 autoip_create_addr(netif, &(autoip->llipaddr));
335 struct autoip *autoip = netif->autoip;
337 autoip->state = AUTOIP_STATE_PROBING;
338 autoip->sent_num = 0;
341 ip4_addr1_16(&netif->autoip->llipaddr), ip4_addr2_16(&netif->autoip->llipaddr),
342 ip4_addr3_16(&netif->autoip->llipaddr), ip4_addr4_16(&netif->autoip->llipaddr)));
348 autoip->ttw = (u16_t)(LWIP_AUTOIP_RAND(netif) % (PROBE_WAIT * AUTOIP_TICKS_PER_SECOND));
355 if (autoip->tried_llipaddr > MAX_CONFLICTS) {
356 autoip->ttw = RATE_LIMIT_INTERVAL * AUTOIP_TICKS_PER_SECOND;
369 if (netif->autoip && netif->autoip->state != AUTOIP_STATE_OFF) {
383 netif->autoip->state = AUTOIP_STATE_OFF;
398 if (netif->autoip != NULL) {
399 if (netif->autoip->lastconflict > 0) {
400 netif->autoip->lastconflict--;
405 (u16_t)(netif->autoip->state), netif->autoip->ttw));
407 switch(netif->autoip->state) {
409 if (netif->autoip->ttw > 0) {
410 netif->autoip->ttw--;
412 if (netif->autoip->sent_num >= PROBE_NUM) {
413 netif->autoip->state = AUTOIP_STATE_ANNOUNCING;
414 netif->autoip->sent_num = 0;
415 netif->autoip->ttw = ANNOUNCE_WAIT * AUTOIP_TICKS_PER_SECOND;
418 ip4_addr1_16(&netif->autoip->llipaddr), ip4_addr2_16(&netif->autoip->llipaddr),
419 ip4_addr3_16(&netif->autoip->llipaddr), ip4_addr4_16(&netif->autoip->llipaddr)));
424 netif->autoip->sent_num++;
426 netif->autoip->ttw = (u16_t)((LWIP_AUTOIP_RAND(netif) %
434 if (netif->autoip->ttw > 0) {
435 netif->autoip->ttw--;
437 if (netif->autoip->sent_num == 0) {
450 netif->autoip->ttw = ANNOUNCE_INTERVAL * AUTOIP_TICKS_PER_SECOND;
451 netif->autoip->sent_num++;
453 if (netif->autoip->sent_num >= ANNOUNCE_NUM) {
454 netif->autoip->state = AUTOIP_STATE_BOUND;
455 netif->autoip->sent_num = 0;
456 netif->autoip->ttw = 0;
459 ip4_addr1_16(&netif->autoip->llipaddr), ip4_addr2_16(&netif->autoip->llipaddr),
460 ip4_addr3_16(&netif->autoip->llipaddr), ip4_addr4_16(&netif->autoip->llipaddr)));
474 * @param netif network interface to use for autoip processing
481 if ((netif->autoip != NULL) && (netif->autoip->state != AUTOIP_STATE_OFF)) {
497 if ((netif->autoip->state == AUTOIP_STATE_PROBING) ||
498 ((netif->autoip->state == AUTOIP_STATE_ANNOUNCING) &&
499 (netif->autoip->sent_num == 0))) {
506 if ((ip_addr_cmp(&sipaddr, &netif->autoip->llipaddr)) ||
507 (ip_addr_cmp(&dipaddr, &netif->autoip->llipaddr) &&
518 if (ip_addr_cmp(&sipaddr, &netif->autoip->llipaddr) &&