.\" Automatically generated by Pandoc 1.19.2.4
.\"
.TH "mlx5dv_flow_action_esp" "3" "" "" ""
.hy
.SH NAME
.PP
mlx5dv_flow_action_esp \- Flow action esp for mlx5 provider
.SH SYNOPSIS
.IP
.nf
\f[C]
#include\ <infiniband/mlx5/mlx5dv.h>

struct\ ibv_flow_action\ *
mlx5dv_create_flow_action_esp(struct\ ibv_context\ *ctx,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ ibv_flow_action_esp_attr\ *esp,
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ mlx5dv_flow_action_esp\ *mlx5_attr);
\f[]
.fi
.SH DESCRIPTION
.PP
Create an IPSEC ESP flow steering action.
.PD 0
.P
.PD
This verb is identical to \f[I]ibv_create_flow_action_esp\f[] verb, but
allows mlx5 specific flags.
.SH ARGUMENTS
.PP
Please see \f[I]ibv_flow_action_esp(3)\f[] man page for \f[I]ctx\f[] and
\f[I]esp\f[].
.SS \f[I]mlx5_attr\f[] argument
.IP
.nf
\f[C]
struct\ mlx5dv_flow_action_esp\ {
\ \ \ \ uint64_t\ comp_mask;\ \ /*\ Use\ enum\ mlx5dv_flow_action_esp_mask\ */
\ \ \ \ uint32_t\ action_flags;\ /*\ Use\ enum\ mlx5dv_flow_action_flags\ */
};
\f[]
.fi
.TP
.B \f[I]comp_mask\f[]
Bitmask specifying what fields in the structure are valid (\f[I]enum
mlx5dv_flow_action_esp_mask\f[]).
.RS
.RE
.TP
.B \f[I]action_flags\f[]
A bitwise OR of the various values described below.
.RS
.PP
\f[I]MLX5DV_FLOW_ACTION_FLAGS_REQUIRE_METADATA\f[]:
.PD 0
.P
.PD
Each received and transmitted packet using offload is expected to carry
metadata in the form of a L2 header
.PD 0
.P
.PD
with ethernet type 0x8CE4, followed by 6 bytes of data and the original
packet ethertype.
.RE
.SH NOTE
.PP
The ESN is expected to be placed in the IV field for egress packets.
.PD 0
.P
.PD
The 64 bit sequence number is written in big\-endian over the 64 bit IV
field.
.PD 0
.P
.PD
There is no need to call modify to update the ESN window on egress when
this DV is used.
.SH SEE ALSO
.PP
\f[I]ibv_flow_action_esp(3)\f[], \f[I]RFC 4106\f[]
