[NET] rules: Use rtnl registration interface
Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c8822a4e00
commit
9d9e6a5819
|
@ -5,7 +5,7 @@
|
|||
#include <linux/netdevice.h>
|
||||
#include <linux/fib_rules.h>
|
||||
#include <net/flow.h>
|
||||
#include <net/netlink.h>
|
||||
#include <net/rtnetlink.h>
|
||||
|
||||
struct fib_rule
|
||||
{
|
||||
|
@ -99,10 +99,6 @@ extern int fib_rules_lookup(struct fib_rules_ops *,
|
|||
struct flowi *, int flags,
|
||||
struct fib_lookup_arg *);
|
||||
|
||||
extern int fib_nl_newrule(struct sk_buff *,
|
||||
struct nlmsghdr *, void *);
|
||||
extern int fib_nl_delrule(struct sk_buff *,
|
||||
struct nlmsghdr *, void *);
|
||||
extern int fib_rules_dump(struct sk_buff *,
|
||||
struct netlink_callback *, int);
|
||||
#endif
|
||||
|
|
|
@ -174,7 +174,7 @@ errout:
|
|||
return err;
|
||||
}
|
||||
|
||||
int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
|
||||
static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
|
||||
{
|
||||
struct fib_rule_hdr *frh = nlmsg_data(nlh);
|
||||
struct fib_rules_ops *ops = NULL;
|
||||
|
@ -265,7 +265,7 @@ errout:
|
|||
return err;
|
||||
}
|
||||
|
||||
int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
|
||||
static int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
|
||||
{
|
||||
struct fib_rule_hdr *frh = nlmsg_data(nlh);
|
||||
struct fib_rules_ops *ops = NULL;
|
||||
|
@ -501,6 +501,10 @@ static struct notifier_block fib_rules_notifier = {
|
|||
|
||||
static int __init fib_rules_init(void)
|
||||
{
|
||||
rtnl_register(PF_UNSPEC, RTM_NEWRULE, fib_nl_newrule, NULL);
|
||||
rtnl_register(PF_UNSPEC, RTM_DELRULE, fib_nl_delrule, NULL);
|
||||
rtnl_register(PF_UNSPEC, RTM_GETRULE, NULL, rtnl_dump_all);
|
||||
|
||||
return register_netdevice_notifier(&fib_rules_notifier);
|
||||
}
|
||||
|
||||
|
|
|
@ -963,11 +963,6 @@ static struct rtnetlink_link link_rtnetlink_table[RTM_NR_MSGTYPES] =
|
|||
{
|
||||
[RTM_GETADDR - RTM_BASE] = { .dumpit = rtnl_dump_all },
|
||||
[RTM_GETROUTE - RTM_BASE] = { .dumpit = rtnl_dump_all },
|
||||
#ifdef CONFIG_FIB_RULES
|
||||
[RTM_NEWRULE - RTM_BASE] = { .doit = fib_nl_newrule },
|
||||
[RTM_DELRULE - RTM_BASE] = { .doit = fib_nl_delrule },
|
||||
#endif
|
||||
[RTM_GETRULE - RTM_BASE] = { .dumpit = rtnl_dump_all },
|
||||
};
|
||||
|
||||
static int rtnetlink_event(struct notifier_block *this, unsigned long event, void *ptr)
|
||||
|
|
Loading…
Reference in New Issue