Lines Matching refs:arp_index
216 int arp_index; in irdma_arp_table() local
222 for (arp_index = 0; (u32)arp_index < rf->arp_table_size; arp_index++) { in irdma_arp_table()
223 if (!memcmp(rf->arp_table[arp_index].ip_addr, ip, sizeof(ip))) in irdma_arp_table()
229 if (arp_index != rf->arp_table_size) { in irdma_arp_table()
230 arp_index = -1; in irdma_arp_table()
234 arp_index = 0; in irdma_arp_table()
236 (u32 *)&arp_index, &rf->next_arp_index)) { in irdma_arp_table()
237 arp_index = -1; in irdma_arp_table()
241 memcpy(rf->arp_table[arp_index].ip_addr, ip, in irdma_arp_table()
242 sizeof(rf->arp_table[arp_index].ip_addr)); in irdma_arp_table()
243 ether_addr_copy(rf->arp_table[arp_index].mac_addr, mac_addr); in irdma_arp_table()
246 if (arp_index == rf->arp_table_size) in irdma_arp_table()
247 arp_index = -1; in irdma_arp_table()
250 if (arp_index == rf->arp_table_size) { in irdma_arp_table()
251 arp_index = -1; in irdma_arp_table()
255 memset(rf->arp_table[arp_index].ip_addr, 0, in irdma_arp_table()
256 sizeof(rf->arp_table[arp_index].ip_addr)); in irdma_arp_table()
257 eth_zero_addr(rf->arp_table[arp_index].mac_addr); in irdma_arp_table()
258 irdma_free_rsrc(rf, rf->allocated_arps, arp_index); in irdma_arp_table()
261 arp_index = -1; in irdma_arp_table()
266 return arp_index; in irdma_arp_table()