1. 26 11月, 2016 15 次提交
  2. 25 11月, 2016 1 次提交
  3. 22 11月, 2016 2 次提交
  4. 17 11月, 2016 5 次提交
  5. 15 11月, 2016 1 次提交
    • I
      mlxsw: spectrum_router: Flush FIB tables during fini · ac571de9
      Ido Schimmel 提交于
      Since commit b45f64d1 ("mlxsw: spectrum_router: Use FIB notifications
      instead of switchdev calls") we reflect to the device the entire FIB
      table and not only FIBs that point to netdevs created by the driver.
      
      During module removal, FIBs of the second type are removed following
      NETDEV_UNREGISTER events sent. The other FIBs are still present in both
      the driver's cache and the device's table.
      
      Fix this by iterating over all the FIB tables in the device and flush
      them. There's no need to take locks, as we're the only writer.
      
      Fixes: b45f64d1 ("mlxsw: spectrum_router: Use FIB notifications instead of switchdev calls")
      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>
      ac571de9
  6. 14 11月, 2016 4 次提交
  7. 11 11月, 2016 2 次提交
    • J
      mlxsw: spectrum_router: Ignore FIB notification events for non-init namespaces · 0e3715c9
      Jiri Pirko 提交于
      Since now, the table with same id in multiple netnamespaces were squashed
      to a single virtual router. That is not only incorrect, it also causes
      error messages when trying to use RALUE register to do double remove
      of FIB entries, like this one:
      
      mlxsw_spectrum 0000:03:00.0: EMAD reg access failed (tid=facb831c00007b20,reg_id=8013(ralue),type=write,status=7(bad parameter))
      
      Since we don't allow ports to change namespaces (NETIF_F_NETNS_LOCAL),
      and the infrastructure is not yet prepared to handle netnamespaces, just
      ignore FIB notification events for non-init namespaces. That is clear to
      do since we don't need to offload them.
      
      Fixes: b45f64d1 ("mlxsw: spectrum_router: Use FIB notifications instead of switchdev calls")
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Acked-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0e3715c9
    • J
      mlxsw: spectrum_router: Fix handling of neighbour structure · 33b1341c
      Jiri Pirko 提交于
      __neigh_create function works in a different way than assumed.
      It passes "n" as a parameter to ndo_neigh_construct. But this "n" might
      be destroyed right away before __neigh_create() returns in case there is
      already another neighbour struct in the hashtable with the same dev and
      primary key. That is not expected by mlxsw_sp_router_neigh_construct()
      and the stored "n" points to freed memory, eventually leading to crash.
      
      Fix this by doing tight 1:1 coupling between neighbour struct and
      internal driver neigh_entry. That allows to narrow down the key in
      internal driver hashtable to do lookups by "n" only.
      
      Fixes: 6cf3c971 ("mlxsw: spectrum_router: Add private neigh table")
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Acked-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      33b1341c
  8. 06 11月, 2016 1 次提交
  9. 04 11月, 2016 1 次提交
  10. 01 11月, 2016 1 次提交
  11. 31 10月, 2016 7 次提交