Commit c94ef13b authored by Saeed Mahameed's avatar Saeed Mahameed
Browse files


1) New generic devlink param "enable_roce", for downstream devlink
   reload support

2) Do vport ACL configuration on per vport basis when
   enabling/disabling a vport. This enables to have vports enabled/disabled
   outside of eswitch config for future

3) Split the code for legacy vs offloads mode and make it clear

4) Tide up vport locking and workqueue usage

5) Fix metadata enablement for ECPF

6) Make explicit use of VF property to publish IB_DEVICE_VIRTUAL_FUNCTION

7) E-Switch and flow steering core low level support and refactoring for
   netfilter flowtables offload

Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
parents 75a1ccfe 975b992f
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -154,6 +154,27 @@ User command examples:
      values:
         cmode runtime value smfs

enable_roce: RoCE enablement state
----------------------------------
RoCE enablement state controls driver support for RoCE traffic.
When RoCE is disabled, there is no gid table, only raw ethernet QPs are supported and traffic on the well known UDP RoCE port is handled as raw ethernet traffic.

To change RoCE enablement state a user must change the driverinit cmode value and run devlink reload.

User command examples:

- Disable RoCE::

    $ devlink dev param set pci/0000:06:00.0 name enable_roce value false cmode driverinit
    $ devlink dev reload pci/0000:06:00.0

- Read RoCE enablement state::

    $ devlink dev param show pci/0000:06:00.0 name enable_roce
      pci/0000:06:00.0:
      name enable_roce type generic
      values:
         cmode driverinit value true

Devlink health reporters
========================
+17 −0
Original line number Diff line number Diff line
flow_steering_mode	[DEVICE, DRIVER-SPECIFIC]
			Controls the flow steering mode of the driver.
			Two modes are supported:
			1. 'dmfs' - Device managed flow steering.
			2. 'smfs  - Software/Driver managed flow steering.
			In DMFS mode, the HW steering entities are created and
			managed through the Firmware.
			In SMFS mode, the HW steering entities are created and
			managed though by the driver directly into Hardware
			without firmware intervention.
			Type: String
			Configuration mode: runtime

enable_roce		[DEVICE, GENERIC]
			Enable handling of RoCE traffic in the device.
			Defaultly enabled.
			Configuration mode: driverinit
+4 −0
Original line number Diff line number Diff line
@@ -65,3 +65,7 @@ reset_dev_on_drv_probe [DEVICE, GENERIC]
			  Reset only if device firmware can be found in the
			  filesystem.
			Type: u8

enable_roce		[DEVICE, GENERIC]
			Enable handling of RoCE traffic in the device.
			Type: Boolean
+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ mlx5_ib_vport_rep_load(struct mlx5_core_dev *dev, struct mlx5_eswitch_rep *rep)
	int vport_index;

	if (rep->vport == MLX5_VPORT_UPLINK)
		profile = &uplink_rep_profile;
		profile = &raw_eth_profile;
	else
		return mlx5_ib_set_vport_rep(dev, rep);

+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@
#include "mlx5_ib.h"

#ifdef CONFIG_MLX5_ESWITCH
extern const struct mlx5_ib_profile uplink_rep_profile;
extern const struct mlx5_ib_profile raw_eth_profile;

u8 mlx5_ib_eswitch_mode(struct mlx5_eswitch *esw);
struct mlx5_ib_dev *mlx5_ib_get_rep_ibdev(struct mlx5_eswitch *esw,
Loading