1. 31 3月, 2020 7 次提交
  2. 30 3月, 2020 5 次提交
    • W
      net/mlx5e: add mlx5e_rep_indr_setup_ft_cb support · 07c264ab
      wenxu 提交于
      Add mlx5e_rep_indr_setup_ft_cb to support indr block setup
      in FT mode.
      Both tc rules and flow table rules are of the same format,
      It can re-use tc parsing for that, and move the flow table rules
      to their steering domain(the specific chain_index), the indr
      block offload in FT also follow this scenario.
      Signed-off-by: Nwenxu <wenxu@ucloud.cn>
      Reviewed-by: NVlad Buslov <vladbu@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      07c264ab
    • W
      net/mlx5e: refactor indr setup block · 5a37a8df
      wenxu 提交于
      Refactor indr setup block for support ft indr setup in the
      next patch. The function mlx5e_rep_indr_offload exposes
      'flags' in order set additional flag for FT in next patch.
      Rename mlx5e_rep_indr_setup_tc_block to mlx5e_rep_indr_setup_block
      and add flow_setup_cb_t callback parameters in order set the
      specific callback for FT in next patch.
      Signed-off-by: Nwenxu <wenxu@ucloud.cn>
      Reviewed-by: NVlad Buslov <vladbu@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      5a37a8df
    • S
      net/mlx5: E-Switch: Move eswitch chains to a new directory · 49964352
      Saeed Mahameed 提交于
      eswitch_offloads_chains.{c,h} were just introduced this kernel release
      cycle, eswitch is in high development demand right now and many
      features are planned to be added to it. eswitch deserves its own
      directory and here we move these new files to there, in preparation for
      upcoming eswitch features and new files.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Reviewed-by: NMark Bloch <markb@mellanox.com>
      Reviewed-by: NRoi Dayan <roid@mellanox.com>
      49964352
    • M
      net/mlx5: Use a separate work queue for fib event handling · 6838a35a
      Mark Zhang 提交于
      In VF lag mode when remove the bonding module without bring down the
      bond device first, we could potentially have circular dependency when we
      unload IB devices and also handle fib events:
      1. The bond work starts first;
      2. The "modprobe -rv bonding" process tries to release the bond device,
         with the "pernet_ops_rwsem" lock hold;
      3. The bond work blocks in unregister_netdevice_notifier() and waits for
      the lock because fib event came right before;
      4. The kernel fib module tries to free all the fib entries by broadcasting
         the "FIB_EVENT_NH_DEL" event;
      5. Upon the fib event this lag_mp module holds the fib lock and queue a
         fib work.
      So:
         bond work -> modprobe task -> kernel fib module -> lag_mp -> bond work
      
      Today we either reload IB devices in roce lag in nic mode or either handle
      fib events in switchdev mode, but a new feature could change that we'll
      need to reload IB devices also in switchdev mode so this is a future proof
      fix as one may not notice this later.
      Signed-off-by: NMark Zhang <markz@mellanox.com>
      Reviewed-by: NRoi Dayan <roid@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      6838a35a
    • J
      mlx4: fix "initializer element not constant" compiler error · 41b14502
      Jacob Keller 提交于
      A recent commit e8937681 ("devlink: prepare to support region
      operations") used the region_cr_space_str and region_fw_health_str
      variables as initializers for the devlink_region_ops structures.
      
      This can result in compiler errors:
      drivers/net/ethernet/mellanox//mlx4/crdump.c:45:10: error: initializer
      element is not constant
         .name = region_cr_space_str,
                 ^
      drivers/net/ethernet/mellanox//mlx4/crdump.c:45:10: note: (near
      initialization for ‘region_cr_space_ops.name’)
      drivers/net/ethernet/mellanox//mlx4/crdump.c:50:10: error: initializer
      element is not constant
         .name = region_fw_health_str,
      
      The variables were made to be "const char * const", indicating that both
      the pointer and data were constant. This was enough to resolve this on
      recent GCC (gcc (GCC) 9.2.1 20190827 (Red Hat 9.2.1-1) for this author).
      
      Unfortunately this is not enough for older compilers to realize that the
      variable can be treated as a constant expression.
      
      Fix this by introducing macros for the string and use those instead of
      the variable name in the region ops structures.
      Reported-by: Ntanhuazhong <tanhuazhong@huawei.com>
      Fixes: e8937681 ("devlink: prepare to support region operations")
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Reviewed-by: NLeon Romanovsky <leonro@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      41b14502
  3. 28 3月, 2020 6 次提交
  4. 27 3月, 2020 8 次提交
  5. 26 3月, 2020 14 次提交