1 #ifndef __NET_FIB_NOTIFIER_H
2 #define __NET_FIB_NOTIFIER_H
4 #include <linux/types.h>
5 #include <linux/notifier.h>
6 #include <net/net_namespace.h>
10 struct fib_notifier_info {
12 struct netlink_ext_ack *extack;
16 FIB_EVENT_ENTRY_REPLACE,
17 FIB_EVENT_ENTRY_APPEND,
28 struct fib_notifier_ops {
30 struct list_head list;
31 unsigned int (*fib_seq_read)(struct net *net);
32 int (*fib_dump)(struct net *net, struct notifier_block *nb,
33 struct netlink_ext_ack *extack);
38 int call_fib_notifier(struct notifier_block *nb,
39 enum fib_event_type event_type,
40 struct fib_notifier_info *info);
41 int call_fib_notifiers(struct net *net, enum fib_event_type event_type,
42 struct fib_notifier_info *info);
43 int register_fib_notifier(struct net *net, struct notifier_block *nb,
44 void (*cb)(struct notifier_block *nb),
45 struct netlink_ext_ack *extack);
46 int unregister_fib_notifier(struct net *net, struct notifier_block *nb);
47 struct fib_notifier_ops *
48 fib_notifier_ops_register(const struct fib_notifier_ops *tmpl, struct net *net);
49 void fib_notifier_ops_unregister(struct fib_notifier_ops *ops);