Re: [PATCH net-next v2 2/5] net: add netlink_ext_ack argument to rtnl_link_ops.changelink

2017-06-25 Thread David Ahern
On 6/25/17 3:56 PM, Matthias Schiffer wrote:
> Add support for extended error reporting.
> 
> Signed-off-by: Matthias Schiffer 

Acked-by: David Ahern 


[PATCH net-next v2 2/5] net: add netlink_ext_ack argument to rtnl_link_ops.changelink

2017-06-25 Thread Matthias Schiffer
Add support for extended error reporting.

Signed-off-by: Matthias Schiffer 
---
 drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 7 ---
 drivers/net/bonding/bond_netlink.c   | 7 ---
 drivers/net/caif/caif_hsi.c  | 3 ++-
 drivers/net/can/dev.c| 5 +++--
 drivers/net/ipvlan/ipvlan_main.c | 3 ++-
 drivers/net/macsec.c | 3 ++-
 drivers/net/macvlan.c| 3 ++-
 drivers/net/vxlan.c  | 3 ++-
 include/net/rtnetlink.h  | 3 ++-
 net/8021q/vlan_netlink.c | 7 ---
 net/bridge/br_netlink.c  | 5 +++--
 net/caif/chnl_net.c  | 3 ++-
 net/core/rtnetlink.c | 2 +-
 net/ipv4/ip_gre.c| 3 ++-
 net/ipv4/ip_vti.c| 3 ++-
 net/ipv4/ipip.c  | 3 ++-
 net/ipv6/ip6_gre.c   | 3 ++-
 net/ipv6/ip6_tunnel.c| 3 ++-
 net/ipv6/ip6_vti.c   | 3 ++-
 net/ipv6/sit.c   | 3 ++-
 20 files changed, 47 insertions(+), 28 deletions(-)

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_netlink.c 
b/drivers/infiniband/ulp/ipoib/ipoib_netlink.c
index 8b75f80da56c..3e44087935ae 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_netlink.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_netlink.c
@@ -64,8 +64,9 @@ static int ipoib_fill_info(struct sk_buff *skb, const struct 
net_device *dev)
return -EMSGSIZE;
 }
 
-static int ipoib_changelink(struct net_device *dev,
-   struct nlattr *tb[], struct nlattr *data[])
+static int ipoib_changelink(struct net_device *dev, struct nlattr *tb[],
+   struct nlattr *data[],
+   struct netlink_ext_ack *extack)
 {
u16 mode, umcast;
int ret = 0;
@@ -134,7 +135,7 @@ static int ipoib_new_child_link(struct net *src_net, struct 
net_device *dev,
   child_pkey, IPOIB_RTNL_CHILD);
 
if (!err && data)
-   err = ipoib_changelink(dev, tb, data);
+   err = ipoib_changelink(dev, tb, data, extack);
return err;
 }
 
diff --git a/drivers/net/bonding/bond_netlink.c 
b/drivers/net/bonding/bond_netlink.c
index f817fb8005ef..cb803c026f1f 100644
--- a/drivers/net/bonding/bond_netlink.c
+++ b/drivers/net/bonding/bond_netlink.c
@@ -156,8 +156,9 @@ static int bond_slave_changelink(struct net_device 
*bond_dev,
return 0;
 }
 
-static int bond_changelink(struct net_device *bond_dev,
-  struct nlattr *tb[], struct nlattr *data[])
+static int bond_changelink(struct net_device *bond_dev, struct nlattr *tb[],
+  struct nlattr *data[],
+  struct netlink_ext_ack *extack)
 {
struct bonding *bond = netdev_priv(bond_dev);
struct bond_opt_value newval;
@@ -443,7 +444,7 @@ static int bond_newlink(struct net *src_net, struct 
net_device *bond_dev,
 {
int err;
 
-   err = bond_changelink(bond_dev, tb, data);
+   err = bond_changelink(bond_dev, tb, data, extack);
if (err < 0)
return err;
 
diff --git a/drivers/net/caif/caif_hsi.c b/drivers/net/caif/caif_hsi.c
index ed4723a9031f..438966bf51c2 100644
--- a/drivers/net/caif/caif_hsi.c
+++ b/drivers/net/caif/caif_hsi.c
@@ -1352,7 +1352,8 @@ static void cfhsi_netlink_parms(struct nlattr *data[], 
struct cfhsi *cfhsi)
 }
 
 static int caif_hsi_changelink(struct net_device *dev, struct nlattr *tb[],
-   struct nlattr *data[])
+  struct nlattr *data[],
+  struct netlink_ext_ack *extack)
 {
cfhsi_netlink_parms(data, netdev_priv(dev));
netdev_state_change(dev);
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index 7f99e8a5dd09..6d8191f2ad32 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -880,8 +880,9 @@ static int can_validate(struct nlattr *tb[], struct nlattr 
*data[])
return 0;
 }
 
-static int can_changelink(struct net_device *dev,
- struct nlattr *tb[], struct nlattr *data[])
+static int can_changelink(struct net_device *dev, struct nlattr *tb[],
+ struct nlattr *data[],
+ struct netlink_ext_ack *extack)
 {
struct can_priv *priv = netdev_priv(dev);
int err;
diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c
index 7bda5f630ac9..e7d54072d7b3 100644
--- a/drivers/net/ipvlan/ipvlan_main.c
+++ b/drivers/net/ipvlan/ipvlan_main.c
@@ -455,7 +455,8 @@ static const struct ethtool_ops ipvlan_ethtool_ops = {
 };
 
 static int ipvlan_nl_changelink(struct net_device *dev,
-   struct nlattr *tb[], struct nlattr *data[])
+