| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef _NET_EVENT_H | |
| #define _NET_EVENT_H | |
| /* | |
| * Generic netevent notifiers | |
| * | |
| * Authors: | |
| * Tom Tucker <tom@opengridcomputing.com> | |
| * Steve Wise <swise@opengridcomputing.com> | |
| * | |
| * Changes: | |
| */ | |
| struct dst_entry; | |
| struct neighbour; | |
| struct notifier_block ; | |
| struct netevent_redirect { | |
| struct dst_entry *old; | |
| struct dst_entry *new; | |
| struct neighbour *neigh; | |
| const void *daddr; | |
| }; | |
| enum netevent_notif_type { | |
| NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */ | |
| NETEVENT_REDIRECT, /* arg is struct netevent_redirect ptr */ | |
| NETEVENT_DELAY_PROBE_TIME_UPDATE, /* arg is struct neigh_parms ptr */ | |
| NETEVENT_IPV4_MPATH_HASH_UPDATE, /* arg is struct net ptr */ | |
| NETEVENT_IPV6_MPATH_HASH_UPDATE, /* arg is struct net ptr */ | |
| NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE, /* arg is struct net ptr */ | |
| }; | |
| int register_netevent_notifier(struct notifier_block *nb); | |
| int unregister_netevent_notifier(struct notifier_block *nb); | |
| int call_netevent_notifiers(unsigned long val, void *v); | |
| #endif |