mlx4_core: Add support for steerable IB UD QPs
This patch adds support for allocating IB UD QPs that we can steer traffic from. We introduce a new firmware command FLOW_STEERING_IB_UC_QP_RANGE and a capability bit. This command isn't supported for VFs. Signed-off-by: Matan Barak <matanb@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
240ae00e4d
commit
4de6580360
7 changed files with 57 additions and 1 deletions
|
|
@ -157,6 +157,7 @@ enum {
|
|||
/* register/delete flow steering network rules */
|
||||
MLX4_QP_FLOW_STEERING_ATTACH = 0x65,
|
||||
MLX4_QP_FLOW_STEERING_DETACH = 0x66,
|
||||
MLX4_FLOW_STEERING_IB_UC_QP_RANGE = 0x64,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
|
|
|||
|
|
@ -160,7 +160,8 @@ enum {
|
|||
MLX4_DEV_CAP_FLAG2_TS = 1LL << 5,
|
||||
MLX4_DEV_CAP_FLAG2_VLAN_CONTROL = 1LL << 6,
|
||||
MLX4_DEV_CAP_FLAG2_FSM = 1LL << 7,
|
||||
MLX4_DEV_CAP_FLAG2_UPDATE_QP = 1LL << 8
|
||||
MLX4_DEV_CAP_FLAG2_UPDATE_QP = 1LL << 8,
|
||||
MLX4_DEV_CAP_FLAG2_DMFS_IPOIB = 1LL << 9
|
||||
};
|
||||
|
||||
enum {
|
||||
|
|
@ -1144,6 +1145,9 @@ int set_and_calc_slave_port_state(struct mlx4_dev *dev, int slave, u8 port, int
|
|||
void mlx4_put_slave_node_guid(struct mlx4_dev *dev, int slave, __be64 guid);
|
||||
__be64 mlx4_get_slave_node_guid(struct mlx4_dev *dev, int slave);
|
||||
|
||||
int mlx4_FLOW_STEERING_IB_UC_QP_RANGE(struct mlx4_dev *dev, u32 min_range_qpn,
|
||||
u32 max_range_qpn);
|
||||
|
||||
cycle_t mlx4_read_clock(struct mlx4_dev *dev);
|
||||
|
||||
#endif /* MLX4_DEVICE_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue