diff options
| author | Tom Tucker <[email protected]> | 2006-07-31 03:43:26 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2006-08-02 20:38:20 +0000 |
| commit | 792d1932e319ff8ba01361e7d151b1794c55c31f (patch) | |
| tree | e4259bbccab44d311f7fd3d3ffc18557ae52c49c /include/net/netevent.h | |
| parent | [TCP]: SNMPv2 tcpAttemptFails counter error (diff) | |
| download | kernel-792d1932e319ff8ba01361e7d151b1794c55c31f.tar.gz kernel-792d1932e319ff8ba01361e7d151b1794c55c31f.zip | |
[NET]: Network Event Notifier Mechanism.
This patch uses notifier blocks to implement a network event
notifier mechanism.
Clients register their callback function by calling
register_netevent_notifier() like this:
static struct notifier_block nb = {
.notifier_call = my_callback_func
};
...
register_netevent_notifier(&nb);
Signed-off-by: Tom Tucker <[email protected]>
Signed-off-by: Steve Wise <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'include/net/netevent.h')
| -rw-r--r-- | include/net/netevent.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/net/netevent.h b/include/net/netevent.h new file mode 100644 index 000000000000..e5d216241423 --- /dev/null +++ b/include/net/netevent.h @@ -0,0 +1,33 @@ +#ifndef _NET_EVENT_H +#define _NET_EVENT_H + +/* + * Generic netevent notifiers + * + * Authors: + * Tom Tucker <[email protected]> + * Steve Wise <[email protected]> + * + * Changes: + */ +#ifdef __KERNEL__ + +#include <net/dst.h> + +struct netevent_redirect { + struct dst_entry *old; + struct dst_entry *new; +}; + +enum netevent_notif_type { + NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */ + NETEVENT_PMTU_UPDATE, /* arg is struct dst_entry ptr */ + NETEVENT_REDIRECT, /* arg is struct netevent_redirect ptr */ +}; + +extern int register_netevent_notifier(struct notifier_block *nb); +extern int unregister_netevent_notifier(struct notifier_block *nb); +extern int call_netevent_notifiers(unsigned long val, void *v); + +#endif +#endif |
