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
,
26 FIB_EVENT_ENTRY_REPLACE_TMP
,
27 FIB_EVENT_ENTRY_DEL_TMP
,
30 struct fib_notifier_ops
{
32 struct list_head list
;
33 unsigned int (*fib_seq_read
)(struct net
*net
);
34 int (*fib_dump
)(struct net
*net
, struct notifier_block
*nb
,
35 struct netlink_ext_ack
*extack
);
40 int call_fib_notifier(struct notifier_block
*nb
,
41 enum fib_event_type event_type
,
42 struct fib_notifier_info
*info
);
43 int call_fib_notifiers(struct net
*net
, enum fib_event_type event_type
,
44 struct fib_notifier_info
*info
);
45 int register_fib_notifier(struct net
*net
, struct notifier_block
*nb
,
46 void (*cb
)(struct notifier_block
*nb
),
47 struct netlink_ext_ack
*extack
);
48 int unregister_fib_notifier(struct net
*net
, struct notifier_block
*nb
);
49 struct fib_notifier_ops
*
50 fib_notifier_ops_register(const struct fib_notifier_ops
*tmpl
, struct net
*net
);
51 void fib_notifier_ops_unregister(struct fib_notifier_ops
*ops
);