OSDN Git Service

net/mlx5: Add flow-steering commands for FPGA IPSec implementation
authorAviad Yehezkel <aviadye@mellanox.com>
Sun, 18 Feb 2018 13:07:20 +0000 (15:07 +0200)
committerSaeed Mahameed <saeedm@mellanox.com>
Wed, 7 Mar 2018 23:54:35 +0000 (15:54 -0800)
commit05564d0ae075b7a73339eaa05296c3034e439c32
treeeb159a3339f936f8041ee075f7c37d7819c4e6a1
parentd6c4f0298cec8c4c88d33aca17c066995e92fe91
net/mlx5: Add flow-steering commands for FPGA IPSec implementation

In order to add a context to the FPGA, we need to get both the software
transform context (which includes the keys, etc) and the
source/destination IPs (which are included in the steering
rule). Therefore, we register new set of firmware like commands for
the FPGA. Each time a rule is added, the steering core infrastructure
calls the FPGA command layer. If the rule is intended for the FPGA,
it combines the IPs information with the software transformation
context and creates the respective hardware transform.
Afterwards, it calls the standard steering command layer.

Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/accel/ipsec.c
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.h
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
drivers/net/ethernet/mellanox/mlx5/core/main.c
include/linux/mlx5/accel.h
include/linux/mlx5/fs.h