diff options
author | Xu Jia <xujia39@huawei.com> | 2021-12-22 17:06:59 +0800 |
---|---|---|
committer | Steffen Klassert <steffen.klassert@secunet.com> | 2021-12-23 09:32:51 +0100 |
commit | 23b6a6df94c6ce434e7947cfad14b1640fb9f794 (patch) | |
tree | c1d2ac7f857846175fb2a425eaf89fbbd1b15b81 | |
parent | e6911affa416dc4e0c0b3f04cbe6b02ce13277f1 (diff) |
xfrm: Add support for SM4 symmetric cipher algorithm
This patch adds SM4 encryption algorithm entry to ealg_list.
Signed-off-by: Xu Jia <xujia39@huawei.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
-rw-r--r-- | include/uapi/linux/pfkeyv2.h | 1 | ||||
-rw-r--r-- | net/xfrm/xfrm_algo.c | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/include/uapi/linux/pfkeyv2.h b/include/uapi/linux/pfkeyv2.h index 798ba9ffd48c..8abae1f6749c 100644 --- a/include/uapi/linux/pfkeyv2.h +++ b/include/uapi/linux/pfkeyv2.h @@ -330,6 +330,7 @@ struct sadb_x_filter { #define SADB_X_EALG_AES_GCM_ICV16 20 #define SADB_X_EALG_CAMELLIACBC 22 #define SADB_X_EALG_NULL_AES_GMAC 23 +#define SADB_X_EALG_SM4CBC 24 #define SADB_EALG_MAX 253 /* last EALG */ /* private allocations should use 249-255 (RFC2407) */ #define SADB_X_EALG_SERPENTCBC 252 /* draft-ietf-ipsec-ciph-aes-cbc-00 */ diff --git a/net/xfrm/xfrm_algo.c b/net/xfrm/xfrm_algo.c index 00b5444a4d86..094734fbec96 100644 --- a/net/xfrm/xfrm_algo.c +++ b/net/xfrm/xfrm_algo.c @@ -572,6 +572,27 @@ static struct xfrm_algo_desc ealg_list[] = { .sadb_alg_maxbits = 288 } }, +{ + .name = "cbc(sm4)", + .compat = "sm4", + + .uinfo = { + .encr = { + .geniv = "echainiv", + .blockbits = 128, + .defkeybits = 128, + } + }, + + .pfkey_supported = 1, + + .desc = { + .sadb_alg_id = SADB_X_EALG_SM4CBC, + .sadb_alg_ivlen = 16, + .sadb_alg_minbits = 128, + .sadb_alg_maxbits = 256 + } +}, }; static struct xfrm_algo_desc calg_list[] = { |