[dpdk-dev] [PATCH v6 8/8] app/test: add ARMv8 crypto tests and test vectors

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce unit tests for ARMv8 crypto PMD. Add test vectors for short cases such as 160 bytes. These test cases are ARMv8 specific since the code provides different processing paths for different input data sizes. User can validate correctness of algorithms' implementation u

[dpdk-dev] [PATCH v6 7/8] MAINTAINERS: update MAINTAINERS entry for ARMv8 crypto

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- MAINTAINERS | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 8d0fe40..0a1c889 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -458,6 +458,12 @@ M: Declan Doherty F: drivers/

[dpdk-dev] [PATCH v6 6/8] crypto/armv8: enable ARMv8 PMD in the configuration

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Add CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option to the common configuration file. Don't enable it by default for ARM64 as it requires external library to build. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- config/common_base | 6 ++ 1 file changed, 6 inser

[dpdk-dev] [PATCH v6 5/8] doc: update documentation about ARMv8 crypto PMD

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Add documentation about the driver and update release notes. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- doc/guides/cryptodevs/armv8.rst| 98 ++ doc/guides/cryptodevs/index.rst| 1 + doc/guides/cryptodevs/ove

[dpdk-dev] [PATCH v6 4/8] cryptodev/armv8: introduce ARM-specific feature flags

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Add two new feature flags: * RTE_CRYPTODEV_FF_CPU_NEON represents ARM NEON (TM) instructions * RTE_CRYPTODEV_FF_CPU_ARM_CE represents ARM crypto extensions Add them to both cryptodev library, documentation and relevant PMD driver for ARMv8. Signed-off-by: Zbigniew Bodek

[dpdk-dev] [PATCH v6 3/8] mk: add PMD to the build system

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Build ARMv8 crypto PMD if compiling for ARM64 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option is enable in the configuration file. ARMV8_CRYPTO_LIB_PATH environment variable will point to the appropriate library directory. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jaco

[dpdk-dev] [PATCH v6 0/8] Add crypto PMD optimized for ARMv8

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce crypto poll mode driver using ARMv8 cryptographic extensions. This PMD is optimized to provide performance boost for chained crypto operations processing, such as: * encryption + HMAC generation * decryption + HMAC validation. In particular, cipher only or hash only

[dpdk-dev] [PATCH v6 2/8] crypto/armv8: add PMD optimized for ARMv8 processors

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek This patch introduces crypto poll mode driver using ARMv8 cryptographic extensions. CPU compatibility with this driver is detected in run-time and virtual crypto device will not be created if CPU doesn't provide: AES, SHA1, SHA2 and NEON. This PMD is optimized to provide per

[dpdk-dev] [PATCH v6 1/8] cryptodev: add cryptodev type for the ARMv8 PMD

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Add type and name for ARMv8 crypto PMD Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- lib/librte_cryptodev/rte_cryptodev.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index

[dpdk-dev] [PATCH v5 7/7] app/test: add ARMv8 crypto tests and test vectors

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce unit tests for ARMv8 crypto PMD. Add test vectors for short cases such as 160 bytes. These test cases are ARMv8 specific since the code provides different processing paths for different input data sizes. User can validate correctness of algorithms' implementation u

[dpdk-dev] [PATCH v5 6/7] MAINTAINERS: update MAINTAINERS entry for ARMv8 crypto

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- MAINTAINERS | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 9645c9b..00c7adc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -447,6 +447,12 @@ M: Declan Doherty F: drivers/

[dpdk-dev] [PATCH v5 5/7] crypto/armv8: enable ARMv8 PMD in the configuration

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Add CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option to the common configuration file. Don't enable it by default for ARM64 as it requires external library to build. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- config/common_base | 6 ++ 1 file changed, 6 inser

[dpdk-dev] [PATCH v5 4/7] doc: update documentation about ARMv8 crypto PMD

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Add documentation about the driver and update release notes. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- doc/guides/cryptodevs/armv8.rst| 96 ++ doc/guides/cryptodevs/index.rst| 1 + doc/guides/rel_notes/rele

[dpdk-dev] [PATCH v5 3/7] mk: add PMD to the build system

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Build ARMv8 crypto PMD if compiling for ARM64 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option is enable in the configuration file. ARMV8_CRYPTO_LIB_PATH environment variable will point to the appropriate library directory. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jaco

