• Vladimir Oltean's avatar
    net: dsa: tag_8021q: merge RX and TX VLANs · 04b67e18
    Vladimir Oltean authored
    In the old Shared VLAN Learning mode of operation that tag_8021q
    previously used for forwarding, we needed to have distinct concepts for
    an RX and a TX VLAN.
    
    An RX VLAN could be installed on all ports that were members of a given
    bridge, so that autonomous forwarding could still work, while a TX VLAN
    was dedicated for precise packet steering, so it just contained the CPU
    port and one egress port.
    
    Now that tag_8021q uses Independent VLAN Learning and imprecise RX/TX
    all over, those lines have been blurred and we no longer have the need
    to do precise TX towards a port that is in a bridge. As for standalone
    ports, it is fine to use the same VLAN ID for both RX and TX.
    
    This patch changes the tag_8021q format by shifting the VLAN range it
    reserves, and halving it. Previously, our DIR bits were encoding the
    VLAN direction (RX/TX) and were set to either 1 or 2. This meant that
    tag_8021q reserved 2K VLANs, or 50% of the available range.
    
    Change the DIR bits to a hardc...
    04b67e18
felix.c 44.9 KB