[EXT] [PATCH v4 0/9] crypto/mlx5: support AES-GCM

Akhil Goyal gakhil at marvell.com
Tue Jun 20 20:49:25 CEST 2023


> AES-GCM provides both authenticated encryption and the ability to check
> the integrity and authentication of additional authenticated data (AAD)
> that is sent in the clear.
> 
> The crypto operations are performed with crypto WQE. If the input
> buffers(AAD, mbuf, digest) are not contiguous and there is no enough
> headroom or tailroom for AAD or digest, as the requirement from FW, an
> UMR WQE is needed to generate contiguous address space for crypto WQE.
> The UMR WQE and crypto WQE are handled in two different QPs.
> 
> The QP for UMR operation contains two types of WQE, UMR and SEND_EN
> WQE. The WQEs are built dynamically according to the crypto operation
> buffer address. Crypto operation with non-contiguous buffers will
> have its own UMR WQE, while the operation with contiguous buffers
> doesn't need the UMR WQE. Once the all the operations WQE in the
> enqueue burst built finishes, if any UMR WQEs are built, additional
> SEND_EN WQE will be as the final WQE of the burst in the UMR QP.
> The purpose of that SEND_EN WQE is to trigger the crypto QP processing
> with the UMR ready input memory address space buffers.
> 
> The QP for crypto operations contains only the crypto WQE and the QP
> WQEs are built as fixed in QP setup. The QP processing is triggered
> by doorbell ring or the SEND_EN WQE from UMR QP.
> 
> v2:
>   - split XTS and GCM code to different file.
>   - add headroom and tailroom optimize.
> 
> v3:
>  - fix AES-GCM 128b key creation.
> 
> v4:
>  - add missing feature cap in mlx5.ini
Series applied to dpdk-next-crypto
Thanks.


More information about the dev mailing list