summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>2016-02-26 13:16:00 -0500
committerDavid S. Miller <davem@davemloft.net>2016-03-01 16:24:51 -0500
commitfb2dabad69f099fb9c03a44276778911da50ba29 (patch)
tree07dd9149cfb77ba1cc114da5f104b618574ae64d /include
parent7f66ee41566d00f80ed15c0cec0b237f7af8ac0f (diff)
downloadlinux-fb2dabad69f099fb9c03a44276778911da50ba29.tar.gz
linux-fb2dabad69f099fb9c03a44276778911da50ba29.tar.bz2
linux-fb2dabad69f099fb9c03a44276778911da50ba29.zip
net: dsa: support VLAN filtering switchdev attr
When a user explicitly requests VLAN filtering with something like: # echo 1 > /sys/class/net/<bridge>/bridge/vlan_filtering Switchdev propagates a SWITCHDEV_ATTR_ID_BRIDGE_VLAN_FILTERING port attribute. Add support for it in the DSA layer with a new port_vlan_filtering function to let drivers toggle 802.1Q filtering on user demand. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/dsa.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h
index 3dd54867174a..26c0a3fa009a 100644
--- a/include/net/dsa.h
+++ b/include/net/dsa.h
@@ -305,6 +305,8 @@ struct dsa_switch_driver {
/*
* VLAN support
*/
+ int (*port_vlan_filtering)(struct dsa_switch *ds, int port,
+ bool vlan_filtering);
int (*port_vlan_prepare)(struct dsa_switch *ds, int port,
const struct switchdev_obj_port_vlan *vlan,
struct switchdev_trans *trans);