summaryrefslogtreecommitdiffstats
path: root/include/linux/mlx5/driver.h
diff options
context:
space:
mode:
authorMaor Gottlieb2019-04-29 20:14:16 +0200
committerSaeed Mahameed2019-04-30 01:55:32 +0200
commit80f09dfc237f181e92968a72d97b7a4202baa453 (patch)
tree73b695aa819dab88e035c8f22b23d4e6b8ca24a7 /include/linux/mlx5/driver.h
parentnet/mlx5: Add new miss flow table action (diff)
downloadkernel-qcow2-linux-80f09dfc237f181e92968a72d97b7a4202baa453.tar.gz
kernel-qcow2-linux-80f09dfc237f181e92968a72d97b7a4202baa453.tar.xz
kernel-qcow2-linux-80f09dfc237f181e92968a72d97b7a4202baa453.zip
net/mlx5: Eswitch, enable RoCE loopback traffic
When in switchdev mode, we would like to treat loopback RoCE traffic (on eswitch manager) as RDMA and not as regular Ethernet traffic In order to enable it we add flow steering rule that forward RoCE loopback traffic to the HW RoCE filter (by adding allow rule). In addition we add RoCE address in GID index 0, which will be set in the RoCE loopback packet. Signed-off-by: Maor Gottlieb <maorg@mellanox.com> Reviewed-by: Mark Bloch <markb@mellanox.com> Acked-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'include/linux/mlx5/driver.h')
-rw-r--r--include/linux/mlx5/driver.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h
index 582a9680b182..7fa95270dd59 100644
--- a/include/linux/mlx5/driver.h
+++ b/include/linux/mlx5/driver.h
@@ -512,6 +512,12 @@ struct mlx5_rl_table {
struct mlx5_rl_entry *rl_entry;
};
+struct mlx5_core_roce {
+ struct mlx5_flow_table *ft;
+ struct mlx5_flow_group *fg;
+ struct mlx5_flow_handle *allow_rule;
+};
+
struct mlx5_priv {
struct mlx5_eq_table *eq_table;
@@ -565,6 +571,7 @@ struct mlx5_priv {
struct mlx5_lag *lag;
struct mlx5_devcom *devcom;
unsigned long pci_dev_data;
+ struct mlx5_core_roce roce;
struct mlx5_fc_stats fc_stats;
struct mlx5_rl_table rl_table;