Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad744b22 authored by Matthias Schiffer's avatar Matthias Schiffer Committed by David S. Miller
Browse files

net: add netlink_ext_ack argument to rtnl_link_ops.changelink



Add support for extended error reporting.

Signed-off-by: default avatarMatthias Schiffer <mschiffer@universe-factory.net>
Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7a3f4a18
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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;
}

+4 −3
Original line number Diff line number Diff line
@@ -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;

+2 −1
Original line number Diff line number Diff line
@@ -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);
+3 −2
Original line number Diff line number Diff line
@@ -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;
+2 −1
Original line number Diff line number Diff line
@@ -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[])
				struct nlattr *tb[], struct nlattr *data[],
				struct netlink_ext_ack *extack)
{
	struct ipvl_dev *ipvlan = netdev_priv(dev);
	struct ipvl_port *port = ipvlan_port_get_rtnl(ipvlan->phy_dev);
Loading