1. 11 2月, 2017 1 次提交
  2. 09 2月, 2017 3 次提交
  3. 07 2月, 2017 1 次提交
    • I
      mlxsw: spectrum_router: Simplify neighbour reflection · 5c8802f1
      Ido Schimmel 提交于
      Up until now we had two interfaces for neighbour related configuration:
      ndo_neigh_{construct,destroy} and NEIGH_UPDATE netevents. The ndos were
      used to add and remove neighbours from the driver's cache, whereas the
      netevent was used to reflect the neighbours into the device's tables.
      
      However, if the NUD state of a neighbour isn't NUD_VALID or if the
      neighbour is dead, then there's really no reason for us to keep it
      inside our cache. The only exception to this rule are neighbours that
      are also used for nexthops, which we periodically refresh to get them
      resolved.
      
      We can therefore eliminate the ndo entry point into the driver and
      simplify the code, making it similar to the FIB reflection, which is
      based solely on events. This also helps us avoid a locking issue, in
      which the RIF cache was traversed without proper locking during
      insertion into the neigh entry cache.
      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>
      5c8802f1
  4. 04 2月, 2017 2 次提交
  5. 25 1月, 2017 1 次提交
  6. 01 11月, 2016 1 次提交
  7. 31 10月, 2016 1 次提交
  8. 24 10月, 2016 1 次提交
  9. 28 9月, 2016 1 次提交
  10. 21 9月, 2016 4 次提交
  11. 19 9月, 2016 1 次提交
  12. 14 9月, 2016 1 次提交
  13. 02 9月, 2016 1 次提交
  14. 25 8月, 2016 1 次提交
  15. 18 8月, 2016 1 次提交
  16. 25 7月, 2016 1 次提交
    • Y
      mlxsw: spectrum: Add support in matchall mirror TC offloading · 763b4b70
      Yotam Gigi 提交于
      This patch offloads port mirroring directives to hw using the matchall TC
      with action mirror. It includes both the implementation of the
      ndo_setup_tc function for the spectrum driver and the spectrum hardware
      offload configuration code.
      
      The hardware offload code is basically two new functions which are capable
      of adding and removing a new mirror ports pair. It is done using the MPAT,
      MPAR and SBIB registers:
       - A new Switch-Port Analyzer (SPAN) entry is added using MPAT to the 'to'
         port.
       - The 'to' port is bound to the SPAN entry using MPAR register.
       - In case of egress SPAN, the 'to' port gets a new internal shared
         buffer using SBIB register.
      
      In addition, a new database was added to the mlxsw_sp struct to store all
      the SPAN entries and their bound ports list. The number of supported SPAN
      entries is determined by resource query.
      Signed-off-by: NYotam Gigi <yotamg@mellanox.com>
      Reviewed-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      763b4b70
  17. 06 7月, 2016 7 次提交
  18. 05 7月, 2016 10 次提交
  19. 03 7月, 2016 1 次提交
    • I
      mlxsw: spectrum: Add router interface struct · fa3054f5
      Ido Schimmel 提交于
      When enabling the router in the device we will represent L3 netdevs
      using router interfaces (RIFs). These will be specified whenever
      programming routes or neighbours on the netdev.
      
      Introduce the basic RIF infrastructure which allows one to lookup a RIF
      by its netdev. Later patches in the series will extend this, but the
      basic routines are needed now in order to direct traffic to CPU.
      
      Pointers to the RIF structs are stored in an array indexed by the RIF's
      number. This will allow us to efficiently update the kernel's neighbour
      table when regularly dumping the device's table.
      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>
      fa3054f5