diff options
Diffstat (limited to 'net/xfrm/xfrm_algo.c')
| -rw-r--r-- | net/xfrm/xfrm_algo.c | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/net/xfrm/xfrm_algo.c b/net/xfrm/xfrm_algo.c index 4dae3ab8d030..094734fbec96 100644 --- a/net/xfrm/xfrm_algo.c +++ b/net/xfrm/xfrm_algo.c @@ -341,6 +341,26 @@ static struct xfrm_algo_desc aalg_list[] = {  	.pfkey_supported = 0,  }, +{ +	.name = "hmac(sm3)", +	.compat = "sm3", + +	.uinfo = { +		.auth = { +			.icv_truncbits = 256, +			.icv_fullbits = 256, +		} +	}, + +	.pfkey_supported = 1, + +	.desc = { +		.sadb_alg_id = SADB_X_AALG_SM3_256HMAC, +		.sadb_alg_ivlen = 0, +		.sadb_alg_minbits = 256, +		.sadb_alg_maxbits = 256 +	} +},  };  static struct xfrm_algo_desc ealg_list[] = { @@ -552,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[] = { |