1. 27 11月, 2020 2 次提交
  2. 13 10月, 2020 1 次提交
  3. 17 7月, 2020 1 次提交
  4. 13 5月, 2020 1 次提交
  5. 28 3月, 2020 1 次提交
  6. 28 2月, 2020 1 次提交
  7. 17 1月, 2020 4 次提交
  8. 14 11月, 2019 1 次提交
    • P
      net/mlx5: Add new chain for netfilter flow table offload · 975b992f
      Paul Blakey 提交于
      Netfilter tables (nftables) implements a software datapath that
      comes after tc ingress datapath. The datapath supports offloading
      such rules via the flow table offload API.
      
      This API is currently only used by NFT and it doesn't provide the
      global priority in regards to tc offload, so we assume offloading such
      rules must come after tc. It does provide a flow table priority
      parameter, so we need to provide some supported priority range.
      
      For that, split fastpath prio to two, flow table offload and tc offload,
      with one dedicated priority chain for flow table offload.
      
      Next patch will re-use the multi chain API to access this chain by
      allowing access to this chain by the fdb_sub_namespace.
      Signed-off-by: NPaul Blakey <paulb@mellanox.com>
      Reviewed-by: NMark Bloch <markb@mellanox.com>
      Acked-by: NPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      975b992f
  9. 04 9月, 2019 1 次提交
  10. 21 8月, 2019 1 次提交
  11. 10 8月, 2019 2 次提交
    • V
      net/mlx5e: Protect mod_hdr hash table with mutex · d2faae25
      Vlad Buslov 提交于
      To remove dependency on rtnl lock, protect mod_hdr hash table from
      concurrent modifications with new mutex.
      
      Implement helper function to get flow namespace to prevent code
      duplication.
      Signed-off-by: NVlad Buslov <vladbu@mellanox.com>
      Reviewed-by: NRoi Dayan <roid@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      d2faae25
    • V
      net/mlx5e: Extend mod header entry with reference counter · dd58edc3
      Vlad Buslov 提交于
      List of flows attached to mod header entry is used as implicit reference
      counter (mod header entry is deallocated when list becomes free) and as a
      mechanism to obtain mod header entry that flow is attached to (through list
      head). This is not safe when concurrent modification of list of flows
      attached to mod header entry is possible. Proper atomic reference counter
      is required to support concurrent access.
      
      As a preparation for extending mod header with reference counting, extract
      code that lookups and deletes mod header entry into standalone put/get
      helpers. In order to remove this dependency on external locking, extend mod
      header entry with reference counter to manage its lifetime and extend flow
      structure with direct pointer to mod header entry that flow is attached to.
      
      To remove code duplication between legacy and switchdev mode
      implementations that both support mod_hdr functionality, store mod_hdr
      table in dedicated structure used by both fdb and kernel namespaces. New
      table structure is extended with table lock by one of the following patches
      in this series. Implement helper function to get correct mod_hdr table
      depending on flow namespace.
      Signed-off-by: NVlad Buslov <vladbu@mellanox.com>
      Reviewed-by: NJianbo Liu <jianbol@mellanox.com>
      Reviewed-by: NRoi Dayan <roid@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      dd58edc3
  12. 26 7月, 2019 1 次提交
    • A
      net/mlx5e: Prevent encap flow counter update async to user query · 90bb7692
      Ariel Levkovich 提交于
      This patch prevents a race between user invoked cached counters
      query and a neighbor last usage updater.
      
      The cached flow counter stats can be queried by calling
      "mlx5_fc_query_cached" which provides the number of bytes and
      packets that passed via this flow since the last time this counter
      was queried.
      It does so by reducting the last saved stats from the current, cached
      stats and then updating the last saved stats with the cached stats.
      It also provide the lastuse value for that flow.
      
      Since "mlx5e_tc_update_neigh_used_value" needs to retrieve the
      last usage time of encapsulation flows, it calls the flow counter
      query method periodically and async to user queries of the flow counter
      using cls_flower.
      This call is causing the driver to update the last reported bytes and
      packets from the cache and therefore, future user queries of the flow
      stats will return lower than expected number for bytes and packets
      since the last saved stats in the driver was updated async to the last
      saved stats in cls_flower.
      
      This causes wrong stats presentation of encapsulation flows to user.
      
      Since the neighbor usage updater only needs the lastuse stats from the
      cached counter, the fix is to use a dedicated lastuse query call that
      returns the lastuse value without synching between the cached stats and
      the last saved stats.
      
      Fixes: f6dfb4c3 ("net/mlx5e: Update neighbour 'used' state using HW flow rules counters")
      Signed-off-by: NAriel Levkovich <lariel@mellanox.com>
      Reviewed-by: NRoi Dayan <roid@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      90bb7692
  13. 29 6月, 2019 1 次提交
    • A
      net/mlx5e: reduce stack usage in mlx5_eswitch_termtbl_create · 5233794b
      Arnd Bergmann 提交于
      Putting an empty 'mlx5_flow_spec' structure on the stack is a bit
      wasteful and causes a warning on 32-bit architectures when building
      with clang -fsanitize-coverage:
      
      drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c: In function 'mlx5_eswitch_termtbl_create':
      drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c:90:1: error: the frame size of 1032 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
      
      Since the structure is never written to, we can statically allocate
      it to avoid the stack usage. To be on the safe side, mark all
      subsequent function arguments that we pass it into as 'const'
      as well.
      
      Fixes: 10caabda ("net/mlx5e: Use termination table for VLAN push actions")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NSaeed Mahameed <saeedm@mellanox.com>
      Acked-by: NMark Bloch <markb@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      5233794b
  14. 27 6月, 2019 2 次提交
  15. 01 6月, 2019 1 次提交
  16. 30 4月, 2019 1 次提交
  17. 10 4月, 2019 2 次提交
  18. 11 12月, 2018 2 次提交
  19. 18 10月, 2018 4 次提交
  20. 05 9月, 2018 4 次提交
  21. 14 8月, 2018 1 次提交
  22. 24 7月, 2018 1 次提交
  23. 19 7月, 2018 1 次提交
  24. 02 6月, 2018 2 次提交
  25. 18 5月, 2018 1 次提交