aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2017-06-25 23:56:03 +0200
committerDavid S. Miller <davem@davemloft.net>2017-06-26 23:13:22 -0400
commitd116ffc770d80f241f0d750d355205d83a9eca5a (patch)
tree6697fdd2969aac46a9a8cb2c53d78f8222b8011b
parentnet: add netlink_ext_ack argument to rtnl_link_ops.slave_changelink (diff)
downloadlinux-dev-d116ffc770d80f241f0d750d355205d83a9eca5a.tar.xz
linux-dev-d116ffc770d80f241f0d750d355205d83a9eca5a.zip
net: add netlink_ext_ack argument to rtnl_link_ops.slave_validate
Add support for extended error reporting. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> Acked-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/rtnetlink.h3
-rw-r--r--net/core/rtnetlink.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h
index baf99e173dca..abe6b733d473 100644
--- a/include/net/rtnetlink.h
+++ b/include/net/rtnetlink.h
@@ -91,7 +91,8 @@ struct rtnl_link_ops {
int slave_maxtype;
const struct nla_policy *slave_policy;
int (*slave_validate)(struct nlattr *tb[],
- struct nlattr *data[]);
+ struct nlattr *data[],
+ struct netlink_ext_ack *extack);
int (*slave_changelink)(struct net_device *dev,
struct net_device *slave_dev,
struct nlattr *tb[],
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 658a48959fc4..ed51de525a88 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -2601,7 +2601,8 @@ replay:
slave_data = slave_attr;
}
if (m_ops->slave_validate) {
- err = m_ops->slave_validate(tb, slave_data);
+ err = m_ops->slave_validate(tb, slave_data,
+ extack);
if (err < 0)
return err;
}