xref: /linux/include/net/netevent.h (revision 4413e16d9d21673bb5048a2e542f1aaa00015c2e)
1 #ifndef _NET_EVENT_H
2 #define _NET_EVENT_H
3 
4 /*
5  *	Generic netevent notifiers
6  *
7  *	Authors:
8  *      Tom Tucker              <tom@opengridcomputing.com>
9  *      Steve Wise              <swise@opengridcomputing.com>
10  *
11  * 	Changes:
12  */
13 
14 struct dst_entry;
15 struct neighbour;
16 
17 struct netevent_redirect {
18 	struct dst_entry *old;
19 	struct neighbour *old_neigh;
20 	struct dst_entry *new;
21 	struct neighbour *new_neigh;
22 	const void *daddr;
23 };
24 
25 enum netevent_notif_type {
26 	NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */
27 	NETEVENT_REDIRECT,	   /* arg is struct netevent_redirect ptr */
28 };
29 
30 extern int register_netevent_notifier(struct notifier_block *nb);
31 extern int unregister_netevent_notifier(struct notifier_block *nb);
32 extern int call_netevent_notifiers(unsigned long val, void *v);
33 
34 #endif
35