[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B8C56F0.5090700@gmail.com>
Date: Tue, 02 Mar 2010 02:08:16 +0200
From: Oleg Kutkov <elenbert@...il.com>
To: linux-kernel@...r.kernel.org
Subject: Notifier chains bug ?
Hello.
I try to used notifier chains for monitoring network devices events.
All works perfectly when just i'm connecting/disconnecting network cable
or up/down interface via ifconfig.
But when i try to change interface address - nothing happens. Notifier
is don't send any events :(
There is many events in notifier.h:
#define NETDEV_UP 0x0001
#define NETDEV_DOWN 0x0002
#define NETDEV_REBOOT 0x0003
#define NETDEV_CHANGE 0x0004
#define NETDEV_REGISTER 0x0005
#define NETDEV_UNREGISTER 0x0006
#define NETDEV_CHANGEMTU 0x0007
#define NETDEV_CHANGEADDR 0x0008
#define NETDEV_GOING_DOWN 0x0009
#define NETDEV_CHANGENAME 0x000A
#define NETDEV_FEAT_CHANGE 0x000B
#define NETDEV_BONDING_FAILOVER 0x000C
#define NETDEV_PRE_UP 0x000D
#define NETDEV_BONDING_OLDTYPE 0x000E
#define NETDEV_BONDING_NEWTYPE 0x000F
So i receive only NETDEV_UP and NETDEV_DOWN events.
Part of my code:
//event handler
static int ifEventListener(struct notifier_block *nb, unsigned long
event, void *ptr);
//set handler
struct notifier_block nbListener =
{
.notifier_call = ifEventListener
};
//event handler
static int ifEventListener(struct notifier_block *this, unsigned long
event, void *ptr)
{
struct net_device *dev = (struct net_device *) ptr;
printk(KERN_INFO "eventListener() -- %d event from net_device '%s'
(0x%08X)\n", event, dev->name, (unsigned) dev);
return 0;
}
//register handler
register_netdevice_notifier(&nbListener);
So, this is a bug in notifier or something wrong with my code ?
Thank for any help
--
Best regards,
Oleg
--
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