Skip to content

Commit

Permalink
crypto/cnxk: add flexi cipher decryption
Browse files Browse the repository at this point in the history
Add flexi crypto cipher decrypt support in enqueue API. Flexi crypto
opcode covers a broad set of ciphers including variants of AES.

Signed-off-by: Ankur Dwivedi <[email protected]>
Signed-off-by: Anoob Joseph <[email protected]>
Signed-off-by: Archana Muniganti <[email protected]>
Signed-off-by: Tejasree Kondoj <[email protected]>
Acked-by: Akhil Goyal <[email protected]>
  • Loading branch information
MunigantiArchana authored and Akhil Goyal committed Jul 7, 2021
1 parent 3de3317 commit b02cd7a
Show file tree
Hide file tree
Showing 5 changed files with 371 additions and 1 deletion.
20 changes: 20 additions & 0 deletions doc/guides/cryptodevs/features/cn10k.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,29 @@
Symmetric crypto = Y
Sym operation chaining = Y
HW Accelerated = Y
In Place SGL = Y
OOP SGL In LB Out = Y
OOP SGL In SGL Out = Y
OOP LB In LB Out = Y
Symmetric sessionless = Y
Digest encrypted = Y

;
; Supported crypto algorithms of 'cn10k' crypto driver.
;
[Cipher]
NULL = Y
3DES CBC = Y
3DES ECB = Y
AES CBC (128) = Y
AES CBC (192) = Y
AES CBC (256) = Y
AES CTR (128) = Y
AES CTR (192) = Y
AES CTR (256) = Y
AES XTS (128) = Y
AES XTS (256) = Y
DES CBC = Y

;
; Supported authentication algorithms of 'cn10k' crypto driver.
Expand All @@ -24,3 +40,7 @@ Digest encrypted = Y
; Supported AEAD algorithms of 'cn10k' crypto driver.
;
[AEAD]
AES GCM (128) = Y
AES GCM (192) = Y
AES GCM (256) = Y
CHACHA20-POLY1305 = Y
20 changes: 20 additions & 0 deletions doc/guides/cryptodevs/features/cn9k.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,29 @@
Symmetric crypto = Y
Sym operation chaining = Y
HW Accelerated = Y
In Place SGL = Y
OOP SGL In LB Out = Y
OOP SGL In SGL Out = Y
OOP LB In LB Out = Y
Symmetric sessionless = Y
Digest encrypted = Y

;
; Supported crypto algorithms of 'cn9k' crypto driver.
;
[Cipher]
NULL = Y
3DES CBC = Y
3DES ECB = Y
AES CBC (128) = Y
AES CBC (192) = Y
AES CBC (256) = Y
AES CTR (128) = Y
AES CTR (192) = Y
AES CTR (256) = Y
AES XTS (128) = Y
AES XTS (256) = Y
DES CBC = Y

;
; Supported authentication algorithms of 'cn9k' crypto driver.
Expand All @@ -24,3 +40,7 @@ Digest encrypted = Y
; Supported AEAD algorithms of 'cn9k' crypto driver.
;
[AEAD]
AES GCM (128) = Y
AES GCM (192) = Y
AES GCM (256) = Y
CHACHA20-POLY1305 = Y
4 changes: 4 additions & 0 deletions drivers/crypto/cnxk/cn10k_cryptodev.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ cn10k_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
RTE_CRYPTODEV_FF_HW_ACCELERATED |
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
RTE_CRYPTODEV_FF_IN_PLACE_SGL |
RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT |
RTE_CRYPTODEV_FF_SYM_SESSIONLESS |
RTE_CRYPTODEV_FF_DIGEST_ENCRYPTED;

Expand Down
4 changes: 4 additions & 0 deletions drivers/crypto/cnxk/cn9k_cryptodev.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ cn9k_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
RTE_CRYPTODEV_FF_HW_ACCELERATED |
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
RTE_CRYPTODEV_FF_IN_PLACE_SGL |
RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT |
RTE_CRYPTODEV_FF_SYM_SESSIONLESS |
RTE_CRYPTODEV_FF_DIGEST_ENCRYPTED;

Expand Down
Loading

0 comments on commit b02cd7a

Please sign in to comment.