xref: /openbmc/linux/include/net/netevent.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2792d1932STom Tucker #ifndef _NET_EVENT_H
3792d1932STom Tucker #define _NET_EVENT_H
4792d1932STom Tucker 
5792d1932STom Tucker /*
6792d1932STom Tucker  *	Generic netevent notifiers
7792d1932STom Tucker  *
8792d1932STom Tucker  *	Authors:
9792d1932STom Tucker  *      Tom Tucker              <tom@opengridcomputing.com>
10792d1932STom Tucker  *      Steve Wise              <swise@opengridcomputing.com>
11792d1932STom Tucker  *
12792d1932STom Tucker  * 	Changes:
13792d1932STom Tucker  */
14792d1932STom Tucker 
15274b3426SHerbert Xu struct dst_entry;
161d248b1cSDavid S. Miller struct neighbour;
17*949d6b40SJakub Kicinski struct notifier_block ;
18792d1932STom Tucker 
19792d1932STom Tucker struct netevent_redirect {
20792d1932STom Tucker 	struct dst_entry *old;
21792d1932STom Tucker 	struct dst_entry *new;
2260592833SYOSHIFUJI Hideaki / 吉藤英明 	struct neighbour *neigh;
231d248b1cSDavid S. Miller 	const void *daddr;
24792d1932STom Tucker };
25792d1932STom Tucker 
26792d1932STom Tucker enum netevent_notif_type {
27792d1932STom Tucker 	NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */
28792d1932STom Tucker 	NETEVENT_REDIRECT,	   /* arg is struct netevent_redirect ptr */
292a4501aeSIdo Schimmel 	NETEVENT_DELAY_PROBE_TIME_UPDATE, /* arg is struct neigh_parms ptr */
303192dac6SDavid Ahern 	NETEVENT_IPV4_MPATH_HASH_UPDATE, /* arg is struct net ptr */
31b4bac172SDavid Ahern 	NETEVENT_IPV6_MPATH_HASH_UPDATE, /* arg is struct net ptr */
32d18c5d19SPetr Machata 	NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE, /* arg is struct net ptr */
33792d1932STom Tucker };
34792d1932STom Tucker 
354f69053bSJoe Perches int register_netevent_notifier(struct notifier_block *nb);
364f69053bSJoe Perches int unregister_netevent_notifier(struct notifier_block *nb);
374f69053bSJoe Perches int call_netevent_notifiers(unsigned long val, void *v);
38792d1932STom Tucker 
39792d1932STom Tucker #endif
40