cryptodev: add session-less feature flag
Add feature flag for symmetric sessionless support, so it can be checked by applications. Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Adam Dybkowski <adamx.dybkowski@intel.com> Tested-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Fiona Trahe <fiona.trahe@intel.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
This commit is contained in:
parent
38f3c3a87a
commit
b3aaf24de5
@ -15,6 +15,7 @@ In Place SGL = Y
|
|||||||
OOP SGL In LB Out = Y
|
OOP SGL In LB Out = Y
|
||||||
OOP LB In LB Out = Y
|
OOP LB In LB Out = Y
|
||||||
CPU crypto = Y
|
CPU crypto = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of the 'aesni_gcm' crypto driver.
|
; Supported crypto algorithms of the 'aesni_gcm' crypto driver.
|
||||||
;
|
;
|
||||||
|
@ -13,6 +13,7 @@ CPU AVX512 = Y
|
|||||||
CPU AESNI = Y
|
CPU AESNI = Y
|
||||||
OOP LB In LB Out = Y
|
OOP LB In LB Out = Y
|
||||||
CPU crypto = Y
|
CPU crypto = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of the 'aesni_mb' crypto driver.
|
; Supported crypto algorithms of the 'aesni_mb' crypto driver.
|
||||||
|
@ -8,6 +8,7 @@ Symmetric crypto = Y
|
|||||||
Sym operation chaining = Y
|
Sym operation chaining = Y
|
||||||
CPU NEON = Y
|
CPU NEON = Y
|
||||||
CPU ARM CE = Y
|
CPU ARM CE = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of the 'armv8' crypto driver.
|
; Supported crypto algorithms of the 'armv8' crypto driver.
|
||||||
|
@ -48,4 +48,4 @@ AES GCM (256) = Y
|
|||||||
;
|
;
|
||||||
; Supported Asymmetric algorithms of the 'dpaa2_sec' crypto driver.
|
; Supported Asymmetric algorithms of the 'dpaa2_sec' crypto driver.
|
||||||
;
|
;
|
||||||
[Asymmetric]
|
[Asymmetric]
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
Symmetric crypto = Y
|
Symmetric crypto = Y
|
||||||
Sym operation chaining = Y
|
Sym operation chaining = Y
|
||||||
HW Accelerated = Y
|
HW Accelerated = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of the 'ccp' crypto driver.
|
; Supported crypto algorithms of the 'ccp' crypto driver.
|
||||||
@ -61,4 +62,4 @@ AES GCM (256) = Y
|
|||||||
;
|
;
|
||||||
; Supported Asymmetric algorithms of the 'ccp' crypto driver.
|
; Supported Asymmetric algorithms of the 'ccp' crypto driver.
|
||||||
;
|
;
|
||||||
[Asymmetric]
|
[Asymmetric]
|
||||||
|
@ -28,6 +28,7 @@ RSA PRIV OP KEY QT =
|
|||||||
Digest encrypted =
|
Digest encrypted =
|
||||||
Asymmetric sessionless =
|
Asymmetric sessionless =
|
||||||
CPU crypto =
|
CPU crypto =
|
||||||
|
Symmetric sessionless =
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of a default crypto driver.
|
; Supported crypto algorithms of a default crypto driver.
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
[Features]
|
[Features]
|
||||||
Symmetric crypto = Y
|
Symmetric crypto = Y
|
||||||
Sym operation chaining = Y
|
Sym operation chaining = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of the 'kasumi' crypto driver.
|
; Supported crypto algorithms of the 'kasumi' crypto driver.
|
||||||
@ -26,4 +27,4 @@ KASUMI F9 = Y
|
|||||||
;
|
;
|
||||||
; Supported Asymmetric algorithms of the 'kasumi' crypto driver.
|
; Supported Asymmetric algorithms of the 'kasumi' crypto driver.
|
||||||
;
|
;
|
||||||
[Asymmetric]
|
[Asymmetric]
|
||||||
|
@ -12,6 +12,7 @@ In Place SGL = Y
|
|||||||
OOP SGL In LB Out = Y
|
OOP SGL In LB Out = Y
|
||||||
OOP SGL In SGL Out = Y
|
OOP SGL In SGL Out = Y
|
||||||
RSA PRIV OP KEY QT = Y
|
RSA PRIV OP KEY QT = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of 'octeontx' crypto driver.
|
; Supported crypto algorithms of 'octeontx' crypto driver.
|
||||||
|
@ -12,6 +12,7 @@ In Place SGL = Y
|
|||||||
OOP SGL In LB Out = Y
|
OOP SGL In LB Out = Y
|
||||||
OOP SGL In SGL Out = Y
|
OOP SGL In SGL Out = Y
|
||||||
RSA PRIV OP KEY QT = Y
|
RSA PRIV OP KEY QT = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of 'octeontx2' crypto driver.
|
; Supported crypto algorithms of 'octeontx2' crypto driver.
|
||||||
|
@ -12,6 +12,7 @@ OOP LB In LB Out = Y
|
|||||||
Asymmetric crypto = Y
|
Asymmetric crypto = Y
|
||||||
RSA PRIV OP KEY EXP = Y
|
RSA PRIV OP KEY EXP = Y
|
||||||
RSA PRIV OP KEY QT = Y
|
RSA PRIV OP KEY QT = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of the 'openssl' crypto driver.
|
; Supported crypto algorithms of the 'openssl' crypto driver.
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
[Features]
|
[Features]
|
||||||
Symmetric crypto = Y
|
Symmetric crypto = Y
|
||||||
Sym operation chaining = Y
|
Sym operation chaining = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of the 'snow3g' crypto driver.
|
; Supported crypto algorithms of the 'snow3g' crypto driver.
|
||||||
@ -26,4 +27,4 @@ SNOW3G UIA2 = Y
|
|||||||
;
|
;
|
||||||
; Supported Asymmetric algorithms of the 'snow3g' crypto driver.
|
; Supported Asymmetric algorithms of the 'snow3g' crypto driver.
|
||||||
;
|
;
|
||||||
[Asymmetric]
|
[Asymmetric]
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
[Features]
|
[Features]
|
||||||
Symmetric crypto = Y
|
Symmetric crypto = Y
|
||||||
Sym operation chaining = Y
|
Sym operation chaining = Y
|
||||||
|
Symmetric sessionless = Y
|
||||||
|
|
||||||
;
|
;
|
||||||
; Supported crypto algorithms of the 'zuc' crypto driver.
|
; Supported crypto algorithms of the 'zuc' crypto driver.
|
||||||
|
@ -744,7 +744,8 @@ aesni_gcm_create(const char *name,
|
|||||||
RTE_CRYPTODEV_FF_IN_PLACE_SGL |
|
RTE_CRYPTODEV_FF_IN_PLACE_SGL |
|
||||||
RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
|
RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
|
||||||
RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
|
RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
|
||||||
RTE_CRYPTODEV_FF_SYM_CPU_CRYPTO;
|
RTE_CRYPTODEV_FF_SYM_CPU_CRYPTO |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
/* Check CPU for support for AES instruction set */
|
/* Check CPU for support for AES instruction set */
|
||||||
if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AES))
|
if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AES))
|
||||||
|
@ -1621,7 +1621,8 @@ cryptodev_aesni_mb_create(const char *name,
|
|||||||
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
||||||
RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
|
RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
|
||||||
RTE_CRYPTODEV_FF_SYM_CPU_CRYPTO;
|
RTE_CRYPTODEV_FF_SYM_CPU_CRYPTO |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
/* Check CPU for support for AES instruction set */
|
/* Check CPU for support for AES instruction set */
|
||||||
if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AES))
|
if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AES))
|
||||||
|
@ -792,7 +792,8 @@ cryptodev_armv8_crypto_create(const char *name,
|
|||||||
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
||||||
RTE_CRYPTODEV_FF_CPU_NEON |
|
RTE_CRYPTODEV_FF_CPU_NEON |
|
||||||
RTE_CRYPTODEV_FF_CPU_ARM_CE;
|
RTE_CRYPTODEV_FF_CPU_ARM_CE |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
internals = dev->data->dev_private;
|
internals = dev->data->dev_private;
|
||||||
|
|
||||||
|
@ -352,7 +352,8 @@ cryptodev_ccp_create(const char *name,
|
|||||||
|
|
||||||
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_HW_ACCELERATED |
|
RTE_CRYPTODEV_FF_HW_ACCELERATED |
|
||||||
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING;
|
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
internals = dev->data->dev_private;
|
internals = dev->data->dev_private;
|
||||||
|
|
||||||
|
@ -550,7 +550,8 @@ cryptodev_kasumi_create(const char *name,
|
|||||||
dev->enqueue_burst = kasumi_pmd_enqueue_burst;
|
dev->enqueue_burst = kasumi_pmd_enqueue_burst;
|
||||||
|
|
||||||
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING;
|
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
mgr = alloc_mb_mgr(0);
|
mgr = alloc_mb_mgr(0);
|
||||||
if (mgr == NULL)
|
if (mgr == NULL)
|
||||||
|
@ -178,7 +178,8 @@ cryptodev_null_create(const char *name,
|
|||||||
|
|
||||||
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
||||||
RTE_CRYPTODEV_FF_IN_PLACE_SGL;
|
RTE_CRYPTODEV_FF_IN_PLACE_SGL |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
internals = dev->data->dev_private;
|
internals = dev->data->dev_private;
|
||||||
|
|
||||||
|
@ -967,7 +967,8 @@ otx_cpt_dev_create(struct rte_cryptodev *c_dev)
|
|||||||
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
||||||
RTE_CRYPTODEV_FF_IN_PLACE_SGL |
|
RTE_CRYPTODEV_FF_IN_PLACE_SGL |
|
||||||
RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
|
RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
|
||||||
RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT;
|
RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* Feature not supported. Abort */
|
/* Feature not supported. Abort */
|
||||||
|
@ -103,7 +103,8 @@ otx2_cpt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
|
|||||||
RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
|
RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
|
||||||
RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT |
|
RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT |
|
||||||
RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO |
|
RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT;
|
RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -2207,7 +2207,8 @@ cryptodev_openssl_create(const char *name,
|
|||||||
RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
|
RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT |
|
||||||
RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO |
|
RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_EXP |
|
RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_EXP |
|
||||||
RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT;
|
RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
internals = dev->data->dev_private;
|
internals = dev->data->dev_private;
|
||||||
|
|
||||||
|
@ -562,7 +562,8 @@ cryptodev_snow3g_create(const char *name,
|
|||||||
dev->enqueue_burst = snow3g_pmd_enqueue_burst;
|
dev->enqueue_burst = snow3g_pmd_enqueue_burst;
|
||||||
|
|
||||||
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING;
|
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
mgr = alloc_mb_mgr(0);
|
mgr = alloc_mb_mgr(0);
|
||||||
if (mgr == NULL)
|
if (mgr == NULL)
|
||||||
|
@ -469,7 +469,8 @@ cryptodev_zuc_create(const char *name,
|
|||||||
}
|
}
|
||||||
|
|
||||||
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
|
||||||
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING;
|
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
|
||||||
|
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
|
||||||
|
|
||||||
mb_mgr = alloc_mb_mgr(0);
|
mb_mgr = alloc_mb_mgr(0);
|
||||||
if (mb_mgr == NULL)
|
if (mb_mgr == NULL)
|
||||||
|
@ -497,6 +497,8 @@ rte_cryptodev_get_feature_name(uint64_t flag)
|
|||||||
return "SYM_CPU_CRYPTO";
|
return "SYM_CPU_CRYPTO";
|
||||||
case RTE_CRYPTODEV_FF_ASYM_SESSIONLESS:
|
case RTE_CRYPTODEV_FF_ASYM_SESSIONLESS:
|
||||||
return "ASYM_SESSIONLESS";
|
return "ASYM_SESSIONLESS";
|
||||||
|
case RTE_CRYPTODEV_FF_SYM_SESSIONLESS:
|
||||||
|
return "SYM_SESSIONLESS";
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -452,6 +452,8 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
|
|||||||
/**< Support asymmetric session-less operations */
|
/**< Support asymmetric session-less operations */
|
||||||
#define RTE_CRYPTODEV_FF_SYM_CPU_CRYPTO (1ULL << 21)
|
#define RTE_CRYPTODEV_FF_SYM_CPU_CRYPTO (1ULL << 21)
|
||||||
/**< Support symmetric cpu-crypto processing */
|
/**< Support symmetric cpu-crypto processing */
|
||||||
|
#define RTE_CRYPTODEV_FF_SYM_SESSIONLESS (1ULL << 22)
|
||||||
|
/**< Support symmetric session-less operations */
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user