blob: fe630dde35c3f3688d30e1e33a5fb5d06393bba6 [file] [log] [blame]
Tom Tucker792d1932006-07-30 20:43:26 -07001#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 */
Tom Tucker792d1932006-07-30 20:43:26 -070013
Herbert Xu274b3422007-11-13 21:34:34 -080014struct dst_entry;
David S. Miller1d248b12012-07-03 01:01:51 -070015struct neighbour;
Tom Tucker792d1932006-07-30 20:43:26 -070016
17struct netevent_redirect {
18 struct dst_entry *old;
19 struct dst_entry *new;
YOSHIFUJI Hideaki / 吉藤英明60592832013-01-14 09:28:27 +000020 struct neighbour *neigh;
David S. Miller1d248b12012-07-03 01:01:51 -070021 const void *daddr;
Tom Tucker792d1932006-07-30 20:43:26 -070022};
23
24enum netevent_notif_type {
25 NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */
Tom Tucker792d1932006-07-30 20:43:26 -070026 NETEVENT_REDIRECT, /* arg is struct netevent_redirect ptr */
27};
28
29extern int register_netevent_notifier(struct notifier_block *nb);
30extern int unregister_netevent_notifier(struct notifier_block *nb);
31extern int call_netevent_notifiers(unsigned long val, void *v);
32
33#endif