aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/broadcom/bnxt/bnxt.c2
-rw-r--r--drivers/net/ethernet/emulex/benet/be_main.c2
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_main.c4
-rw-r--r--drivers/net/ethernet/intel/ice/ice_main.c3
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c3
-rw-r--r--include/linux/netdevice.h5
-rw-r--r--net/bridge/br_netlink.c3
-rw-r--r--net/bridge/br_private.h3
-rw-r--r--net/core/rtnetlink.c6
9 files changed, 20 insertions, 11 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index f4f29939ba72..8a2e9cdd38ee 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -9618,7 +9618,7 @@ static int bnxt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
9618} 9618}
9619 9619
9620static int bnxt_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh, 9620static int bnxt_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
9621 u16 flags) 9621 u16 flags, struct netlink_ext_ack *extack)
9622{ 9622{
9623 struct bnxt *bp = netdev_priv(dev); 9623 struct bnxt *bp = netdev_priv(dev);
9624 struct nlattr *attr, *br_spec; 9624 struct nlattr *attr, *br_spec;
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 245abf0d19c0..852f5bfe5f6d 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -4955,7 +4955,7 @@ fw_exit:
4955} 4955}
4956 4956
4957static int be_ndo_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh, 4957static int be_ndo_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
4958 u16 flags) 4958 u16 flags, struct netlink_ext_ack *extack)
4959{ 4959{
4960 struct be_adapter *adapter = netdev_priv(dev); 4960 struct be_adapter *adapter = netdev_priv(dev);
4961 struct nlattr *attr, *br_spec; 4961 struct nlattr *attr, *br_spec;
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 6d5b13f69dec..fbb21ac06c98 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -11685,6 +11685,7 @@ static int i40e_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
11685 * @dev: the netdev being configured 11685 * @dev: the netdev being configured
11686 * @nlh: RTNL message 11686 * @nlh: RTNL message
11687 * @flags: bridge flags 11687 * @flags: bridge flags
11688 * @extack: netlink extended ack
11688 * 11689 *
11689 * Inserts a new hardware bridge if not already created and 11690 * Inserts a new hardware bridge if not already created and
11690 * enables the bridging mode requested (VEB or VEPA). If the 11691 * enables the bridging mode requested (VEB or VEPA). If the
@@ -11697,7 +11698,8 @@ static int i40e_ndo_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
11697 **/ 11698 **/
11698static int i40e_ndo_bridge_setlink(struct net_device *dev, 11699static int i40e_ndo_bridge_setlink(struct net_device *dev,
11699 struct nlmsghdr *nlh, 11700 struct nlmsghdr *nlh,
11700 u16 flags) 11701 u16 flags,
11702 struct netlink_ext_ack *extack)
11701{ 11703{
11702 struct i40e_netdev_priv *np = netdev_priv(dev); 11704 struct i40e_netdev_priv *np = netdev_priv(dev);
11703 struct i40e_vsi *vsi = np->vsi; 11705 struct i40e_vsi *vsi = np->vsi;
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index e45e57499d91..f9f0d470412b 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -3624,6 +3624,7 @@ static int ice_vsi_update_bridge_mode(struct ice_vsi *vsi, u16 bmode)
3624 * @dev: the netdev being configured 3624 * @dev: the netdev being configured
3625 * @nlh: RTNL message 3625 * @nlh: RTNL message
3626 * @flags: bridge setlink flags 3626 * @flags: bridge setlink flags
3627 * @extack: netlink extended ack
3627 * 3628 *
3628 * Sets the bridge mode (VEB/VEPA) of the switch to which the netdev (VSI) is 3629 * Sets the bridge mode (VEB/VEPA) of the switch to which the netdev (VSI) is
3629 * hooked up to. Iterates through the PF VSI list and sets the loopback mode (if 3630 * hooked up to. Iterates through the PF VSI list and sets the loopback mode (if
@@ -3632,7 +3633,7 @@ static int ice_vsi_update_bridge_mode(struct ice_vsi *vsi, u16 bmode)
3632 */ 3633 */
3633static int 3634static int
3634ice_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh, 3635ice_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
3635 u16 __always_unused flags) 3636 u16 __always_unused flags, struct netlink_ext_ack *extack)
3636{ 3637{
3637 struct ice_netdev_priv *np = netdev_priv(dev); 3638 struct ice_netdev_priv *np = netdev_priv(dev);
3638 struct ice_pf *pf = np->vsi->back; 3639 struct ice_pf *pf = np->vsi->back;
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 49a4ea38eb07..f1e40734c975 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -9979,7 +9979,8 @@ static int ixgbe_configure_bridge_mode(struct ixgbe_adapter *adapter,
9979} 9979}
9980 9980
9981static int ixgbe_ndo_bridge_setlink(struct net_device *dev, 9981static int ixgbe_ndo_bridge_setlink(struct net_device *dev,
9982 struct nlmsghdr *nlh, u16 flags) 9982 struct nlmsghdr *nlh, u16 flags,
9983 struct netlink_ext_ack *extack)
9983{ 9984{
9984 struct ixgbe_adapter *adapter = netdev_priv(dev); 9985 struct ixgbe_adapter *adapter = netdev_priv(dev);
9985 struct nlattr *attr, *br_spec; 9986 struct nlattr *attr, *br_spec;
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index fc6ba71513be..36ca5f50f822 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1165,7 +1165,7 @@ struct dev_ifalias {
1165 * entries to skb and update idx with the number of entries. 1165 * entries to skb and update idx with the number of entries.
1166 * 1166 *
1167 * int (*ndo_bridge_setlink)(struct net_device *dev, struct nlmsghdr *nlh, 1167 * int (*ndo_bridge_setlink)(struct net_device *dev, struct nlmsghdr *nlh,
1168 * u16 flags) 1168 * u16 flags, struct netlink_ext_ack *extack)
1169 * int (*ndo_bridge_getlink)(struct sk_buff *skb, u32 pid, u32 seq, 1169 * int (*ndo_bridge_getlink)(struct sk_buff *skb, u32 pid, u32 seq,
1170 * struct net_device *dev, u32 filter_mask, 1170 * struct net_device *dev, u32 filter_mask,
1171 * int nlflags) 1171 * int nlflags)
@@ -1390,7 +1390,8 @@ struct net_device_ops {
1390 1390
1391 int (*ndo_bridge_setlink)(struct net_device *dev, 1391 int (*ndo_bridge_setlink)(struct net_device *dev,
1392 struct nlmsghdr *nlh, 1392 struct nlmsghdr *nlh,
1393 u16 flags); 1393 u16 flags,
1394 struct netlink_ext_ack *extack);
1394 int (*ndo_bridge_getlink)(struct sk_buff *skb, 1395 int (*ndo_bridge_getlink)(struct sk_buff *skb,
1395 u32 pid, u32 seq, 1396 u32 pid, u32 seq,
1396 struct net_device *dev, 1397 struct net_device *dev,
diff --git a/net/bridge/br_netlink.c b/net/bridge/br_netlink.c
index ff2c10d47529..f9be70b26091 100644
--- a/net/bridge/br_netlink.c
+++ b/net/bridge/br_netlink.c
@@ -850,7 +850,8 @@ static int br_setport(struct net_bridge_port *p, struct nlattr *tb[])
850} 850}
851 851
852/* Change state and parameters on port. */ 852/* Change state and parameters on port. */
853int br_setlink(struct net_device *dev, struct nlmsghdr *nlh, u16 flags) 853int br_setlink(struct net_device *dev, struct nlmsghdr *nlh, u16 flags,
854 struct netlink_ext_ack *extack)
854{ 855{
855 struct net_bridge *br = (struct net_bridge *)netdev_priv(dev); 856 struct net_bridge *br = (struct net_bridge *)netdev_priv(dev);
856 struct nlattr *tb[IFLA_BRPORT_MAX + 1]; 857 struct nlattr *tb[IFLA_BRPORT_MAX + 1];
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 5719b4d3e466..090dfacdc438 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -1138,7 +1138,8 @@ int br_netlink_init(void);
1138void br_netlink_fini(void); 1138void br_netlink_fini(void);
1139void br_ifinfo_notify(int event, const struct net_bridge *br, 1139void br_ifinfo_notify(int event, const struct net_bridge *br,
1140 const struct net_bridge_port *port); 1140 const struct net_bridge_port *port);
1141int br_setlink(struct net_device *dev, struct nlmsghdr *nlmsg, u16 flags); 1141int br_setlink(struct net_device *dev, struct nlmsghdr *nlmsg, u16 flags,
1142 struct netlink_ext_ack *extack);
1142int br_dellink(struct net_device *dev, struct nlmsghdr *nlmsg, u16 flags); 1143int br_dellink(struct net_device *dev, struct nlmsghdr *nlmsg, u16 flags);
1143int br_getlink(struct sk_buff *skb, u32 pid, u32 seq, struct net_device *dev, 1144int br_getlink(struct sk_buff *skb, u32 pid, u32 seq, struct net_device *dev,
1144 u32 filter_mask, int nlflags); 1145 u32 filter_mask, int nlflags);
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index c9c0407a7ee0..3b6e551f9e69 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -4332,7 +4332,8 @@ static int rtnl_bridge_setlink(struct sk_buff *skb, struct nlmsghdr *nlh,
4332 goto out; 4332 goto out;
4333 } 4333 }
4334 4334
4335 err = br_dev->netdev_ops->ndo_bridge_setlink(dev, nlh, flags); 4335 err = br_dev->netdev_ops->ndo_bridge_setlink(dev, nlh, flags,
4336 extack);
4336 if (err) 4337 if (err)
4337 goto out; 4338 goto out;
4338 4339
@@ -4344,7 +4345,8 @@ static int rtnl_bridge_setlink(struct sk_buff *skb, struct nlmsghdr *nlh,
4344 err = -EOPNOTSUPP; 4345 err = -EOPNOTSUPP;
4345 else 4346 else
4346 err = dev->netdev_ops->ndo_bridge_setlink(dev, nlh, 4347 err = dev->netdev_ops->ndo_bridge_setlink(dev, nlh,
4347 flags); 4348 flags,
4349 extack);
4348 if (!err) { 4350 if (!err) {
4349 flags &= ~BRIDGE_FLAGS_SELF; 4351 flags &= ~BRIDGE_FLAGS_SELF;
4350 4352