1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef _NET_EVENT_H |
3 | #define _NET_EVENT_H |
4 | |
5 | /* |
6 | * Generic netevent notifiers |
7 | * |
8 | * Authors: |
9 | * Tom Tucker <tom@opengridcomputing.com> |
10 | * Steve Wise <swise@opengridcomputing.com> |
11 | * |
12 | * Changes: |
13 | */ |
14 | |
15 | struct dst_entry; |
16 | struct neighbour; |
17 | struct notifier_block ; |
18 | |
19 | struct netevent_redirect { |
20 | struct dst_entry *old; |
21 | struct dst_entry *new; |
22 | struct neighbour *neigh; |
23 | const void *daddr; |
24 | }; |
25 | |
26 | enum netevent_notif_type { |
27 | NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */ |
28 | NETEVENT_REDIRECT, /* arg is struct netevent_redirect ptr */ |
29 | NETEVENT_DELAY_PROBE_TIME_UPDATE, /* arg is struct neigh_parms ptr */ |
30 | NETEVENT_IPV4_MPATH_HASH_UPDATE, /* arg is struct net ptr */ |
31 | NETEVENT_IPV6_MPATH_HASH_UPDATE, /* arg is struct net ptr */ |
32 | NETEVENT_IPV4_FWD_UPDATE_PRIORITY_UPDATE, /* arg is struct net ptr */ |
33 | }; |
34 | |
35 | int register_netevent_notifier(struct notifier_block *nb); |
36 | int unregister_netevent_notifier(struct notifier_block *nb); |
37 | int call_netevent_notifiers(unsigned long val, void *v); |
38 | |
39 | #endif |
40 | |