[dpdk-dev] [PATCH v5 2/7] crypto/armv8: add PMD optimized for ARMv8 processors

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek This patch introduces crypto poll mode driver using ARMv8 cryptographic extensions. CPU compatibility with this driver is detected in run-time and virtual crypto device will not be created if CPU doesn't provide: AES, SHA1, SHA2 and NEON. This PMD is optimized to provide per

[dpdk-dev] [PATCH v5 1/7] cryptodev: add cryptodev type for the ARMv8 PMD

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Add type and name for ARMv8 crypto PMD Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- lib/librte_cryptodev/rte_cryptodev.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index

[dpdk-dev] [PATCH v5 0/7] Add crypto PMD optimized for ARMv8

2017-01-18 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce crypto poll mode driver using ARMv8 cryptographic extensions. This PMD is optimized to provide performance boost for chained crypto operations processing, such as: * encryption + HMAC generation * decryption + HMAC validation. In particular, cipher only or hash only

[dpdk-dev] [PATCH v4 7/7] app/test: add ARMv8 crypto tests and test vectors

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce unit tests for ARMv8 crypto PMD. Add test vectors for short cases such as 160 bytes. These test cases are ARMv8 specific since the code provides different processing paths for different input data sizes. User can validate correctness of algorithms' implementation u

[dpdk-dev] [PATCH v4 6/7] MAINTAINERS: update MAINTAINERS entry for ARMv8 crypto

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- MAINTAINERS | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 9645c9b..00c7adc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -447,6 +447,12 @@ M: Declan Doherty F: drivers/

[dpdk-dev] [PATCH v4 5/7] crypto/armv8: enable ARMv8 PMD in the configuration

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek Add CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option to the common configuration file. Don't enable it by default for ARM64 as it requires external library to build. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- config/common_base | 6 ++ 1 file changed, 6 inser

[dpdk-dev] [PATCH v4 1/7] lib: add cryptodev type for the upcoming ARMv8 PMD

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek Add type and name for ARMv8 crypto PMD Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- lib/librte_cryptodev/rte_cryptodev.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index

[dpdk-dev] [PATCH v4 4/7] doc: update documentation about ARMv8 crypto PMD

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek Add documentation about the driver and update release notes. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob --- doc/guides/cryptodevs/armv8.rst| 96 ++ doc/guides/cryptodevs/index.rst| 1 + doc/guides/rel_notes/rele

[dpdk-dev] [PATCH v4 3/7] mk: add PMD to the build system

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek Build ARMv8 crypto PMD if compiling for ARM64 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option is enable in the configuration file. ARMV8_CRYPTO_LIB_PATH environment variable will point to the appropriate library directory. Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jaco

[dpdk-dev] [PATCH v4 2/7] crypto/armv8: add PMD optimized for ARMv8 processors

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek This patch introduces crypto poll mode driver using ARMv8 cryptographic extensions. CPU compatibility with this driver is detected in run-time and virtual crypto device will not be created if CPU doesn't provide: AES, SHA1, SHA2 and NEON. This PMD is optimized to provide per

[dpdk-dev] [PATCH v4 0/7] Add crypto PMD optimized for ARMv8

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce crypto poll mode driver using ARMv8 cryptographic extensions. This PMD is optimized to provide performance boost for chained crypto operations processing, such as: * encryption + HMAC generation * decryption + HMAC validation. In particular, cipher only or hash only

[dpdk-dev] [PATCH] mk: fix build of assembly files for ARM64

2017-01-17 Thread zbigniew.bodek
From: Zbigniew Bodek Avoid using incorrect assembler (nasm) and unsupported flags when building for ARM64. Fixes: af75078fece3 ("first public release") Fixes: b3ce00e5fe36 ("mk: introduce ARMv8 architecture") Signed-off-by: Zbigniew Bodek Reviewed-by: Jerin Jacob Acked-by: Hemant Agrawal ---

[dpdk-dev] [PATCH] examples/ipsec-secgw: add support for SHA256 HMAC

2017-01-12 Thread zbigniew.bodek
From: Zbigniew Bodek Add minor adjustments to support SHA256 HMAC: - extend maximum key length to match SHA256 HMAC - add SHA256 HMAC parameters and configuration string - add SHA256 HMAC to inbound and outbound cases Signed-off-by: Zbigniew Bodek --- examples/ipsec-secgw/esp.c | 2 ++ examp

