mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
net/mlx5e: Set decap action based on attr for sample
[ Upstream commitffa99b5347] Currently decap action is set based on tunnel_id. That means it is set unconditionally. But for decap, ct and sample actions, decap is done before ct. No need to decap again in sample. And the actions are set correctly when parsing. So set decap action based on attr instead of tunnel_id. Fixes:2741f22309("net/mlx5e: TC, Support sample offload action for tunneled traffic") Signed-off-by: Chris Mi <cmi@nvidia.com> Reviewed-by: Roi Dayan <roid@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ad2732630f
commit
a03b6ef0f6
@@ -477,7 +477,6 @@ mlx5e_tc_sample_offload(struct mlx5e_tc_psample *tc_psample,
|
||||
struct mlx5e_sample_flow *sample_flow;
|
||||
struct mlx5e_sample_attr *sample_attr;
|
||||
struct mlx5_flow_attr *pre_attr;
|
||||
u32 tunnel_id = attr->tunnel_id;
|
||||
struct mlx5_eswitch *esw;
|
||||
u32 default_tbl_id;
|
||||
u32 obj_id;
|
||||
@@ -522,7 +521,7 @@ mlx5e_tc_sample_offload(struct mlx5e_tc_psample *tc_psample,
|
||||
restore_obj.sample.group_id = sample_attr->group_num;
|
||||
restore_obj.sample.rate = sample_attr->rate;
|
||||
restore_obj.sample.trunc_size = sample_attr->trunc_size;
|
||||
restore_obj.sample.tunnel_id = tunnel_id;
|
||||
restore_obj.sample.tunnel_id = attr->tunnel_id;
|
||||
err = mapping_add(esw->offloads.reg_c0_obj_pool, &restore_obj, &obj_id);
|
||||
if (err)
|
||||
goto err_obj_id;
|
||||
@@ -548,7 +547,7 @@ mlx5e_tc_sample_offload(struct mlx5e_tc_psample *tc_psample,
|
||||
/* For decap action, do decap in the original flow table instead of the
|
||||
* default flow table.
|
||||
*/
|
||||
if (tunnel_id)
|
||||
if (attr->action & MLX5_FLOW_CONTEXT_ACTION_DECAP)
|
||||
pre_attr->action |= MLX5_FLOW_CONTEXT_ACTION_DECAP;
|
||||
pre_attr->modify_hdr = sample_flow->restore->modify_hdr;
|
||||
pre_attr->flags = MLX5_ATTR_FLAG_SAMPLE;
|
||||
|
||||
Reference in New Issue
Block a user