2006-07-31 11:43:26 +08:00
|
|
|
#ifndef _NET_EVENT_H
|
|
|
|
#define _NET_EVENT_H
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Generic netevent notifiers
|
|
|
|
*
|
|
|
|
* Authors:
|
|
|
|
* Tom Tucker <tom@opengridcomputing.com>
|
|
|
|
* Steve Wise <swise@opengridcomputing.com>
|
|
|
|
*
|
|
|
|
* Changes:
|
|
|
|
*/
|
|
|
|
|
2007-11-14 13:34:34 +08:00
|
|
|
struct dst_entry;
|
2012-07-03 16:01:51 +08:00
|
|
|
struct neighbour;
|
2006-07-31 11:43:26 +08:00
|
|
|
|
|
|
|
struct netevent_redirect {
|
|
|
|
struct dst_entry *old;
|
2012-07-03 16:01:51 +08:00
|
|
|
struct neighbour *old_neigh;
|
2006-07-31 11:43:26 +08:00
|
|
|
struct dst_entry *new;
|
2012-07-03 16:01:51 +08:00
|
|
|
struct neighbour *new_neigh;
|
|
|
|
const void *daddr;
|
2006-07-31 11:43:26 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
enum netevent_notif_type {
|
|
|
|
NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour 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
|