diff options
author | Roopa Prabhu <roopa@cumulusnetworks.com> | 2018-04-21 12:41:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-23 10:21:24 -0400 |
commit | b16fb418b1bf2a9f14d5d2a4fe29bde1f5550b37 (patch) | |
tree | 27d935b093ea81e976b6b14778d462c2bcf87d32 /net/ipv6/fib6_rules.c | |
parent | f9d4b0c1e9695e3de7af3768205bacc27312320c (diff) |
net: fib_rules: add extack support
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/fib6_rules.c')
-rw-r--r-- | net/ipv6/fib6_rules.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index df113c7b5fc8..6547fc6491a6 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c | |||
@@ -245,15 +245,18 @@ static const struct nla_policy fib6_rule_policy[FRA_MAX+1] = { | |||
245 | 245 | ||
246 | static int fib6_rule_configure(struct fib_rule *rule, struct sk_buff *skb, | 246 | static int fib6_rule_configure(struct fib_rule *rule, struct sk_buff *skb, |
247 | struct fib_rule_hdr *frh, | 247 | struct fib_rule_hdr *frh, |
248 | struct nlattr **tb) | 248 | struct nlattr **tb, |
249 | struct netlink_ext_ack *extack) | ||
249 | { | 250 | { |
250 | int err = -EINVAL; | 251 | int err = -EINVAL; |
251 | struct net *net = sock_net(skb->sk); | 252 | struct net *net = sock_net(skb->sk); |
252 | struct fib6_rule *rule6 = (struct fib6_rule *) rule; | 253 | struct fib6_rule *rule6 = (struct fib6_rule *) rule; |
253 | 254 | ||
254 | if (rule->action == FR_ACT_TO_TBL && !rule->l3mdev) { | 255 | if (rule->action == FR_ACT_TO_TBL && !rule->l3mdev) { |
255 | if (rule->table == RT6_TABLE_UNSPEC) | 256 | if (rule->table == RT6_TABLE_UNSPEC) { |
257 | NL_SET_ERR_MSG(extack, "Invalid table"); | ||
256 | goto errout; | 258 | goto errout; |
259 | } | ||
257 | 260 | ||
258 | if (fib6_new_table(net, rule->table) == NULL) { | 261 | if (fib6_new_table(net, rule->table) == NULL) { |
259 | err = -ENOBUFS; | 262 | err = -ENOBUFS; |