net: dsa: Call dsa_untag_bridge_pvid() from dsa_switch_rcv()
When a DSA switch driver needs to call dsa_untag_bridge_pvid(), it can set dsa_switch::untag_brige_pvid to indicate this is necessary. This is a pre-requisite to making sure that we are always calling dsa_untag_bridge_pvid() after eth_type_trans() has been called. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
c16bcd70a1
commit
1dc0408cdf
@ -308,6 +308,14 @@ struct dsa_switch {
|
||||
*/
|
||||
bool configure_vlan_while_not_filtering;
|
||||
|
||||
/* If the switch driver always programs the CPU port as egress tagged
|
||||
* despite the VLAN configuration indicating otherwise, then setting
|
||||
* @untag_bridge_pvid will force the DSA receive path to pop the bridge's
|
||||
* default_pvid VLAN tagged frames to offer a consistent behavior
|
||||
* between a vlan_filtering=0 and vlan_filtering=1 bridge device.
|
||||
*/
|
||||
bool untag_bridge_pvid;
|
||||
|
||||
/* In case vlan_filtering_is_global is set, the VLAN awareness state
|
||||
* should be retrieved from here and not from the per-port settings.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user