Re: [dpdk-dev] [PATCH v3 05/10] ipsec: add support for AEAD algorithms
From: Zhang, Roy Fan <hidden>
Date: 2021-08-31 10:17:45
Hi Radu,
-----Original Message----- From: dev <redacted> On Behalf Of Radu Nicolau Sent: Friday, August 13, 2021 10:30 AM To: Ananyev, Konstantin <redacted>; Iremonger, Bernard [off-list ref]; Medvedkin, Vladimir [off-list ref] Cc: dev@dpdk.org; mdr@ashroe.eu; Richardson, Bruce [off-list ref]; hemant.agrawal@nxp.com; gakhil@marvell.com; anoobj@marvell.com; Doherty, Declan [off-list ref]; Sinha, Abhijit [off-list ref]; Buckley, Daniel M [off-list ref]; marchana@marvell.com; ktejasree@marvell.com; matan@nvidia.com; Nicolau, Radu [off-list ref] Subject: [dpdk-dev] [PATCH v3 05/10] ipsec: add support for AEAD algorithms Add support for AES_CCM, CHACHA20_POLY1305 and AES_GMAC. Signed-off-by: Declan Doherty <redacted> Signed-off-by: Radu Nicolau <redacted> Signed-off-by: Abhijit Sinha <redacted> Signed-off-by: Daniel Martin Buckley <redacted> --- + +/* + * RFC 4106, 5 AAD Construction + * spi and sqn should already be converted into network byte order.
[Fan: Comments is incorrect, should be RFC7643]
+ * Make sure that not used bytes are zeroed.
+ */
+static inline void
+aead_chacha20_poly1305_aad_fill(struct aead_chacha20_poly1305_aad
*aad,
+ rte_be32_t spi, rte_be64_t sqn,
+ int esn)
+{
+ aad->spi = spi;
+ if (esn)
+ aad->sqn.u64 = sqn;
+ else {
+ aad->sqn.u32[0] = sqn_low32(sqn);
+ aad->sqn.u32[1] = 0;
+ }
+ aad->align0 = 0;
+}
+
/*