Skip to content

Commit

Permalink
bond: service netpoll arp queue on master device
Browse files Browse the repository at this point in the history
Neil pointed out that we can't send ARP reply on behalf of slaves,
we need to move the arp queue to their bond device.

Signed-off-by: WANG Cong <[email protected]>
Acked-by: Neil Horman <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Amerigo Wang authored and davem330 committed Feb 28, 2011
1 parent 080e413 commit 5a698af
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions net/core/netpoll.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,17 @@ void netpoll_poll_dev(struct net_device *dev)

poll_napi(dev);

if (dev->priv_flags & IFF_SLAVE) {
if (dev->npinfo) {
struct net_device *bond_dev = dev->master;
struct sk_buff *skb;
while ((skb = skb_dequeue(&dev->npinfo->arp_tx))) {
skb->dev = bond_dev;
skb_queue_tail(&bond_dev->npinfo->arp_tx, skb);
}
}
}

service_arp_queue(dev->npinfo);

zap_completion_queue();
Expand Down

0 comments on commit 5a698af

Please sign in to comment.