summaryrefslogtreecommitdiffstats
path: root/include/net/netevent.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/netevent.h')
-rw-r--r--include/net/netevent.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/include/net/netevent.h b/include/net/netevent.h
new file mode 100644
index 000000000..1be3757a8
--- /dev/null
+++ b/include/net/netevent.h
@@ -0,0 +1,39 @@
+/* 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