lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <AAE2573A-3C23-4C61-89E1-3A6F31D7B23E@holtmann.org>
Date:	Tue, 25 Nov 2008 04:51:53 +0100
From:	Marcel Holtmann <marcel@...tmann.org>
To:	Stephen Hemminger <shemminger@...tta.com>
Cc:	Ben Hutchings <bhutchings@...arflare.com>,
	Kay Sievers <kay.sievers@...y.org>,
	David Miller <davem@...emloft.net>,
	linux-hotplug@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH] netdev: generate kobject uevent on network state transitions

Hi Stephen,

> 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 <shemminger@...tta.com>
>
> ---
> net/core/Makefile |    1
> net/core/uevent.c |   61 ++++++++++++++++++++++++++++++++++++++++++++ 
> ++++++++++
> 2 files changed, 62 insertions(+)
>
> --- a/net/core/Makefile	2008-11-24 12:07:18.000000000 -0800
> +++ b/net/core/Makefile	2008-11-24 12:07:22.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 12:11:46.000000000 -0800
> @@ -0,0 +1,55 @@
> +/*
> + * Linux network device event notification
> + *
> + * Author:
> + *	Stephen Hemminger <shemminger@...tta.com>
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/netdevice.h>
> +#include <linux/kobject.h>
> +#include <linux/notifier.h>
> +
> +/*
> + * Generate uevent in response to network device state changes.
> + * Other events are already handled by device subsystem.
> + */
> +static int netdev_event(struct notifier_block *this, unsigned long  
> event, void *ptr)
> +{
> +	struct net_device *netdev = ptr;
> +
> +	switch (event) {
> +	case NETDEV_UP:
> +		kobject_uevent(&netdev->dev.kobj, KOBJ_ONLINE);
> +		break;
> +
> +	case NETDEV_DOWN:
> +		kobject_uevent(&netdev->dev.kobj, KOBJ_OFFLINE);
> +		break;
> +
> +	case NETDEV_CHANGE: {
> +		char str[64] = "DEVSTATE=UP";
> +		char *envp[2] = { str, NULL };
> +
> +		if (netif_oper_up(netdev))
> +			strcat(str, ",RUNNING");
> +		if (netif_carrier_ok(netdev))
> +			strcat(str, ",LOWER_UP");
> +		if (netif_dormant(netdev))
> +			strcat(str, ",DORMANT");
> +		kobject_uevent_env(&netdev->dev.kobj, KOBJ_CHANGE, envp);
> +		break;

do we wanna copy just what ifconfig shows or do we might be a more  
intelligent and have separate variables like RUNNING=1 etc.?

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