Re: [PATCH] selftests/tls: add SM4 GCM/CCM to tls selftests

From: Hangbin Liu
Date: Fri Oct 15 2021 - 04:37:13 EST


Hi Tianjia,

The new added tls selftest failed with latest net-next in RedHat CKI
test env. Would you like to help check if we missed anything?

Here is the pipeline page
https://datawarehouse.cki-project.org/kcidb/builds/67720
Config URL:
http://s3.amazonaws.com/arr-cki-prod-datawarehouse-public/datawarehouse-public/2021/10/14/388570846/redhat:388570846/redhat:388570846_x86_64_debug/.config
Build Log URL:
http://s3.amazonaws.com/arr-cki-prod-datawarehouse-public/datawarehouse-public/2021/10/14/388570846/redhat:388570846/redhat:388570846_x86_64_debug/build.log
TLS test log:
https://s3.us-east-1.amazonaws.com/arr-cki-prod-datawarehouse-public/datawarehouse-public/2021/10/14/redhat:388570846/build_x86_64_redhat:388570846_x86_64_debug/tests/1/results_0001/job.01/recipes/10799149/tasks/19/results/1634231959/logs/resultoutputfile.log
Command: make -j24 INSTALL_MOD_STRIP=1 targz-pkg
Architecture: x86_64

Please tell me if you need any other info.

Thanks
Hangbin

On Fri, Oct 08, 2021 at 05:17:45PM +0800, Tianjia Zhang wrote:
> Add new cipher as a variant of standard tls selftests.
>
> Signed-off-by: Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx>
> ---
> tools/testing/selftests/net/tls.c | 28 ++++++++++++++++++++++++++--
> 1 file changed, 26 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/net/tls.c
> index 97fceb9be9ed..d3047e251fe9 100644
> --- a/tools/testing/selftests/net/tls.c
> +++ b/tools/testing/selftests/net/tls.c
> @@ -29,6 +29,8 @@ struct tls_crypto_info_keys {
> union {
> struct tls12_crypto_info_aes_gcm_128 aes128;
> struct tls12_crypto_info_chacha20_poly1305 chacha20;
> + struct tls12_crypto_info_sm4_gcm sm4gcm;
> + struct tls12_crypto_info_sm4_ccm sm4ccm;
> };
> size_t len;
> };
> @@ -49,6 +51,16 @@ static void tls_crypto_info_init(uint16_t tls_version, uint16_t cipher_type,
> tls12->aes128.info.version = tls_version;
> tls12->aes128.info.cipher_type = cipher_type;
> break;
> + case TLS_CIPHER_SM4_GCM:
> + tls12->len = sizeof(struct tls12_crypto_info_sm4_gcm);
> + tls12->sm4gcm.info.version = tls_version;
> + tls12->sm4gcm.info.cipher_type = cipher_type;
> + break;
> + case TLS_CIPHER_SM4_CCM:
> + tls12->len = sizeof(struct tls12_crypto_info_sm4_ccm);
> + tls12->sm4ccm.info.version = tls_version;
> + tls12->sm4ccm.info.cipher_type = cipher_type;
> + break;
> default:
> break;
> }
> @@ -148,13 +160,13 @@ FIXTURE_VARIANT(tls)
> uint16_t cipher_type;
> };
>
> -FIXTURE_VARIANT_ADD(tls, 12_gcm)
> +FIXTURE_VARIANT_ADD(tls, 12_aes_gcm)
> {
> .tls_version = TLS_1_2_VERSION,
> .cipher_type = TLS_CIPHER_AES_GCM_128,
> };
>
> -FIXTURE_VARIANT_ADD(tls, 13_gcm)
> +FIXTURE_VARIANT_ADD(tls, 13_aes_gcm)
> {
> .tls_version = TLS_1_3_VERSION,
> .cipher_type = TLS_CIPHER_AES_GCM_128,
> @@ -172,6 +184,18 @@ FIXTURE_VARIANT_ADD(tls, 13_chacha)
> .cipher_type = TLS_CIPHER_CHACHA20_POLY1305,
> };
>
> +FIXTURE_VARIANT_ADD(tls, 13_sm4_gcm)
> +{
> + .tls_version = TLS_1_3_VERSION,
> + .cipher_type = TLS_CIPHER_SM4_GCM,
> +};
> +
> +FIXTURE_VARIANT_ADD(tls, 13_sm4_ccm)
> +{
> + .tls_version = TLS_1_3_VERSION,
> + .cipher_type = TLS_CIPHER_SM4_CCM,
> +};
> +
> FIXTURE_SETUP(tls)
> {
> struct tls_crypto_info_keys tls12;
> --
> 2.19.1.3.ge56e4f7
>