Lines Matching refs:i
177 etharp_free_entry(int i) in etharp_free_entry() argument
180 snmp_delete_arpidx_tree(arp_table[i].netif, &arp_table[i].ipaddr); in etharp_free_entry()
182 if (arp_table[i].q != NULL) { in etharp_free_entry()
184 …harp_free_entry: freeing entry %"U16_F", packet queue %p.\n", (u16_t)i, (void *)(arp_table[i].q))); in etharp_free_entry()
185 free_etharp_q(arp_table[i].q); in etharp_free_entry()
186 arp_table[i].q = NULL; in etharp_free_entry()
189 arp_table[i].state = ETHARP_STATE_EMPTY; in etharp_free_entry()
192 arp_table[i].ctime = 0; in etharp_free_entry()
193 arp_table[i].netif = NULL; in etharp_free_entry()
194 ip_addr_set_zero(&arp_table[i].ipaddr); in etharp_free_entry()
195 arp_table[i].ethaddr = ethzero; in etharp_free_entry()
208 u8_t i; in etharp_tmr() local
212 for (i = 0; i < ARP_TABLE_SIZE; ++i) { in etharp_tmr()
213 u8_t state = arp_table[i].state; in etharp_tmr()
219 arp_table[i].ctime++; in etharp_tmr()
220 if ((arp_table[i].ctime >= ARP_MAXAGE) || in etharp_tmr()
221 ((arp_table[i].state == ETHARP_STATE_PENDING) && in etharp_tmr()
222 (arp_table[i].ctime >= ARP_MAXPENDING))) { in etharp_tmr()
225 arp_table[i].state >= ETHARP_STATE_STABLE ? "stable" : "pending", (u16_t)i)); in etharp_tmr()
227 etharp_free_entry(i); in etharp_tmr()
229 else if (arp_table[i].state == ETHARP_STATE_STABLE_REREQUESTING) { in etharp_tmr()
232 arp_table[i].state = ETHARP_STATE_STABLE; in etharp_tmr()
236 if (arp_table[i].state == ETHARP_STATE_PENDING) { in etharp_tmr()
270 u8_t i = 0, age_pending = 0, age_stable = 0; in etharp_find_entry() local
291 for (i = 0; i < ARP_TABLE_SIZE; ++i) { in etharp_find_entry()
292 u8_t state = arp_table[i].state; in etharp_find_entry()
295 LWIP_DEBUGF(ETHARP_DEBUG, ("etharp_find_entry: found empty entry %"U16_F"\n", (u16_t)i)); in etharp_find_entry()
297 empty = i; in etharp_find_entry()
302 if (ipaddr && ip_addr_cmp(ipaddr, &arp_table[i].ipaddr)) { in etharp_find_entry()
303 …F(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_find_entry: found matching entry %"U16_F"\n", (u16_t)i)); in etharp_find_entry()
305 return i; in etharp_find_entry()
310 if (arp_table[i].q != NULL) { in etharp_find_entry()
311 if (arp_table[i].ctime >= age_queue) { in etharp_find_entry()
312 old_queue = i; in etharp_find_entry()
313 age_queue = arp_table[i].ctime; in etharp_find_entry()
318 if (arp_table[i].ctime >= age_pending) { in etharp_find_entry()
319 old_pending = i; in etharp_find_entry()
320 age_pending = arp_table[i].ctime; in etharp_find_entry()
331 if (arp_table[i].ctime >= age_stable) { in etharp_find_entry()
332 old_stable = i; in etharp_find_entry()
333 age_stable = arp_table[i].ctime; in etharp_find_entry()
360 i = empty; in etharp_find_entry()
361 …(ETHARP_DEBUG | LWIP_DBG_TRACE, ("etharp_find_entry: selecting empty entry %"U16_F"\n", (u16_t)i)); in etharp_find_entry()
366 i = old_stable; in etharp_find_entry()
367 …DEBUG | LWIP_DBG_TRACE, ("etharp_find_entry: selecting oldest stable entry %"U16_F"\n", (u16_t)i)); in etharp_find_entry()
369 LWIP_ASSERT("arp_table[i].q == NULL", arp_table[i].q == NULL); in etharp_find_entry()
373 i = old_pending; in etharp_find_entry()
374 …TRACE, ("etharp_find_entry: selecting oldest pending entry %"U16_F" (without queue)\n", (u16_t)i)); in etharp_find_entry()
378 i = old_queue; in etharp_find_entry()
379 …ng oldest pending entry %"U16_F", freeing packet queue %p\n", (u16_t)i, (void *)(arp_table[i].q))); in etharp_find_entry()
387 LWIP_ASSERT("i < ARP_TABLE_SIZE", i < ARP_TABLE_SIZE); in etharp_find_entry()
388 etharp_free_entry(i); in etharp_find_entry()
391 LWIP_ASSERT("i < ARP_TABLE_SIZE", i < ARP_TABLE_SIZE); in etharp_find_entry()
393 arp_table[i].state == ETHARP_STATE_EMPTY); in etharp_find_entry()
398 ip_addr_copy(arp_table[i].ipaddr, *ipaddr); in etharp_find_entry()
400 arp_table[i].ctime = 0; in etharp_find_entry()
401 return (err_t)i; in etharp_find_entry()
450 s8_t i; local
464 i = etharp_find_entry(ipaddr, flags);
466 if (i < 0) {
467 return (err_t)i;
473 arp_table[i].state = ETHARP_STATE_STATIC;
478 arp_table[i].state = ETHARP_STATE_STABLE;
482 arp_table[i].netif = netif;
484 snmp_insert_arpidx_tree(netif, &arp_table[i].ipaddr);
486 …P_DEBUG | LWIP_DBG_TRACE, ("etharp_update_arp_entry: updating stable entry %"S16_F"\n", (s16_t)i));
488 ETHADDR32_COPY(&arp_table[i].ethaddr, ethaddr);
490 arp_table[i].ctime = 0;
493 while (arp_table[i].q != NULL) {
496 struct etharp_q_entry *q = arp_table[i].q;
498 arp_table[i].q = q->next;
504 if (arp_table[i].q != NULL) {
505 struct pbuf *p = arp_table[i].q;
506 arp_table[i].q = NULL;
553 s8_t i; local
558 i = etharp_find_entry(ipaddr, ETHARP_FLAG_FIND_ONLY);
560 if (i < 0) {
561 return (err_t)i;
564 if (arp_table[i].state != ETHARP_STATE_STATIC) {
569 etharp_free_entry(i);
581 u8_t i; local
583 for (i = 0; i < ARP_TABLE_SIZE; ++i) {
584 u8_t state = arp_table[i].state;
585 if ((state != ETHARP_STATE_EMPTY) && (arp_table[i].netif == netif)) {
586 etharp_free_entry(i);
606 s8_t i; local
613 i = etharp_find_entry(ipaddr, ETHARP_FLAG_FIND_ONLY);
614 if((i >= 0) && (arp_table[i].state >= ETHARP_STATE_STABLE)) {
615 *eth_ret = &arp_table[i].ethaddr;
616 *ip_ret = &arp_table[i].ipaddr;
617 return i;
918 s8_t i; local
963 for (i = 0; i < ARP_TABLE_SIZE; i++) {
964 if ((arp_table[i].state >= ETHARP_STATE_STABLE) &&
965 (ip_addr_cmp(dst_addr, &arp_table[i].ipaddr))) {
967 ETHARP_SET_HINT(netif, i);
968 return etharp_output_to_arp_index(netif, q, i);
1020 s8_t i; /* ARP entry index */ local
1031 i = etharp_find_entry(ipaddr, ETHARP_FLAG_TRY_HARD);
1034 if (i < 0) {
1040 return (err_t)i;
1044 if (arp_table[i].state == ETHARP_STATE_EMPTY) {
1045 arp_table[i].state = ETHARP_STATE_PENDING;
1050 ((arp_table[i].state == ETHARP_STATE_PENDING) ||
1051 (arp_table[i].state >= ETHARP_STATE_STABLE)));
1054 if ((arp_table[i].state == ETHARP_STATE_PENDING) || (q == NULL)) {
1071 if (arp_table[i].state >= ETHARP_STATE_STABLE) {
1073 ETHARP_SET_HINT(netif, i);
1075 result = etharp_send_ip(netif, q, srcaddr, &(arp_table[i].ethaddr));
1077 } else if (arp_table[i].state == ETHARP_STATE_PENDING) {
1117 if(arp_table[i].q != NULL) {
1120 r = arp_table[i].q;
1127 arp_table[i].q = new_entry;
1129 …| LWIP_DBG_TRACE, ("etharp_query: queued packet %p on ARP entry %"S16_F"\n", (void *)q, (s16_t)i));
1139 if (arp_table[i].q != NULL) {
1140 …etharp_query: dropped previously queued packet %p for ARP entry %"S16_F"\n", (void *)q, (s16_t)i));
1141 pbuf_free(arp_table[i].q);
1143 arp_table[i].q = p;
1145 …| LWIP_DBG_TRACE, ("etharp_query: queued packet %p on ARP entry %"S16_F"\n", (void *)q, (s16_t)i));