[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1153218477.3038.46.camel@laptopd505.fenrus.org>
Date: Tue, 18 Jul 2006 12:27:57 +0200
From: Arjan van de Ven <arjan@...radead.org>
To: Chris Wright <chrisw@...s-sol.org>
Cc: linux-kernel@...r.kernel.org, virtualization@...ts.osdl.org,
xen-devel@...ts.xensource.com,
Jeremy Fitzhardinge <jeremy@...p.org>, Andi Kleen <ak@...e.de>,
Andrew Morton <akpm@...l.org>,
Rusty Russell <rusty@...tcorp.com.au>,
Zachary Amsden <zach@...are.com>,
Ian Pratt <ian.pratt@...source.com>,
Christian Limpach <Christian.Limpach@...cam.ac.uk>,
netdev@...r.kernel.org
Subject: Re: [RFC PATCH 32/33] Add the Xen virtual network device driver.
On Tue, 2006-07-18 at 00:00 -0700, Chris Wright wrote:
> +
> +/** Send a packet on a net device to encourage switches to learn the
> + * MAC. We send a fake ARP request.
> + *
> + * @param dev device
> + * @return 0 on success, error code otherwise
> + */
> +static int send_fake_arp(struct net_device *dev)
> +{
> + struct sk_buff *skb;
> + u32 src_ip, dst_ip;
> +
> + dst_ip = INADDR_BROADCAST;
> + src_ip = inet_select_addr(dev, dst_ip, RT_SCOPE_LINK);
> +
> + /* No IP? Then nothing to do. */
> + if (src_ip == 0)
> + return 0;
> +
> + skb = arp_create(ARPOP_REPLY, ETH_P_ARP,
> + dst_ip, dev, src_ip,
> + /*dst_hw*/ NULL, /*src_hw*/ NULL,
> + /*target_hw*/ dev->dev_addr);
> + if (skb == NULL)
> + return -ENOMEM;
> +
> + return dev_queue_xmit(skb);
> +}
Hi,
Hmmm maybe it's me, but something bugs me if a NIC driver is going to
send IP level ARP packets... that just feels very very wrong and is a
blatant layering violation.... shouldn't the ifup/ifconfig scripts just
be fixed instead if this is critical behavior?
Greetings,
Arjan van de Ven
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists