IB/mlx5: Add support for a flow table destination for driver flow steering
Add support to set a destination that is a flow table, this can come from the DEVX destination. Signed-off-by: Yishai Hadas <yishaih@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
d4be3f4466
commit
6346f0bfa0
@ -3789,9 +3789,6 @@ mlx5_ib_raw_fs_rule_add(struct mlx5_ib_dev *dev,
|
|||||||
if (fs_matcher->priority > MLX5_IB_FLOW_LAST_PRIO)
|
if (fs_matcher->priority > MLX5_IB_FLOW_LAST_PRIO)
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
if (dest_type != MLX5_FLOW_DESTINATION_TYPE_TIR)
|
|
||||||
return ERR_PTR(-ENOTSUPP);
|
|
||||||
|
|
||||||
dst = kzalloc(sizeof(*dst), GFP_KERNEL);
|
dst = kzalloc(sizeof(*dst), GFP_KERNEL);
|
||||||
if (!dst)
|
if (!dst)
|
||||||
return ERR_PTR(-ENOMEM);
|
return ERR_PTR(-ENOMEM);
|
||||||
@ -3805,8 +3802,14 @@ mlx5_ib_raw_fs_rule_add(struct mlx5_ib_dev *dev,
|
|||||||
goto unlock;
|
goto unlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
dst->type = dest_type;
|
if (dest_type == MLX5_FLOW_DESTINATION_TYPE_TIR) {
|
||||||
dst->tir_num = dest_id;
|
dst->type = dest_type;
|
||||||
|
dst->tir_num = dest_id;
|
||||||
|
} else {
|
||||||
|
dst->type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE_NUM;
|
||||||
|
dst->ft_num = dest_id;
|
||||||
|
}
|
||||||
|
|
||||||
handler = _create_raw_flow_rule(dev, ft_prio, dst, fs_matcher, cmd_in,
|
handler = _create_raw_flow_rule(dev, ft_prio, dst, fs_matcher, cmd_in,
|
||||||
inlen);
|
inlen);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user