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

Commit add511b3 authored by Roopa Prabhu's avatar Roopa Prabhu Committed by David S. Miller
Browse files

bridge: add flags argument to ndo_bridge_setlink and ndo_bridge_dellink



bridge flags are needed inside ndo_bridge_setlink/dellink handlers to
avoid another call to parse IFLA_AF_SPEC inside these handlers

This is used later in this series

Signed-off-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent aafb3e98
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -4327,7 +4327,8 @@ fw_exit:
	return status;
}

static int be_ndo_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh)
static int be_ndo_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
				 u16 flags)
{
	struct be_adapter *adapter = netdev_priv(dev);
	struct nlattr *attr, *br_spec;
+1 −1
Original line number Diff line number Diff line
@@ -7786,7 +7786,7 @@ static int ixgbe_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
}

static int ixgbe_ndo_bridge_setlink(struct net_device *dev,
				    struct nlmsghdr *nlh)
				    struct nlmsghdr *nlh, u16 flags)
{
	struct ixgbe_adapter *adapter = netdev_priv(dev);
	struct nlattr *attr, *br_spec;
+1 −1
Original line number Diff line number Diff line
@@ -3722,7 +3722,7 @@ skip:
}

static int rocker_port_bridge_setlink(struct net_device *dev,
				      struct nlmsghdr *nlh)
				      struct nlmsghdr *nlh, u16 flags)
{
	struct rocker_port *rocker_port = netdev_priv(dev);
	struct nlattr *protinfo;
+4 −2
Original line number Diff line number Diff line
@@ -1154,13 +1154,15 @@ struct net_device_ops {
						int idx);

	int			(*ndo_bridge_setlink)(struct net_device *dev,
						      struct nlmsghdr *nlh);
						      struct nlmsghdr *nlh,
						      u16 flags);
	int			(*ndo_bridge_getlink)(struct sk_buff *skb,
						      u32 pid, u32 seq,
						      struct net_device *dev,
						      u32 filter_mask);
	int			(*ndo_bridge_dellink)(struct net_device *dev,
						      struct nlmsghdr *nlh);
						      struct nlmsghdr *nlh,
						      u16 flags);
	int			(*ndo_change_carrier)(struct net_device *dev,
						      bool new_carrier);
	int			(*ndo_get_phys_port_id)(struct net_device *dev,
+2 −2
Original line number Diff line number Diff line
@@ -494,7 +494,7 @@ static int br_setport(struct net_bridge_port *p, struct nlattr *tb[])
}

/* Change state and parameters on port. */
int br_setlink(struct net_device *dev, struct nlmsghdr *nlh)
int br_setlink(struct net_device *dev, struct nlmsghdr *nlh, u16 flags)
{
	struct nlattr *protinfo;
	struct nlattr *afspec;
@@ -550,7 +550,7 @@ out:
}

/* Delete port information */
int br_dellink(struct net_device *dev, struct nlmsghdr *nlh)
int br_dellink(struct net_device *dev, struct nlmsghdr *nlh, u16 flags)
{
	struct nlattr *afspec;
	struct net_bridge_port *p;
Loading