Lines Matching refs:a

87 static void __aarp_expire(struct aarp_entry *a)  in __aarp_expire()  argument
89 skb_queue_purge(&a->packet_queue); in __aarp_expire()
90 kfree(a); in __aarp_expire()
98 static void __aarp_send_query(struct aarp_entry *a) in __aarp_send_query() argument
102 struct net_device *dev = a->dev; in __aarp_send_query()
141 eah->pa_dst_net = a->target_addr.s_net; in __aarp_send_query()
142 eah->pa_dst_node = a->target_addr.s_node; in __aarp_send_query()
147 a->xmit_count++; in __aarp_send_query()
148 a->last_sent = jiffies; in __aarp_send_query()
382 struct aarp_entry *a = kmalloc(sizeof(*a), GFP_ATOMIC); in aarp_alloc() local
384 if (a) in aarp_alloc()
385 skb_queue_head_init(&a->packet_queue); in aarp_alloc()
386 return a; in aarp_alloc()
414 struct aarp_entry *a; in aarp_proxy_remove() local
418 a = __aarp_find_entry(proxies[hash], dev, sa); in aarp_proxy_remove()
419 if (a) in aarp_proxy_remove()
420 a->expires_at = jiffies - 1; in aarp_proxy_remove()
430 struct aarp_entry *a = __aarp_find_entry(proxies[hash], dev, sa); in __aarp_proxy_find() local
432 return a ? sa : NULL; in __aarp_proxy_find()
548 struct aarp_entry *a; in aarp_send_ddp() local
613 a = __aarp_find_entry(resolved[hash], dev, sa); in aarp_send_ddp()
615 if (a) { /* Return 1 and fill in the address */ in aarp_send_ddp()
616 a->expires_at = jiffies + (sysctl_aarp_expiry_time * 10); in aarp_send_ddp()
617 ddp_dl->request(ddp_dl, skb, a->hwaddr); in aarp_send_ddp()
623 a = __aarp_find_entry(unresolved[hash], dev, sa); in aarp_send_ddp()
624 if (a) { /* Queue onto the unresolved queue */ in aarp_send_ddp()
625 skb_queue_tail(&a->packet_queue, skb); in aarp_send_ddp()
630 a = aarp_alloc(); in aarp_send_ddp()
631 if (!a) { in aarp_send_ddp()
638 skb_queue_tail(&a->packet_queue, skb); in aarp_send_ddp()
639 a->expires_at = jiffies + sysctl_aarp_resolve_time; in aarp_send_ddp()
640 a->dev = dev; in aarp_send_ddp()
641 a->next = unresolved[hash]; in aarp_send_ddp()
642 a->target_addr = *sa; in aarp_send_ddp()
643 a->xmit_count = 0; in aarp_send_ddp()
644 unresolved[hash] = a; in aarp_send_ddp()
648 __aarp_send_query(a); in aarp_send_ddp()
685 static void __aarp_resolved(struct aarp_entry **list, struct aarp_entry *a, in __aarp_resolved() argument
691 if (*list == a) { in __aarp_resolved()
693 *list = a->next; in __aarp_resolved()
696 a->next = resolved[hash]; in __aarp_resolved()
697 resolved[hash] = a; in __aarp_resolved()
700 while ((skb = skb_dequeue(&a->packet_queue)) != NULL) { in __aarp_resolved()
701 a->expires_at = jiffies + in __aarp_resolved()
703 ddp_dl->request(ddp_dl, skb, a->hwaddr); in __aarp_resolved()
719 struct aarp_entry *a; in aarp_rcv() local
766 a = __aarp_find_entry(proxies[hash], dev, &da); in aarp_rcv()
768 if (a && a->status & ATIF_PROBE) { in aarp_rcv()
769 a->status |= ATIF_PROBE_FAIL; in aarp_rcv()
783 a = __aarp_find_entry(unresolved[hash], dev, &sa); in aarp_rcv()
784 if (!a || dev != a->dev) in aarp_rcv()
788 ether_addr_copy(a->hwaddr, ea->hw_src); in aarp_rcv()
789 __aarp_resolved(&unresolved[hash], a, hash); in aarp_rcv()
829 a = __aarp_find_entry(resolved[sa.s_node % in aarp_rcv()
839 if (a) { in aarp_rcv()
840 a->expires_at = jiffies - 1; in aarp_rcv()