.\" Automatically generated by Pandoc 3.8.2.1
.\"
.TH "mlx5dv_create_flow_action_packet_reformat" "3" "" ""
.SH NAME
mlx5dv_create_flow_action_packet_reformat \- Flow action reformat packet
for mlx5 provider
.SH SYNOPSIS
.IP
.EX
#include \f[B]<infiniband/mlx5dv.h>\f[R]

\f[B]struct\f[R] ibv_flow_action *
mlx5dv_create_flow_action_packet_reformat(\f[B]struct\f[R] ibv_context *ctx,
                      size_t data_sz,
                      void *data,
                      \f[B]enum\f[R] mlx5dv_flow_action_packet_reformat_type reformat_type,
                      \f[B]enum\f[R] mlx5dv_flow_table_type ft_type)
.EE
.SH DESCRIPTION
Create a packet reformat flow steering action.
It allows adding/removing packet headers.
.SH ARGUMENTS
.TP
\f[I]ctx\f[R]
.IP
.EX
  RDMA device context to create the action on.
.EE
.TP
\f[I]data_sz\f[R]
.IP
.EX
  The size of *data* buffer.
.EE
.TP
\f[I]data\f[R]
.IP
.EX
  A buffer which contains headers in case the actions requires them.
.EE
.TP
\f[I]reformat_type\f[R]
.IP
.EX
  The reformat type to be create. Use enum mlx5dv_flow_action_packet_reformat_type.
.EE
.RS
MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TUNNEL_TO_L2: Decap a generic
L2 tunneled packet up to inner L2.
MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L2_TUNNEL: Generic encap,
\f[I]data\f[R] should contain the encapsulating headers.
MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L3_TUNNEL_TO_L2: Will do decap
where the inner packet starts from L3.
\f[I]data\f[R] should be MAC or MAC + vlan (14 or 18 bytes) to be
appended to the packet after the decap action.
MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL: Will do encap
where is L2 of the original packet will not be included.
\f[I]data\f[R] should be the encapsulating header.
.RE
.TP
\f[I]ft_type\f[R]
.IP
.EX
  It defines the flow table type to which the packet reformat action
.EE
.RS
will be attached.
.RE
.SH RETURN VALUE
Upon success \f[I]mlx5dv_create_flow_action_packet_reformat\f[R] will
return a new \f[I]struct ibv_flow_action\f[R] object, on error NULL will
be returned and errno will be set.
.SH SEE ALSO
\f[I]ibv_create_flow(3)\f[R], \f[I]ibv_create_flow_action(3)\f[R]
