Lines Matching refs:a

93 static void __aarp_expire(struct aarp_entry *a)  in __aarp_expire()  argument
95 skb_queue_purge(&a->packet_queue); in __aarp_expire()
96 kfree(a); in __aarp_expire()
104 static void __aarp_send_query(struct aarp_entry *a) in __aarp_send_query() argument
108 struct net_device *dev = a->dev; in __aarp_send_query()
147 eah->pa_dst_net = a->target_addr.s_net; in __aarp_send_query()
148 eah->pa_dst_node = a->target_addr.s_node; in __aarp_send_query()
153 a->xmit_count++; in __aarp_send_query()
154 a->last_sent = jiffies; in __aarp_send_query()
388 struct aarp_entry *a = kmalloc(sizeof(*a), GFP_ATOMIC); in aarp_alloc() local
390 if (a) in aarp_alloc()
391 skb_queue_head_init(&a->packet_queue); in aarp_alloc()
392 return a; in aarp_alloc()
420 struct aarp_entry *a; in aarp_proxy_remove() local
424 a = __aarp_find_entry(proxies[hash], dev, sa); in aarp_proxy_remove()
425 if (a) in aarp_proxy_remove()
426 a->expires_at = jiffies - 1; in aarp_proxy_remove()
436 struct aarp_entry *a = __aarp_find_entry(proxies[hash], dev, sa); in __aarp_proxy_find() local
438 return a ? sa : NULL; in __aarp_proxy_find()
554 struct aarp_entry *a; in aarp_send_ddp() local
619 a = __aarp_find_entry(resolved[hash], dev, sa); in aarp_send_ddp()
621 if (a) { /* Return 1 and fill in the address */ in aarp_send_ddp()
622 a->expires_at = jiffies + (sysctl_aarp_expiry_time * 10); in aarp_send_ddp()
623 ddp_dl->request(ddp_dl, skb, a->hwaddr); in aarp_send_ddp()
629 a = __aarp_find_entry(unresolved[hash], dev, sa); in aarp_send_ddp()
630 if (a) { /* Queue onto the unresolved queue */ in aarp_send_ddp()
631 skb_queue_tail(&a->packet_queue, skb); in aarp_send_ddp()
636 a = aarp_alloc(); in aarp_send_ddp()
637 if (!a) { in aarp_send_ddp()
644 skb_queue_tail(&a->packet_queue, skb); in aarp_send_ddp()
645 a->expires_at = jiffies + sysctl_aarp_resolve_time; in aarp_send_ddp()
646 a->dev = dev; in aarp_send_ddp()
647 a->next = unresolved[hash]; in aarp_send_ddp()
648 a->target_addr = *sa; in aarp_send_ddp()
649 a->xmit_count = 0; in aarp_send_ddp()
650 unresolved[hash] = a; in aarp_send_ddp()
654 __aarp_send_query(a); in aarp_send_ddp()
691 static void __aarp_resolved(struct aarp_entry **list, struct aarp_entry *a, in __aarp_resolved() argument
697 if (*list == a) { in __aarp_resolved()
699 *list = a->next; in __aarp_resolved()
702 a->next = resolved[hash]; in __aarp_resolved()
703 resolved[hash] = a; in __aarp_resolved()
706 while ((skb = skb_dequeue(&a->packet_queue)) != NULL) { in __aarp_resolved()
707 a->expires_at = jiffies + in __aarp_resolved()
709 ddp_dl->request(ddp_dl, skb, a->hwaddr); in __aarp_resolved()
725 struct aarp_entry *a; in aarp_rcv() local
772 a = __aarp_find_entry(proxies[hash], dev, &da); in aarp_rcv()
774 if (a && a->status & ATIF_PROBE) { in aarp_rcv()
775 a->status |= ATIF_PROBE_FAIL; in aarp_rcv()
789 a = __aarp_find_entry(unresolved[hash], dev, &sa); in aarp_rcv()
790 if (!a || dev != a->dev) in aarp_rcv()
794 ether_addr_copy(a->hwaddr, ea->hw_src); in aarp_rcv()
795 __aarp_resolved(&unresolved[hash], a, hash); in aarp_rcv()
835 a = __aarp_find_entry(resolved[sa.s_node % in aarp_rcv()
845 if (a) { in aarp_rcv()
846 a->expires_at = jiffies - 1; in aarp_rcv()