From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH] netdev: generate kobject uevent on network events. Date: Mon, 24 Nov 2008 12:06:45 -0800 Message-ID: <20081124120645.417ea6e7@extreme> References: <20081121234110.22b47154@extreme> <20081122223249.4be03e4e@extreme> <20081124114522.1e8de3fe@extreme> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: "David Miller" , "Marcel Holtmann" , linux-hotplug@vger.kernel.org, netdev@vger.kernel.org To: "Kay Sievers" Return-path: Received: from mail.vyatta.com ([76.74.103.46]:50658 "EHLO mail.vyatta.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751150AbYKXUGs (ORCPT ); Mon, 24 Nov 2008 15:06:48 -0500 In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Mon, 24 Nov 2008 20:55:02 +0100 "Kay Sievers" wrote: > On Mon, Nov 24, 2008 at 20:45, Stephen Hemminger wrote: > > It is easier for some applications to deal with text based interfaces > > like uevent, rather than using netlink to listen for events. > > > > Note, this does not deal with network namespaces but that is a generic > > problem that already exists with kobjects (see rename events). > > > > Signed-off-by: Stephen Hemminger > > > > --- > > net/core/Makefile | 1 > > net/core/uevent.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 62 insertions(+) > > > > --- a/net/core/Makefile 2008-11-24 08:40:10.000000000 -0800 > > +++ b/net/core/Makefile 2008-11-24 08:51:01.000000000 -0800 > > @@ -17,3 +17,4 @@ obj-$(CONFIG_NET_PKTGEN) += pktgen.o > > obj-$(CONFIG_NETPOLL) += netpoll.o > > obj-$(CONFIG_NET_DMA) += user_dma.o > > obj-$(CONFIG_FIB_RULES) += fib_rules.o > > +obj-$(CONFIG_HOTPLUG) += uevent.o > > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > > +++ b/net/core/uevent.c 2008-11-24 09:06:50.000000000 -0800 > > @@ -0,0 +1,60 @@ > > +/* > > + * Linux network device event notification > > + * > > + * Author: > > + * Stephen Hemminger > > + */ > > + > > +#include > > +#include > > +#include > > +#include > > + > > +/* > > + * Generate uevent in response to nework device changes. > > + * NB: KOBJ_MOVE is already genereated by kobject_rename > > + */ > > +static int netdev_event(struct notifier_block *this, unsigned long event, void *ptr) > > +{ > > + struct net_device *netdev = ptr; > > + > > + switch (event) { > > + case NETDEV_UNREGISTER: > > + kobject_uevent(&netdev->dev.kobj, KOBJ_REMOVE); > > + break; > > + case NETDEV_REGISTER: > > + kobject_uevent(&netdev->dev.kobj, KOBJ_ADD); > > + break; > > Did you do anything else to prevent the duplicated add/remove events? > The core does send these already. I replied with a "udevadm monitor" > output to your earlier mail. Don't you see the duplicates on your box? > > Thanks, > Kay okay, then i'll just take it out of here.