mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 11:41:37 -04:00
net: dsa: propagate extack to port_lag_join
Drivers could refuse to offload a LAG configuration for a variety of reasons, mainly having to do with its TX type. Additionally, since DSA masters may now also be LAG interfaces, and this will translate into a call to port_lag_join on the CPU ports, there may be extra restrictions there. Propagate the netlink extack to this DSA method in order for drivers to give a meaningful error message back to the user. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
13eccc1bbb
commit
2e359b00a1
@@ -1094,7 +1094,8 @@ struct dsa_switch_ops {
|
||||
int port);
|
||||
int (*crosschip_lag_join)(struct dsa_switch *ds, int sw_index,
|
||||
int port, struct dsa_lag lag,
|
||||
struct netdev_lag_upper_info *info);
|
||||
struct netdev_lag_upper_info *info,
|
||||
struct netlink_ext_ack *extack);
|
||||
int (*crosschip_lag_leave)(struct dsa_switch *ds, int sw_index,
|
||||
int port, struct dsa_lag lag);
|
||||
|
||||
@@ -1169,7 +1170,8 @@ struct dsa_switch_ops {
|
||||
int (*port_lag_change)(struct dsa_switch *ds, int port);
|
||||
int (*port_lag_join)(struct dsa_switch *ds, int port,
|
||||
struct dsa_lag lag,
|
||||
struct netdev_lag_upper_info *info);
|
||||
struct netdev_lag_upper_info *info,
|
||||
struct netlink_ext_ack *extack);
|
||||
int (*port_lag_leave)(struct dsa_switch *ds, int port,
|
||||
struct dsa_lag lag);
|
||||
|
||||
|
||||
@@ -1229,7 +1229,8 @@ int ocelot_port_mdb_del(struct ocelot *ocelot, int port,
|
||||
const struct net_device *bridge);
|
||||
int ocelot_port_lag_join(struct ocelot *ocelot, int port,
|
||||
struct net_device *bond,
|
||||
struct netdev_lag_upper_info *info);
|
||||
struct netdev_lag_upper_info *info,
|
||||
struct netlink_ext_ack *extack);
|
||||
void ocelot_port_lag_leave(struct ocelot *ocelot, int port,
|
||||
struct net_device *bond);
|
||||
void ocelot_port_lag_change(struct ocelot *ocelot, int port, bool lag_tx_active);
|
||||
|
||||
Reference in New Issue
Block a user