.\" Automatically generated by Pandoc 3.1.8 .\" .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 struct ibv_flow_action * mlx5dv_create_flow_action_packet_reformat(struct ibv_context *ctx, size_t data_sz, void *data, enum mlx5dv_flow_action_packet_reformat_type reformat_type, enum 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 .PP MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TUNNEL_TO_L2: Decap a generic L2 tunneled packet up to inner L2. .PP MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L2_TUNNEL: Generic encap, \f[I]data\f[R] should contain the encapsulating headers. .PP 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. .PP 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]