1. 27 6月, 2016 7 次提交
  2. 26 6月, 2016 14 次提交
  3. 25 6月, 2016 4 次提交
  4. 24 6月, 2016 6 次提交
  5. 23 6月, 2016 6 次提交
  6. 21 6月, 2016 3 次提交
    • I
      mlxsw: spectrum: Add debug prints · 22305378
      Ido Schimmel 提交于
      For debug purposes, it's useful to know the order in which the driver
      responds to changes in the topology of its upper devices.
      
      Add debug prints to signal these events.
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      22305378
    • I
      mlxsw: spectrum: Free resources upon vPort destruction · 1c800759
      Ido Schimmel 提交于
      There are situations in which a vPort is destroyed while still holding
      references to device's resources such as FIDs and FDB records. This can
      happen, for example, when a VLAN device is deleted while still being
      bridged.
      
      Instead of trying to make sure vPort destruction is invoked when it no
      longer uses device's resources, just free them upon destruction. This
      simplifies the code, as we no longer need to take different situations
      into account when events are received - cleanup is taken care of in one
      place.
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1c800759
    • I
      mlxsw: spectrum: Refactor FDB flushing logic · fe3f6d14
      Ido Schimmel 提交于
      FDB entries are learned using {Port / LAG ID, FID} and therefore should
      be flushed whenever a port (vPort) leaves its FID (vFID).
      
      However, when the bridge port is a LAG device (or a VLAN device on top),
      then FDB flushing is conditional. Ports removed from such LAG
      configurations must not trigger flushing, as other ports might still be
      members in the LAG and therefore the bridge port is still active.
      
      The decision whether to flush or not was previously computed in the
      netdevice notification block, but in order to flush the entries when a
      port leaves its FID this decision should be computed there.
      
      Strip the notification block from this logic and instead move it to one
      FDB flushing function that is invoked from both the FID / vFID leave
      functions.
      
      When port isn't member in LAG, FDB flushing should always occur.
      Otherwise, it should occur only when the last port (vPort) member in the
      LAG leaves the FID (vFID).
      
      This will allow us - in the next patch - to simplify the cleanup code
      paths that are hit whenever the topology above the port netdevs changes.
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fe3f6d14