• Florian Fainelli's avatar
    net: dsa: Utilize __vlan_find_dev_deep_rcu() · 3a68844d
    Florian Fainelli authored
    Now that we are guaranteed that dsa_untag_bridge_pvid() is called after
    eth_type_trans() we can utilize __vlan_find_dev_deep_rcu() which will
    take care of finding an 802.1Q upper on top of a bridge master.
    
    A common use case, prior to 12a1526d067 ("net: dsa: untag the bridge
    pvid from rx skbs") was to configure a bridge 802.1Q upper like this:
    
    ip link add name br0 type bridge vlan_filtering 0
    ip link add link br0 name br0.1 type vlan id 1
    
    in order to pop the default_pvid VLAN tag.
    
    With this change we restore that behavior while still allowing the DSA
    receive path to automatically pop the VLAN tag.
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Reviewed-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3a68844d
dsa_priv.h 7.51 KB