1*bc9ef81cSPiotr Bronowski /* SPDX-License-Identifier: BSD-3-Clause 2*bc9ef81cSPiotr Bronowski * Copyright(c) 2016-2021 Intel Corporation 3*bc9ef81cSPiotr Bronowski */ 4*bc9ef81cSPiotr Bronowski 5*bc9ef81cSPiotr Bronowski #ifndef _PMD_KASUMI_PRIV_H_ 6*bc9ef81cSPiotr Bronowski #define _PMD_KASUMI_PRIV_H_ 7*bc9ef81cSPiotr Bronowski 8*bc9ef81cSPiotr Bronowski #include "ipsec_mb_private.h" 9*bc9ef81cSPiotr Bronowski 10*bc9ef81cSPiotr Bronowski #define KASUMI_KEY_LENGTH 16 11*bc9ef81cSPiotr Bronowski #define KASUMI_IV_LENGTH 8 12*bc9ef81cSPiotr Bronowski #define KASUMI_DIGEST_LENGTH 4 13*bc9ef81cSPiotr Bronowski 14*bc9ef81cSPiotr Bronowski uint8_t pmd_driver_id_kasumi; 15*bc9ef81cSPiotr Bronowski 16*bc9ef81cSPiotr Bronowski static const struct rte_cryptodev_capabilities kasumi_capabilities[] = { 17*bc9ef81cSPiotr Bronowski { /* KASUMI (F9) */ 18*bc9ef81cSPiotr Bronowski .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, 19*bc9ef81cSPiotr Bronowski {.sym = { 20*bc9ef81cSPiotr Bronowski .xform_type = RTE_CRYPTO_SYM_XFORM_AUTH, 21*bc9ef81cSPiotr Bronowski {.auth = { 22*bc9ef81cSPiotr Bronowski .algo = RTE_CRYPTO_AUTH_KASUMI_F9, 23*bc9ef81cSPiotr Bronowski .block_size = 8, 24*bc9ef81cSPiotr Bronowski .key_size = { 25*bc9ef81cSPiotr Bronowski .min = KASUMI_KEY_LENGTH, 26*bc9ef81cSPiotr Bronowski .max = KASUMI_KEY_LENGTH, 27*bc9ef81cSPiotr Bronowski .increment = 0 28*bc9ef81cSPiotr Bronowski }, 29*bc9ef81cSPiotr Bronowski .digest_size = { 30*bc9ef81cSPiotr Bronowski .min = KASUMI_DIGEST_LENGTH, 31*bc9ef81cSPiotr Bronowski .max = KASUMI_DIGEST_LENGTH, 32*bc9ef81cSPiotr Bronowski .increment = 0 33*bc9ef81cSPiotr Bronowski }, 34*bc9ef81cSPiotr Bronowski .iv_size = { 0 } 35*bc9ef81cSPiotr Bronowski }, } 36*bc9ef81cSPiotr Bronowski }, } 37*bc9ef81cSPiotr Bronowski }, 38*bc9ef81cSPiotr Bronowski { /* KASUMI (F8) */ 39*bc9ef81cSPiotr Bronowski .op = RTE_CRYPTO_OP_TYPE_SYMMETRIC, 40*bc9ef81cSPiotr Bronowski {.sym = { 41*bc9ef81cSPiotr Bronowski .xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER, 42*bc9ef81cSPiotr Bronowski {.cipher = { 43*bc9ef81cSPiotr Bronowski .algo = RTE_CRYPTO_CIPHER_KASUMI_F8, 44*bc9ef81cSPiotr Bronowski .block_size = 8, 45*bc9ef81cSPiotr Bronowski .key_size = { 46*bc9ef81cSPiotr Bronowski .min = KASUMI_KEY_LENGTH, 47*bc9ef81cSPiotr Bronowski .max = KASUMI_KEY_LENGTH, 48*bc9ef81cSPiotr Bronowski .increment = 0 49*bc9ef81cSPiotr Bronowski }, 50*bc9ef81cSPiotr Bronowski .iv_size = { 51*bc9ef81cSPiotr Bronowski .min = KASUMI_IV_LENGTH, 52*bc9ef81cSPiotr Bronowski .max = KASUMI_IV_LENGTH, 53*bc9ef81cSPiotr Bronowski .increment = 0 54*bc9ef81cSPiotr Bronowski } 55*bc9ef81cSPiotr Bronowski }, } 56*bc9ef81cSPiotr Bronowski }, } 57*bc9ef81cSPiotr Bronowski }, 58*bc9ef81cSPiotr Bronowski RTE_CRYPTODEV_END_OF_CAPABILITIES_LIST() 59*bc9ef81cSPiotr Bronowski }; 60*bc9ef81cSPiotr Bronowski 61*bc9ef81cSPiotr Bronowski #endif /* _PMD_KASUMI_PRIV_H_ */ 62