From: Akhil Goyal <akhil.goyal@nxp.com>
To: dev@dpdk.org
Cc: Ruifeng.Wang@arm.com, declan.doherty@intel.com, asomalap@amd.com,
anoobj@marvell.com, roy.fan.zhang@intel.com,
fiona.trahe@intel.com, rnagadheeraj@marvell.com,
adwivedi@marvell.com, G.Singh@nxp.com, hemant.agrawal@nxp.com,
jianjay.zhou@huawei.com, pablo.de.lara.guarch@intel.com,
adamx.dybkowski@intel.com, apeksha.gupta@nxp.com,
Akhil Goyal <akhil.goyal@nxp.com>
Subject: [dpdk-dev] [PATCH v2 1/9] cryptodev: add feature flag for non-byte aligned data
Date: Sun, 10 May 2020 04:42:09 +0530 [thread overview]
Message-ID: <20200509231217.8219-2-akhil.goyal@nxp.com> (raw)
In-Reply-To: <20200509231217.8219-1-akhil.goyal@nxp.com>
Some wireless algos like SNOW, ZUC may support input
data in bits which are not byte aligned. However, not
all PMDs can support this requirement. Hence added a
new feature flag RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA
to identify which all PMDs can support non-byte aligned
data.
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
---
doc/guides/cryptodevs/features/default.ini | 1 +
doc/guides/cryptodevs/features/kasumi.ini | 1 +
doc/guides/cryptodevs/features/snow3g.ini | 1 +
doc/guides/cryptodevs/features/zuc.ini | 1 +
drivers/crypto/kasumi/rte_kasumi_pmd.c | 1 +
drivers/crypto/snow3g/rte_snow3g_pmd.c | 1 +
drivers/crypto/zuc/rte_zuc_pmd.c | 1 +
lib/librte_cryptodev/rte_cryptodev.c | 2 ++
lib/librte_cryptodev/rte_cryptodev.h | 2 ++
9 files changed, 11 insertions(+)
diff --git a/doc/guides/cryptodevs/features/default.ini b/doc/guides/cryptodevs/features/default.ini
index 118479db5..fb1ddca71 100644
--- a/doc/guides/cryptodevs/features/default.ini
+++ b/doc/guides/cryptodevs/features/default.ini
@@ -29,6 +29,7 @@ Digest encrypted =
Asymmetric sessionless =
CPU crypto =
Symmetric sessionless =
+Non-Byte aligned data =
;
; Supported crypto algorithms of a default crypto driver.
diff --git a/doc/guides/cryptodevs/features/kasumi.ini b/doc/guides/cryptodevs/features/kasumi.ini
index 99ded0401..8380a5765 100644
--- a/doc/guides/cryptodevs/features/kasumi.ini
+++ b/doc/guides/cryptodevs/features/kasumi.ini
@@ -7,6 +7,7 @@
Symmetric crypto = Y
Sym operation chaining = Y
Symmetric sessionless = Y
+Non-Byte aligned data = Y
;
; Supported crypto algorithms of the 'kasumi' crypto driver.
diff --git a/doc/guides/cryptodevs/features/snow3g.ini b/doc/guides/cryptodevs/features/snow3g.ini
index 8b971cc1d..b2caefe3a 100644
--- a/doc/guides/cryptodevs/features/snow3g.ini
+++ b/doc/guides/cryptodevs/features/snow3g.ini
@@ -7,6 +7,7 @@
Symmetric crypto = Y
Sym operation chaining = Y
Symmetric sessionless = Y
+Non-Byte aligned data = Y
;
; Supported crypto algorithms of the 'snow3g' crypto driver.
diff --git a/doc/guides/cryptodevs/features/zuc.ini b/doc/guides/cryptodevs/features/zuc.ini
index f7bff4291..21d074f9b 100644
--- a/doc/guides/cryptodevs/features/zuc.ini
+++ b/doc/guides/cryptodevs/features/zuc.ini
@@ -7,6 +7,7 @@
Symmetric crypto = Y
Sym operation chaining = Y
Symmetric sessionless = Y
+Non-Byte aligned data = Y
;
; Supported crypto algorithms of the 'zuc' crypto driver.
diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd.c b/drivers/crypto/kasumi/rte_kasumi_pmd.c
index a20921249..73077e3d9 100644
--- a/drivers/crypto/kasumi/rte_kasumi_pmd.c
+++ b/drivers/crypto/kasumi/rte_kasumi_pmd.c
@@ -551,6 +551,7 @@ cryptodev_kasumi_create(const char *name,
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
+ RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA |
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
mgr = alloc_mb_mgr(0);
diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd.c b/drivers/crypto/snow3g/rte_snow3g_pmd.c
index 8e82dde55..c939064d5 100644
--- a/drivers/crypto/snow3g/rte_snow3g_pmd.c
+++ b/drivers/crypto/snow3g/rte_snow3g_pmd.c
@@ -563,6 +563,7 @@ cryptodev_snow3g_create(const char *name,
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
+ RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA |
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
mgr = alloc_mb_mgr(0);
diff --git a/drivers/crypto/zuc/rte_zuc_pmd.c b/drivers/crypto/zuc/rte_zuc_pmd.c
index 17926b471..459881873 100644
--- a/drivers/crypto/zuc/rte_zuc_pmd.c
+++ b/drivers/crypto/zuc/rte_zuc_pmd.c
@@ -470,6 +470,7 @@ cryptodev_zuc_create(const char *name,
dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
+ RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA |
RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
mb_mgr = alloc_mb_mgr(0);
diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
index 7693eb69c..f30e3cbff 100644
--- a/lib/librte_cryptodev/rte_cryptodev.c
+++ b/lib/librte_cryptodev/rte_cryptodev.c
@@ -500,6 +500,8 @@ rte_cryptodev_get_feature_name(uint64_t flag)
return "ASYM_SESSIONLESS";
case RTE_CRYPTODEV_FF_SYM_SESSIONLESS:
return "SYM_SESSIONLESS";
+ case RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA:
+ return "NON_BYTE_ALIGNED_DATA";
default:
return NULL;
}
diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h
index 3dbb5ceb2..257840ea4 100644
--- a/lib/librte_cryptodev/rte_cryptodev.h
+++ b/lib/librte_cryptodev/rte_cryptodev.h
@@ -456,6 +456,8 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
/**< Support symmetric cpu-crypto processing */
#define RTE_CRYPTODEV_FF_SYM_SESSIONLESS (1ULL << 22)
/**< Support symmetric session-less operations */
+#define RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA (1ULL << 23)
+/**< Support operations on data which is not byte aligned */
/**
--
2.17.1
next prev parent reply other threads:[~2020-05-09 23:33 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-04 21:58 [dpdk-dev] [PATCH 0/9] test/crypto: code cleanup Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 1/9] cryptodev: add feature flag for non-byte aligned data Akhil Goyal
2020-05-05 9:57 ` Trahe, Fiona
2020-05-05 10:12 ` Akhil Goyal
2020-05-05 12:04 ` Trahe, Fiona
2020-05-04 21:58 ` [dpdk-dev] [PATCH 2/9] test/crypto: skip unsupported non-byte aligned cases Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 3/9] test/crypto: skip unsupported SG cases Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 4/9] test/crypto: skip unsupported sessionless cases Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 5/9] test/crypto: skip unsupported session Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 6/9] test/crypto: run PDCP cases if supported Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 7/9] test/crypto: remove dpaaX_sec specific testsuites Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 8/9] test/crypto: remove QAT specific check Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 9/9] test/crypto: remove unused variable Akhil Goyal
2020-05-05 14:11 ` [dpdk-dev] [PATCH 0/9] test/crypto: code cleanup Dybkowski, AdamX
2020-05-08 8:55 ` Ruifeng Wang
2020-05-09 23:57 ` Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 " Akhil Goyal
2020-05-09 23:12 ` Akhil Goyal [this message]
2020-05-11 9:29 ` [dpdk-dev] [PATCH v2 1/9] cryptodev: add feature flag for non-byte aligned data Dybkowski, AdamX
2020-05-11 10:10 ` Akhil Goyal
2020-05-11 9:54 ` De Lara Guarch, Pablo
2020-05-11 10:05 ` Akhil Goyal
2020-05-11 14:40 ` De Lara Guarch, Pablo
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 2/9] test/crypto: skip unsupported non-byte aligned cases Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 3/9] test/crypto: skip unsupported SG cases Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 4/9] test/crypto: skip unsupported sessionless cases Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 5/9] test/crypto: skip unsupported session Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 6/9] test/crypto: run PDCP cases if supported Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 7/9] test/crypto: remove dpaaX_sec specific testsuites Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 8/9] test/crypto: remove QAT specific check Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 9/9] test/crypto: remove unused variable Akhil Goyal
2020-05-11 8:39 ` [dpdk-dev] [EXT] [PATCH v2 0/9] test/crypto: code cleanup Anoob Joseph
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200509231217.8219-2-akhil.goyal@nxp.com \
--to=akhil.goyal@nxp.com \
--cc=G.Singh@nxp.com \
--cc=Ruifeng.Wang@arm.com \
--cc=adamx.dybkowski@intel.com \
--cc=adwivedi@marvell.com \
--cc=anoobj@marvell.com \
--cc=apeksha.gupta@nxp.com \
--cc=asomalap@amd.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=fiona.trahe@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=jianjay.zhou@huawei.com \
--cc=pablo.de.lara.guarch@intel.com \
--cc=rnagadheeraj@marvell.com \
--cc=roy.fan.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).