On Fri, Feb 13, 2026 at 10:26:28AM +0000, Anatoly Burakov wrote:
> Currently, when calling down into the VF mailbox, IPsec code will use
> dynamic memory allocation (rte_malloc one at that!) to allocate VF message
> structures which are ~40 bytes in size, and then immediately frees them.
> This is wasteful and unnecessary, so use stack allocation instead.
> 
> Signed-off-by: Anatoly Burakov <[email protected]>
> ---
>  drivers/net/intel/iavf/iavf_ipsec_crypto.c | 157 +++++++--------------
>  1 file changed, 51 insertions(+), 106 deletions(-)
> 
> diff --git a/drivers/net/intel/iavf/iavf_ipsec_crypto.c 
> b/drivers/net/intel/iavf/iavf_ipsec_crypto.c
> index 66eaea8715..cb437d3212 100644
> --- a/drivers/net/intel/iavf/iavf_ipsec_crypto.c
> +++ b/drivers/net/intel/iavf/iavf_ipsec_crypto.c
> @@ -458,36 +458,24 @@ static uint32_t
>  iavf_ipsec_crypto_security_association_add(struct iavf_adapter *adapter,
>       struct rte_security_session_conf *conf)
>  {
> -     struct inline_ipsec_msg *request = NULL, *response = NULL;
> -     struct virtchnl_ipsec_sa_cfg *sa_cfg;
> -     size_t request_len, response_len;
> +     struct {
> +             struct inline_ipsec_msg msg;
> +             struct virtchnl_ipsec_sa_cfg sa_cfg;
> +     } sa_req;
> +     struct {
> +             struct inline_ipsec_msg msg;
> +             struct virtchnl_ipsec_sa_cfg_resp sa_cfg_resp;
> +     } sa_resp;
> +     struct inline_ipsec_msg *request = &sa_req.msg, *response = 
> &sa_resp.msg;

Nit: Split these across two lines, since the assignments are a little long.

Acked-by: Bruce Richardson <[email protected]>

Reply via email to