[dpdk-dev] [PATCH v3 8/8] app/test: add ARMv8 crypto tests and test vectors

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce unit tests for ARMv8 crypto PMD. Add test vectors for short cases such as 160 bytes. These test cases are ARMv8 specific since the code provides different processing paths for different input data sizes. User can validate correctness of algorithms' implementation u

[dpdk-dev] [PATCH v3 6/8] crypto/armv8: enable ARMv8 PMD in the configuration

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek Add CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option to the common configuration file. Don't enable it by default for ARM64 as it requires external library to build. Signed-off-by: Zbigniew Bodek --- config/common_base | 6 ++ 1 file changed, 6 insertions(+) diff --git a/con

[dpdk-dev] [PATCH v3 7/8] crypto/armv8: update MAINTAINERS entry for ARMv8 crypto

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek Signed-off-by: Zbigniew Bodek --- MAINTAINERS | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index ebc97b8..89b5179 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -447,6 +447,12 @@ M: Declan Doherty F: drivers/crypto/openssl/ F: doc/gu

[dpdk-dev] [PATCH v3 5/8] doc/armv8: update documentation about crypto PMD

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek Add documentation about the driver and update release notes. Signed-off-by: Zbigniew Bodek --- doc/guides/cryptodevs/armv8.rst| 96 ++ doc/guides/cryptodevs/index.rst| 1 + doc/guides/rel_notes/release_17_02.rst | 5 ++ 3 f

[dpdk-dev] [PATCH v3 4/8] mk/crypto/armv8: add PMD to the build system

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek Build ARMv8 crypto PMD if compiling for ARM64 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option is enable in the configuration file. ARMV8_CRYPTO_LIB_PATH environment variable will point to the appropriate library directory. Signed-off-by: Zbigniew Bodek --- drivers/crypto/Mak

[dpdk-dev] [PATCH v3 3/8] crypto/armv8: add PMD optimized for ARMv8 processors

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek This patch introduces crypto poll mode driver using ARMv8 cryptographic extensions. CPU compatibility with this driver is detected in run-time and virtual crypto device will not be created if CPU doesn't provide: AES, SHA1, SHA2 and NEON. This PMD is optimized to provide per

[dpdk-dev] [PATCH v3 0/8] Add crypto PMD optimized for ARMv8

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce crypto poll mode driver using ARMv8 cryptographic extensions. This PMD is optimized to provide performance boost for chained crypto operations processing, such as: * encryption + HMAC generation * decryption + HMAC validation. In particular, cipher only or hash only

[dpdk-dev] [PATCH v3 2/8] lib: add cryptodev type for the upcoming ARMv8 PMD

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek Add type and name for ARMv8 crypto PMD Signed-off-by: Zbigniew Bodek --- lib/librte_cryptodev/rte_cryptodev.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index 8f63e8f..6f34f22 100644 -

[dpdk-dev] [PATCH v3 1/8] mk: fix build of assembly files for ARM64

2017-01-04 Thread zbigniew.bodek
From: Zbigniew Bodek Avoid using incorrect assembler (nasm) and unsupported flags when building for ARM64. Fixes: af75078fece3 ("first public release") b3ce00e5fe36 ("mk: introduce ARMv8 architecture") Signed-off-by: Zbigniew Bodek --- mk/arch/arm64/rte.vars.mk| 1 - mk/toolchain

[dpdk-dev] [PATCH v2 09/12] doc/armv8: update documentation about crypto PMD

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek Add documentation about the driver and update release notes. Signed-off-by: Zbigniew Bodek --- doc/guides/cryptodevs/armv8.rst| 82 ++ doc/guides/cryptodevs/index.rst| 1 + doc/guides/rel_notes/release_17_02.rst | 5 +++ 3

[dpdk-dev] [PATCH v2 12/12] app/test: add ARMv8 crypto tests and test vectors

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce unit tests for ARMv8 crypto PMD. Add test vectors for short cases such as 160 bytes. These test cases are ARMv8 specific since the code provides different processing paths for different input data sizes. Add test vectors for cipher + SHA256 MAC generation. User can

[dpdk-dev] [PATCH v2 11/12] crypto/armv8: update MAINTAINERS entry for ARMv8 crypto

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek Signed-off-by: Zbigniew Bodek --- MAINTAINERS | 6 ++ 1 file changed, 6 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 26d9590..ef1f25b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -445,6 +445,12 @@ M: Declan Doherty F: drivers/crypto/openssl/ F: doc/gu

