aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMark Bloch <markb@mellanox.com>2018-09-02 12:51:36 +0300
committerJason Gunthorpe <jgg@mellanox.com>2018-09-11 09:28:06 -0600
commite806f9328ba424b371766899af3c3cf4616e5522 (patch)
treebefba2626363a4de2b54d1afa2fbcb448ef38195 /drivers
parentRDMA/mlx5: Enable reformat on NIC RX if supported (diff)
downloadlinux-dev-e806f9328ba424b371766899af3c3cf4616e5522.tar.xz
linux-dev-e806f9328ba424b371766899af3c3cf4616e5522.zip
RDMA/mlx5: Enable attaching packet reformat action to steering flows
Any matching rules will be mutated based on the packet reformat context which is attached to that given flow rule. Signed-off-by: Mark Bloch <markb@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/infiniband/hw/mlx5/main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index b5f0ab88e064..65fce84135f3 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -2486,6 +2486,14 @@ static int parse_flow_flow_action(const union ib_flow_spec *ib_spec,
action->action |= MLX5_FLOW_CONTEXT_ACTION_DECAP;
return 0;
}
+ if (maction->flow_action_raw.sub_type ==
+ MLX5_IB_FLOW_ACTION_PACKET_REFORMAT) {
+ action->action |=
+ MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT;
+ action->reformat_id =
+ maction->flow_action_raw.action_id;
+ return 0;
+ }
/* fall through */
default:
return -EOPNOTSUPP;