blob: f440df172b5603eb307a4fd0378dcc9f77d05277 [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 */
Ido Schimmel2a4501a2016-07-05 11:27:42 +020027 NETEVENT_DELAY_PROBE_TIME_UPDATE, /* arg is struct neigh_parms ptr */
Tom Tucker792d1932006-07-30 20:43:26 -070028};
29
Joe Perches4f690532013-09-21 10:22:50 -070030int register_netevent_notifier(struct notifier_block *nb);
31int unregister_netevent_notifier(struct notifier_block *nb);
32int call_netevent_notifiers(unsigned long val, void *v);
Tom Tucker792d1932006-07-30 20:43:26 -070033
34#endif