Commit 5a698af5 authored by Amerigo Wang's avatar Amerigo Wang Committed by David S. Miller

bond: service netpoll arp queue on master device

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: default avatarWANG Cong <amwang@redhat.com>
Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 080e4130
...@@ -193,6 +193,17 @@ void netpoll_poll_dev(struct net_device *dev) ...@@ -193,6 +193,17 @@ void netpoll_poll_dev(struct net_device *dev)
poll_napi(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); service_arp_queue(dev->npinfo);
zap_completion_queue(); zap_completion_queue();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment