diff options
| author | Maor Gottlieb <maorg@mellanox.com> | 2016-05-31 07:09:09 -0400 |
|---|---|---|
| committer | Leon Romanovsky <leon@kernel.org> | 2016-08-18 11:49:59 -0400 |
| commit | cea824d416522ce63d83b45fc0dc53c0f5b68cee (patch) | |
| tree | 953c5776e35e4245ef12f06b03c4c8de88ca722c /include/linux/mlx5 | |
| parent | 917b41aab7b3afb2221ac0895f302ee32431fa6e (diff) | |
net/mlx5: Introduce sniffer steering hardware capabilities
Define needed hardware capabilities for sniffer
RX and TX flow tables.
Add the following capabilities:
1. Sniffer RX flow table capabilities.
2. Sniffer TX flow table capabilities.
3. If same TIR can be used by multiple flow tables of different types.
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'include/linux/mlx5')
| -rw-r--r-- | include/linux/mlx5/device.h | 12 | ||||
| -rw-r--r-- | include/linux/mlx5/mlx5_ifc.h | 4 |
2 files changed, 15 insertions, 1 deletions
diff --git a/include/linux/mlx5/device.h b/include/linux/mlx5/device.h index 2575070c836e..77c141797152 100644 --- a/include/linux/mlx5/device.h +++ b/include/linux/mlx5/device.h | |||
| @@ -964,6 +964,18 @@ enum mlx5_cap_type { | |||
| 964 | #define MLX5_CAP_FLOWTABLE_NIC_RX_MAX(mdev, cap) \ | 964 | #define MLX5_CAP_FLOWTABLE_NIC_RX_MAX(mdev, cap) \ |
| 965 | MLX5_CAP_FLOWTABLE_MAX(mdev, flow_table_properties_nic_receive.cap) | 965 | MLX5_CAP_FLOWTABLE_MAX(mdev, flow_table_properties_nic_receive.cap) |
| 966 | 966 | ||
| 967 | #define MLX5_CAP_FLOWTABLE_SNIFFER_RX(mdev, cap) \ | ||
| 968 | MLX5_CAP_FLOWTABLE(mdev, flow_table_properties_nic_receive_sniffer.cap) | ||
| 969 | |||
| 970 | #define MLX5_CAP_FLOWTABLE_SNIFFER_RX_MAX(mdev, cap) \ | ||
| 971 | MLX5_CAP_FLOWTABLE_MAX(mdev, flow_table_properties_nic_receive_sniffer.cap) | ||
| 972 | |||
| 973 | #define MLX5_CAP_FLOWTABLE_SNIFFER_TX(mdev, cap) \ | ||
| 974 | MLX5_CAP_FLOWTABLE(mdev, flow_table_properties_nic_transmit_sniffer.cap) | ||
| 975 | |||
| 976 | #define MLX5_CAP_FLOWTABLE_SNIFFER_TX_MAX(mdev, cap) \ | ||
| 977 | MLX5_CAP_FLOWTABLE_MAX(mdev, flow_table_properties_nic_transmit_sniffer.cap) | ||
| 978 | |||
| 967 | #define MLX5_CAP_ESW_FLOWTABLE(mdev, cap) \ | 979 | #define MLX5_CAP_ESW_FLOWTABLE(mdev, cap) \ |
| 968 | MLX5_GET(flow_table_eswitch_cap, \ | 980 | MLX5_GET(flow_table_eswitch_cap, \ |
| 969 | mdev->hca_caps_cur[MLX5_CAP_ESWITCH_FLOW_TABLE], cap) | 981 | mdev->hca_caps_cur[MLX5_CAP_ESWITCH_FLOW_TABLE], cap) |
diff --git a/include/linux/mlx5/mlx5_ifc.h b/include/linux/mlx5/mlx5_ifc.h index 043d5256b754..73a720f74a69 100644 --- a/include/linux/mlx5/mlx5_ifc.h +++ b/include/linux/mlx5/mlx5_ifc.h | |||
| @@ -483,7 +483,9 @@ struct mlx5_ifc_ads_bits { | |||
| 483 | 483 | ||
| 484 | struct mlx5_ifc_flow_table_nic_cap_bits { | 484 | struct mlx5_ifc_flow_table_nic_cap_bits { |
| 485 | u8 nic_rx_multi_path_tirs[0x1]; | 485 | u8 nic_rx_multi_path_tirs[0x1]; |
| 486 | u8 reserved_at_1[0x1ff]; | 486 | u8 nic_rx_multi_path_tirs_fts[0x1]; |
| 487 | u8 allow_sniffer_and_nic_rx_shared_tir[0x1]; | ||
| 488 | u8 reserved_at_3[0x1fd]; | ||
| 487 | 489 | ||
| 488 | struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive; | 490 | struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive; |
| 489 | 491 | ||
