Messages in this thread Patch in this message | | | Date | Mon, 28 Feb 2011 11:32:18 +0800 | From | Cong Wang <> | Subject | Re: [V4 PATCH 3/3] bond: service netpoll arp queue on master device |
| |
于 2011年02月28日 08:12, David Miller 写道: > From: Amerigo Wang<amwang@redhat.com> > Date: Fri, 18 Feb 2011 17:43:34 +0800 > >> 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<amwang@redhat.com> > > Applied.
Oops! Just found that this one I sent was not a refreshed patch. Please discard this one, and use the one below, that is the correct one in my git tree and the one that I tested.
Sorry for this.
----
Signed-off-by: WANG Cong <amwang@redhat.com> diff --git a/net/core/netpoll.c b/net/core/netpoll.c index f68e694..06be243 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -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(); | |