diff options
author | David S. Miller <davem@davemloft.net> | 2018-04-23 10:21:25 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-23 10:21:25 -0400 |
commit | ec8c360a6ecdea595aff957c6a720e059275f1f4 (patch) | |
tree | 27d935b093ea81e976b6b14778d462c2bcf87d32 /net/ipv6/fib6_rules.c | |
parent | a56e6bcd34b55182159d16fcf6d6105578dfa192 (diff) | |
parent | b16fb418b1bf2a9f14d5d2a4fe29bde1f5550b37 (diff) |
Merge branch 'fib-rules-extack-support'
Roopa Prabhu says:
====================
fib rules extack support
First patch refactors code to move fib rule netlink handling
into a common function. This became obvious when adding
duplicate extack msgs in add and del paths. Second patch
adds extack msgs.
v2 - Dropped the ip route get support and selftests from
the series to look at the input path some more (as pointed
out by ido). Will come back to that next week when i have
some time. resending just the extack part for now.
====================
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] = { static int fib6_rule_configure(struct fib_rule *rule, struct sk_buff *skb, struct fib_rule_hdr *frh, - struct nlattr **tb) + struct nlattr **tb, + struct netlink_ext_ack *extack) { int err = -EINVAL; struct net *net = sock_net(skb->sk); struct fib6_rule *rule6 = (struct fib6_rule *) rule; if (rule->action == FR_ACT_TO_TBL && !rule->l3mdev) { - if (rule->table == RT6_TABLE_UNSPEC) + if (rule->table == RT6_TABLE_UNSPEC) { + NL_SET_ERR_MSG(extack, "Invalid table"); goto errout; + } if (fib6_new_table(net, rule->table) == NULL) { err = -ENOBUFS; |