net: bridge: propagate extack through store_bridge_parm
The bridge sysfs interface stores parameters for the STP, VLAN, multicast etc subsystems using a predefined function prototype. Sometimes the underlying function being called supports a netlink extended ack message, and we ignore it. Let's expand the store_bridge_parm function prototype to include the extack, and just print it to console, but at least propagate it where applicable. Where not applicable, create a shim function in the br_sysfs_br.c file that discards the extra function argument. This patch allows us to propagate the extack argument to br_vlan_set_default_pvid, br_vlan_set_proto and br_vlan_filter_toggle, and from there, further up in br_changelink from br_netlink.c. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
7a572964e0
commit
9e781401cb
@@ -1085,13 +1085,16 @@ int br_vlan_delete(struct net_bridge *br, u16 vid);
|
||||
void br_vlan_flush(struct net_bridge *br);
|
||||
struct net_bridge_vlan *br_vlan_find(struct net_bridge_vlan_group *vg, u16 vid);
|
||||
void br_recalculate_fwd_mask(struct net_bridge *br);
|
||||
int br_vlan_filter_toggle(struct net_bridge *br, unsigned long val);
|
||||
int br_vlan_filter_toggle(struct net_bridge *br, unsigned long val,
|
||||
struct netlink_ext_ack *extack);
|
||||
int __br_vlan_set_proto(struct net_bridge *br, __be16 proto);
|
||||
int br_vlan_set_proto(struct net_bridge *br, unsigned long val);
|
||||
int br_vlan_set_proto(struct net_bridge *br, unsigned long val,
|
||||
struct netlink_ext_ack *extack);
|
||||
int br_vlan_set_stats(struct net_bridge *br, unsigned long val);
|
||||
int br_vlan_set_stats_per_port(struct net_bridge *br, unsigned long val);
|
||||
int br_vlan_init(struct net_bridge *br);
|
||||
int br_vlan_set_default_pvid(struct net_bridge *br, unsigned long val);
|
||||
int br_vlan_set_default_pvid(struct net_bridge *br, unsigned long val,
|
||||
struct netlink_ext_ack *extack);
|
||||
int __br_vlan_set_default_pvid(struct net_bridge *br, u16 pvid,
|
||||
struct netlink_ext_ack *extack);
|
||||
int nbp_vlan_add(struct net_bridge_port *port, u16 vid, u16 flags,
|
||||
|
||||
Reference in New Issue
Block a user