提交 868d13ac 编写于 作者: D Denis V. Lunev 提交者: David S. Miller

[NETNS]: Pass fib_rules_ops into default_pref method.

fib_rules_ops contains operations and the list of configured rules. ops will
become per/namespace soon, so we need them to be known in the default_pref
callback.
Acked-by: NBenjamin Thery <benjamin.thery@bull.net>
Acked-by: NDaniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: NDenis V. Lunev <den@openvz.org>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 f8c26b8d
...@@ -56,7 +56,7 @@ struct fib_rules_ops ...@@ -56,7 +56,7 @@ struct fib_rules_ops
int (*fill)(struct fib_rule *, struct sk_buff *, int (*fill)(struct fib_rule *, struct sk_buff *,
struct nlmsghdr *, struct nlmsghdr *,
struct fib_rule_hdr *); struct fib_rule_hdr *);
u32 (*default_pref)(void); u32 (*default_pref)(struct fib_rules_ops *ops);
size_t (*nlmsg_payload)(struct fib_rule *); size_t (*nlmsg_payload)(struct fib_rule *);
/* Called after modifications to the rules set, must flush /* Called after modifications to the rules set, must flush
......
...@@ -285,7 +285,7 @@ static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg) ...@@ -285,7 +285,7 @@ static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg)
rule->table = frh_get_table(frh, tb); rule->table = frh_get_table(frh, tb);
if (!rule->pref && ops->default_pref) if (!rule->pref && ops->default_pref)
rule->pref = ops->default_pref(); rule->pref = ops->default_pref(ops);
err = -EINVAL; err = -EINVAL;
if (tb[FRA_GOTO]) { if (tb[FRA_GOTO]) {
......
...@@ -212,7 +212,7 @@ static int dn_fib_rule_fill(struct fib_rule *rule, struct sk_buff *skb, ...@@ -212,7 +212,7 @@ static int dn_fib_rule_fill(struct fib_rule *rule, struct sk_buff *skb,
return -ENOBUFS; return -ENOBUFS;
} }
static u32 dn_fib_rule_default_pref(void) static u32 dn_fib_rule_default_pref(struct fib_rules_ops *ops)
{ {
struct list_head *pos; struct list_head *pos;
struct fib_rule *rule; struct fib_rule *rule;
......
...@@ -245,7 +245,7 @@ static int fib4_rule_fill(struct fib_rule *rule, struct sk_buff *skb, ...@@ -245,7 +245,7 @@ static int fib4_rule_fill(struct fib_rule *rule, struct sk_buff *skb,
return -ENOBUFS; return -ENOBUFS;
} }
static u32 fib4_rule_default_pref(void) static u32 fib4_rule_default_pref(struct fib_rules_ops *ops)
{ {
struct list_head *pos; struct list_head *pos;
struct fib_rule *rule; struct fib_rule *rule;
......
...@@ -223,7 +223,7 @@ static int fib6_rule_fill(struct fib_rule *rule, struct sk_buff *skb, ...@@ -223,7 +223,7 @@ static int fib6_rule_fill(struct fib_rule *rule, struct sk_buff *skb,
return -ENOBUFS; return -ENOBUFS;
} }
static u32 fib6_rule_default_pref(void) static u32 fib6_rule_default_pref(struct fib_rules_ops *ops)
{ {
return 0x3FFF; return 0x3FFF;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册