1. Mar 31, 2020
  2. Mar 30, 2020
    • wenxu's avatar
      net/mlx5e: add mlx5e_rep_indr_setup_ft_cb support · 07c264ab
      wenxu authored
      
      
      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: default avatarwenxu <wenxu@ucloud.cn>
      Reviewed-by: default avatarVlad Buslov <vladbu@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      07c264ab
    • wenxu's avatar
      net/mlx5e: refactor indr setup block · 5a37a8df
      wenxu authored
      
      
      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: default avatarwenxu <wenxu@ucloud.cn>
      Reviewed-by: default avatarVlad Buslov <vladbu@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      5a37a8df
    • Saeed Mahameed's avatar
      net/mlx5: E-Switch: Move eswitch chains to a new directory · 49964352
      Saeed Mahameed authored
      
      
      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: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Reviewed-by: default avatarMark Bloch <markb@mellanox.com>
      Reviewed-by: default avatarRoi Dayan <roid@mellanox.com>
      49964352
    • Mark Zhang's avatar
      net/mlx5: Use a separate work queue for fib event handling · 6838a35a
      Mark Zhang authored
      
      
      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: default avatarMark Zhang <markz@mellanox.com>
      Reviewed-by: default avatarRoi Dayan <roid@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      6838a35a