• Hauke Mehrtens's avatar
    net: dsa: lantiq: Add VLAN unaware bridge offloading · 8206e0ce
    Hauke Mehrtens authored
    This allows to offload bridges with DSA to the switch hardware and do
    the packet forwarding in hardware.
    
    This implements generic functions to access the switch hardware tables,
    which are used to control many features of the switch.
    
    This patch activates the MAC learning by removing the MAC address table
    lock, to prevent uncontrolled forwarding of packets between all the LAN
    ports, they are added into individual bridge tables entries with
    individual flow ids and the switch will do the MAC learning for each
    port separately before they are added to a real bridge.
    
    Each bridge consist of an entry in the active VLAN table and the VLAN
    mapping table, table entries with the same index are matching. In the
    VLAN unaware mode we configure everything with VLAN ID 0, but we use
    different flow IDs, the switch should handle all VLANs as normal payload
    and ignore them. When the hardware looks for the port of the destination
    MAC address it only takes the entries which have the same flow ID of the
    ingress packet.
    
    The bridges are configured with 64 possible entries with these
    information:
    Table Index, 0...63
    VLAN ID, 0...4095: VLAN ID 0 is untagged
    flow ID, 0..63: Same flow IDs share entries in MAC learning table
    port map, one bit for each port number
    tagged port map, one bit for each port number
    Signed-off-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8206e0ce
lantiq_gswip.c 46.1 KB