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
);