Hi Dave and Doug, This series includes shared code updates for mlx5 core driver for both netdev and rdma subsystems. This series should be pulled to both trees so we can continue netdev and rdma specific submissions separately. For more information please see tag log below. The series doesn't cause any conflict with the latest mlx5 rc fixes. v1->v2: - Drop sparse fixes patch - Updated commit message of "net/mlx5: Add has_tag to mlx5_flow_act" - Add const to static mlx5_flow_cmd structs where needed. Thanks, Saeed. --- The following changes since commit ec9c2fb8ceb5b514c4820f732537cb2982de0620: IB/mlx5: Disable self loopback check when in switchdev mode (2018-02-23 12:36:39 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux.git tags/mlx5-updates-2018-02-28-1 for you to fetch changes up to e810bf5e96e327500cc6334f9d56c8047aaabcff: net/mlx5: Flow steering cmd interface should get the fte when deleting (2018-03-06 22:20:15 -0800) ---------------------------------------------------------------- mlx5-updates-2018-02-28-1 (IPSec-1) This series consists of some fixes and refactors for the mlx5 drivers, especially around the FPGA and flow steering. Most of them are trivial fixes and are the foundation of allowing IPSec acceleration from user-space. We use flow steering abstraction in order to accelerate IPSec packets. When a user creates a steering rule, [s]he states that we'll carry an encrypt/decrypt flow action (using a specific configuration) for every packet which conforms to a certain match. Since currently offloading these packets is done via FPGA, we'll add another set of flow steering ops. These ops will execute the required FPGA commands and then call the standard steering ops. In order to achieve this, we need that the commands will get all the required information. Therefore, we pass the fte object and embed the flow_action struct inside the fte. In addition, we add the shim layer that will later be used for alternating between the standard and the FPGA steering commands. Some fixes, like " net/mlx5e: Wait for FPGA command responses with a timeout" are very relevant for user-space applications, as these applications could be killed, but we still want to wait for the FPGA and update the kernel's database. Regards, Aviad and Matan ---------------------------------------------------------------- Aviad Yehezkel (7): IB/mlx5: Removed not used parameters net/mlx5: Fixed compilation issue when CONFIG_MLX5_ACCEL is disabled net/mlx5e: Wait for FPGA command responses with a timeout net/mlx5e: Fixed sleeping inside atomic context net/mlx5e: Removed not need synchronize_rcu net/mlx5: Add empty egress namespace to flow steering core net/mlx5: Flow steering cmd interface should get the fte when deleting Boris Pismenny (2): IB/mlx5: Pass mlx5_flow_act struct instead of multiple arguments {net,IB}/mlx5: Add flow steering helpers Matan Barak (4): net/mlx5: FPGA and IPSec initialization to be before flow steering {net,IB}/mlx5: Add has_tag to mlx5_flow_act net/mlx5: Add shim layer between fs and cmd net/mlx5: Embed mlx5_flow_act into fs_fte drivers/infiniband/hw/mlx5/main.c | 30 ++- drivers/infiniband/hw/mlx5/qp.c | 3 - .../net/ethernet/mellanox/mlx5/core/accel/ipsec.h | 4 +- .../mellanox/mlx5/core/diag/fs_tracepoint.c | 3 + .../mellanox/mlx5/core/diag/fs_tracepoint.h | 4 +- .../ethernet/mellanox/mlx5/core/en_accel/ipsec.c | 17 +- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 1 + .../net/ethernet/mellanox/mlx5/core/fpga/ipsec.c | 9 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 207 +++++++++++++++++---- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h | 72 +++---- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 136 +++++++++----- drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 8 +- drivers/net/ethernet/mellanox/mlx5/core/main.c | 39 ++-- include/linux/mlx5/fs.h | 2 + include/linux/mlx5/fs_helpers.h | 134 +++++++++++++ include/linux/mlx5/mlx5_ifc.h | 9 +- 16 files changed, 494 insertions(+), 184 deletions(-) create mode 100644 include/linux/mlx5/fs_helpers.h -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html