• Vladimir Oltean's avatar
    net: dsa: sja1105: manage the forwarding domain towards DSA ports · 3fa21270
    Vladimir Oltean authored
    Manage DSA links towards other switches, be they host ports or cascade
    ports, the same as the CPU port, i.e. allow forwarding and flooding
    unconditionally from all user ports.
    
    We send packets as always VLAN-tagged on a DSA port, and we rely on the
    cross-chip notifiers from tag_8021q to install the RX VLAN of a switch
    port only on the proper remote ports of another switch (the ports that
    are in the same bridging domain). So if there is no cross-chip bridging
    in the system, the flooded packets will be sent on the DSA ports too,
    but they will be dropped by the remote switches due to either
    (a) a lack of the RX VLAN in the VLAN table of the ingress DSA port, or
    (b) a lack of valid destinations for those packets, due to a lack of the
        RX VLAN on the user ports of the switch
    
    Note that switches which only transport packets in a cross-chip bridge,
    but have no user ports of their own as part of that bridge, such as
    switch 1 in this case:
    
                        DSA link                   DSA link
      sw0p0 sw0p1 sw0p2 -------- sw1p0 sw1p2 sw1p3 -------- sw2p0 sw2p2 sw2p3
    
    ip link set sw0p0 master br0
    ip link set sw2p3 master br0
    
    will still work, because the tag_8021q cross-chip notifiers keep the RX
    VLANs installed on all DSA ports.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3fa21270
sja1105_main.c 90.9 KB