diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2017-06-25 23:56:02 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-06-27 05:13:22 +0200 |
commit | 17dd0ec470f97518893a5ed7160a842a35482fb4 (patch) | |
tree | 97a61d030d5da386947c984429a6d5bb20f5c8be | |
parent | net: add netlink_ext_ack argument to rtnl_link_ops.validate (diff) | |
download | linux-17dd0ec470f97518893a5ed7160a842a35482fb4.tar.xz linux-17dd0ec470f97518893a5ed7160a842a35482fb4.zip |
net: add netlink_ext_ack argument to rtnl_link_ops.slave_changelink
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-- | drivers/net/bonding/bond_netlink.c | 3 | ||||
-rw-r--r-- | include/net/rtnetlink.h | 3 | ||||
-rw-r--r-- | net/bridge/br_netlink.c | 3 | ||||
-rw-r--r-- | net/core/rtnetlink.c | 3 |
4 files changed, 8 insertions, 4 deletions
diff --git a/drivers/net/bonding/bond_netlink.c b/drivers/net/bonding/bond_netlink.c index 0a9d78de6138..a1b33aa6054a 100644 --- a/drivers/net/bonding/bond_netlink.c +++ b/drivers/net/bonding/bond_netlink.c @@ -132,7 +132,8 @@ static int bond_validate(struct nlattr *tb[], struct nlattr *data[], static int bond_slave_changelink(struct net_device *bond_dev, struct net_device *slave_dev, - struct nlattr *tb[], struct nlattr *data[]) + struct nlattr *tb[], struct nlattr *data[], + struct netlink_ext_ack *extack) { struct bonding *bond = netdev_priv(bond_dev); struct bond_opt_value newval; diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h index 11fe0ad60e43..baf99e173dca 100644 --- a/include/net/rtnetlink.h +++ b/include/net/rtnetlink.h @@ -95,7 +95,8 @@ struct rtnl_link_ops { int (*slave_changelink)(struct net_device *dev, struct net_device *slave_dev, struct nlattr *tb[], - struct nlattr *data[]); + struct nlattr *data[], + struct netlink_ext_ack *extack); size_t (*get_slave_size)(const struct net_device *dev, const struct net_device *slave_dev); int (*fill_slave_info)(struct sk_buff *skb, diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c index 9af177ca4d31..3bc890716c89 100644 --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c @@ -897,7 +897,8 @@ static int br_validate(struct nlattr *tb[], struct nlattr *data[], static int br_port_slave_changelink(struct net_device *brdev, struct net_device *dev, struct nlattr *tb[], - struct nlattr *data[]) + struct nlattr *data[], + struct netlink_ext_ack *extack) { struct net_bridge *br = netdev_priv(brdev); int ret; diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 7136588e65e9..658a48959fc4 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -2631,7 +2631,8 @@ replay: return -EOPNOTSUPP; err = m_ops->slave_changelink(master_dev, dev, - tb, slave_data); + tb, slave_data, + extack); if (err < 0) return err; status |= DO_SETLINK_NOTIFY; |