提交 00414126 编写于 作者: A Alex Vesker 提交者: Jakub Kicinski

net/mlx5: DR, Allow insertion of duplicate rules

Duplicate rules were not allowed to be configured with SW steering.
This restriction caused failures with the replace rule logic done by
upper layers.

This fix allows for multiple rules with the same match values, in
such case the first inserted rules will match.

Fixes: 41d07074 ("net/mlx5: DR, Expose steering rule functionality")
Signed-off-by: NAlex Vesker <valex@mellanox.com>
Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
上级 38dc3b5f
......@@ -788,12 +788,10 @@ dr_rule_handle_ste_branch(struct mlx5dr_rule *rule,
* it means that all the previous stes are the same,
* if so, this rule is duplicated.
*/
if (mlx5dr_ste_is_last_in_rule(nic_matcher,
matched_ste->ste_chain_location)) {
mlx5dr_info(dmn, "Duplicate rule inserted, aborting!!\n");
return NULL;
}
return matched_ste;
if (!mlx5dr_ste_is_last_in_rule(nic_matcher, ste_location))
return matched_ste;
mlx5dr_dbg(dmn, "Duplicate rule inserted\n");
}
if (!skip_rehash && dr_rule_need_enlarge_hash(cur_htbl, dmn, nic_dmn)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册