Skip to content
  • Florian Fainelli's avatar
    net: dsa: bcm_sf2: add HW bridging support · 12f460f2
    Florian Fainelli authored
    
    
    Implement the bridge join, leave and set_stp callbacks by making that
    we do the following:
    
    - when a port joins the bridge, all existing ports in the bridge get
      their VLAN control register updated with that joining port
    - the joining port is including all existing bridge ports in its own
      VLAN control register
    
    The leave operation is fairly similar, special care must be taken to
    make sure that port leaving the bridging is not removing itself from its
    own VLAN control register.
    
    Since the various BR_* states apply directly to our HW semantics, we
    just need to translate these constants into their corresponding HW
    settings, and voila!
    
    We make sure to trigger a fast-ageing process for ports that are
    joining/leaving the bridge and transition from incompatible states, this
    is equivalent to triggering an ARL flush for that port.
    
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    12f460f2