blob: 3ce4988c9c08a96c0837407bd7c092c043a0309b [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;
David S. Miller1d248b12012-07-03 01:01:51 -070019 struct neighbour *old_neigh;
Tom Tucker792d1932006-07-30 20:43:26 -070020 struct dst_entry *new;
David S. Miller1d248b12012-07-03 01:01:51 -070021 struct neighbour *new_neigh;
22 const void *daddr;
Tom Tucker792d1932006-07-30 20:43:26 -070023};
24
25enum netevent_notif_type {
26 NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */
Tom Tucker792d1932006-07-30 20:43:26 -070027 NETEVENT_REDIRECT, /* arg is struct netevent_redirect ptr */
28};
29
30extern int register_netevent_notifier(struct notifier_block *nb);
31extern int unregister_netevent_notifier(struct notifier_block *nb);
32extern int call_netevent_notifiers(unsigned long val, void *v);
33
34#endif