Loading...
1#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 */
13
14struct dst_entry;
15
16struct netevent_redirect {
17 struct dst_entry *old;
18 struct dst_entry *new;
19};
20
21enum netevent_notif_type {
22 NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */
23 NETEVENT_REDIRECT, /* arg is struct netevent_redirect ptr */
24};
25
26extern int register_netevent_notifier(struct notifier_block *nb);
27extern int unregister_netevent_notifier(struct notifier_block *nb);
28extern int call_netevent_notifiers(unsigned long val, void *v);
29
30#endif
1#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 */
13
14struct dst_entry;
15struct neighbour;
16
17struct netevent_redirect {
18 struct dst_entry *old;
19 struct dst_entry *new;
20 struct neighbour *neigh;
21 const void *daddr;
22};
23
24enum netevent_notif_type {
25 NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */
26 NETEVENT_REDIRECT, /* arg is struct netevent_redirect ptr */
27};
28
29int register_netevent_notifier(struct notifier_block *nb);
30int unregister_netevent_notifier(struct notifier_block *nb);
31int call_netevent_notifiers(unsigned long val, void *v);
32
33#endif