]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net: add netlink_ext_ack argument to rtnl_link_ops.slave_validate
authorMatthias Schiffer <mschiffer@universe-factory.net>
Sun, 25 Jun 2017 21:56:03 +0000 (23:56 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Jun 2017 03:13:22 +0000 (23:13 -0400)
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>
include/net/rtnetlink.h
net/core/rtnetlink.c

index baf99e173dca9eddcdcc8d6db5dcf67c8e57a520..abe6b733d473cbd84657bc80c184b51dc2e167ac 100644 (file)
@@ -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[],
index 658a48959fc44830c443eda9d3e0378d6738d200..ed51de525a8869a16f9a5aa01c60bb130dd6e1c9 100644 (file)
@@ -2601,7 +2601,8 @@ static int rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh,
                                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;
                        }