|
@@ -2991,7 +2991,7 @@ static int rtnl_bridge_setlink(struct sk_buff *skb, struct nlmsghdr *nlh)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
- err = br_dev->netdev_ops->ndo_bridge_setlink(dev, nlh);
|
|
|
|
|
|
+ err = br_dev->netdev_ops->ndo_bridge_setlink(dev, nlh, flags);
|
|
if (err)
|
|
if (err)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
@@ -3002,7 +3002,8 @@ static int rtnl_bridge_setlink(struct sk_buff *skb, struct nlmsghdr *nlh)
|
|
if (!dev->netdev_ops->ndo_bridge_setlink)
|
|
if (!dev->netdev_ops->ndo_bridge_setlink)
|
|
err = -EOPNOTSUPP;
|
|
err = -EOPNOTSUPP;
|
|
else
|
|
else
|
|
- err = dev->netdev_ops->ndo_bridge_setlink(dev, nlh);
|
|
|
|
|
|
+ err = dev->netdev_ops->ndo_bridge_setlink(dev, nlh,
|
|
|
|
+ flags);
|
|
if (!err) {
|
|
if (!err) {
|
|
flags &= ~BRIDGE_FLAGS_SELF;
|
|
flags &= ~BRIDGE_FLAGS_SELF;
|
|
|
|
|
|
@@ -3064,7 +3065,7 @@ static int rtnl_bridge_dellink(struct sk_buff *skb, struct nlmsghdr *nlh)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
- err = br_dev->netdev_ops->ndo_bridge_dellink(dev, nlh);
|
|
|
|
|
|
+ err = br_dev->netdev_ops->ndo_bridge_dellink(dev, nlh, flags);
|
|
if (err)
|
|
if (err)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
@@ -3075,7 +3076,8 @@ static int rtnl_bridge_dellink(struct sk_buff *skb, struct nlmsghdr *nlh)
|
|
if (!dev->netdev_ops->ndo_bridge_dellink)
|
|
if (!dev->netdev_ops->ndo_bridge_dellink)
|
|
err = -EOPNOTSUPP;
|
|
err = -EOPNOTSUPP;
|
|
else
|
|
else
|
|
- err = dev->netdev_ops->ndo_bridge_dellink(dev, nlh);
|
|
|
|
|
|
+ err = dev->netdev_ops->ndo_bridge_dellink(dev, nlh,
|
|
|
|
+ flags);
|
|
|
|
|
|
if (!err) {
|
|
if (!err) {
|
|
flags &= ~BRIDGE_FLAGS_SELF;
|
|
flags &= ~BRIDGE_FLAGS_SELF;
|