[dpdk-dev] [PATCH v2 10/12] crypto/armv8: enable ARMv8 PMD in the configuration

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek Add CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option to the common configuration file and enable it by default for ARM64. Signed-off-by: Zbigniew Bodek --- config/common_base | 6 ++ config/defconfig_arm64-armv8a-linuxapp-gcc | 2 ++ 2 files changed, 8

[dpdk-dev] [PATCH v2 08/12] mk/crypto/armv8: add PMD to the build system

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek Build ARMv8 crypto PMD if compiling for ARM64 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO option is enable in the configuration file. Signed-off-by: Zbigniew Bodek --- drivers/crypto/Makefile | 3 +++ mk/rte.app.mk | 3 +++ 2 files changed, 6 insertions(+) diff --git

[dpdk-dev] [PATCH v2 07/12] crypto/armv8: generate ASM symbols automatically

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek In order to acquire crypto_arg structure fields from the assembly code it is necessary to generate macros that will define offsets to those fields during app build. This will allow for free crypto_arg structure modifications in the future without the necessity to make similar

[dpdk-dev] [PATCH v2 06/12] crypto/armv8: add PMD optimized for ARMv8 processors

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek This patch introduces crypto poll mode driver using ARMv8 cryptographic extensions. CPU compatibility with this driver is detected in run-time and virtual crypto device will not be created if CPU doesn't provide: AES, SHA1, SHA2 and NEON. This PMD is optimized to provide per

[dpdk-dev] [PATCH v2 05/12] crypto/armv8: Add AES+SHA1 crypto operations for ARMv8

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek This patch adds AES-128-CBC + SHA1 low-level crypto operations for ARMv8 processors. The assembly code is a base for an optimized PMD and is currently excluded from the build. This code is optimized to provide performance boost for combined operations such as encryption + HM

[dpdk-dev] [PATCH v2 02/12] lib: add cryptodev type for the upcoming ARMv8 PMD

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek Add type and name for ARMv8 crypto PMD Signed-off-by: Zbigniew Bodek --- lib/librte_cryptodev/rte_cryptodev.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h index 8f63e8f..7bab79d 100644 -

[dpdk-dev] [PATCH v2 03/12] crypto/armv8: Add core crypto operations for ARMv8

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek This patch adds core low-level crypto operations for ARMv8 processors. The assembly code is a base for an optimized PMD and is currently excluded from the build. Standalone SHA1 and SHA256 are provided to support partial hashing of inner/outer key+padding and authentication

[dpdk-dev] [PATCH v2 00/12] Add crypto PMD optimized for ARMv8

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce crypto poll mode driver using ARMv8 cryptographic extensions. This PMD is optimized to provide performance boost for chained crypto operations processing, such as: * encryption + HMAC generation * decryption + HMAC validation. In particular, cipher only or hash only

[dpdk-dev] [PATCH v2 01/12] mk: fix build of assembly files for ARM64

2016-12-06 Thread zbigniew.bodek
From: Zbigniew Bodek Avoid using incorrect assembler (nasm) and unsupported flags when building for ARM64. Signed-off-by: Zbigniew Bodek --- mk/arch/arm64/rte.vars.mk| 1 - mk/toolchain/gcc/rte.vars.mk | 6 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mk/arch/arm64

[dpdk-dev] [PATCH 3/3] app/test: add ARMv8 crypto tests and test vectors

2016-12-03 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce unit tests for ARMv8 crypto PMD. Add test vectors for short cases such as 160 bytes. These test cases are ARMv8 specific since the code provides different processing paths for different input data sizes. Add test vectors for cipher + SHA256 MAC generation. User can

[dpdk-dev] [PATCH 1/3] mk: fix build of assembly files for ARM64

2016-12-03 Thread zbigniew.bodek
From: Zbigniew Bodek Avoid using incorrect assembler (nasm) and unsupported flags when building for ARM64. Signed-off-by: Zbigniew Bodek --- mk/arch/arm64/rte.vars.mk| 1 - mk/toolchain/gcc/rte.vars.mk | 6 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mk/arch/arm64

[dpdk-dev] [PATCH] Add crypto PMD optimized for ARMv8

2016-12-03 Thread zbigniew.bodek
From: Zbigniew Bodek Introduce crypto poll mode driver using ARMv8 cryptographic extensions. This PMD is optimized to provide performance boost for chained crypto operations processing, such as: * encryption + HMAC generation * decryption + HMAC validation. In particular, cipher only or hash only