aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/fib6_rules.c
diff options
context:
space:
mode:
authorRoopa Prabhu <roopa@cumulusnetworks.com>2018-04-21 12:41:31 -0400
committerDavid S. Miller <davem@davemloft.net>2018-04-23 10:21:24 -0400
commitb16fb418b1bf2a9f14d5d2a4fe29bde1f5550b37 (patch)
tree27d935b093ea81e976b6b14778d462c2bcf87d32 /net/ipv6/fib6_rules.c
parentf9d4b0c1e9695e3de7af3768205bacc27312320c (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.c7
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
246static int fib6_rule_configure(struct fib_rule *rule, struct sk_buff *skb, 246static 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;