Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 165ecc63 authored by Herbert Xu's avatar Herbert Xu
Browse files

xfrm: Add IV generator information to xfrm_algo_desc



This patch adds IV generator information for each AEAD and block
cipher to xfrm_algo_desc.  This will be used to access the new
AEAD interface.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 8a525fcd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1314,6 +1314,7 @@ static inline int xfrm_id_proto_match(u8 proto, u8 userproto)
 * xfrm algorithm information
 */
struct xfrm_algo_aead_info {
	char *geniv;
	u16 icv_truncbits;
};

@@ -1323,6 +1324,7 @@ struct xfrm_algo_auth_info {
};

struct xfrm_algo_encr_info {
	char *geniv;
	u16 blockbits;
	u16 defkeybits;
};
+16 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ static struct xfrm_algo_desc aead_list[] = {

	.uinfo = {
		.aead = {
			.geniv = "seqniv",
			.icv_truncbits = 64,
		}
	},
@@ -49,6 +50,7 @@ static struct xfrm_algo_desc aead_list[] = {

	.uinfo = {
		.aead = {
			.geniv = "seqniv",
			.icv_truncbits = 96,
		}
	},
@@ -67,6 +69,7 @@ static struct xfrm_algo_desc aead_list[] = {

	.uinfo = {
		.aead = {
			.geniv = "seqniv",
			.icv_truncbits = 128,
		}
	},
@@ -85,6 +88,7 @@ static struct xfrm_algo_desc aead_list[] = {

	.uinfo = {
		.aead = {
			.geniv = "seqniv",
			.icv_truncbits = 64,
		}
	},
@@ -103,6 +107,7 @@ static struct xfrm_algo_desc aead_list[] = {

	.uinfo = {
		.aead = {
			.geniv = "seqniv",
			.icv_truncbits = 96,
		}
	},
@@ -121,6 +126,7 @@ static struct xfrm_algo_desc aead_list[] = {

	.uinfo = {
		.aead = {
			.geniv = "seqniv",
			.icv_truncbits = 128,
		}
	},
@@ -139,6 +145,7 @@ static struct xfrm_algo_desc aead_list[] = {

	.uinfo = {
		.aead = {
			.geniv = "seqiv",
			.icv_truncbits = 128,
		}
	},
@@ -353,6 +360,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "echainiv",
			.blockbits = 64,
			.defkeybits = 64,
		}
@@ -373,6 +381,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "echainiv",
			.blockbits = 64,
			.defkeybits = 192,
		}
@@ -393,6 +402,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "echainiv",
			.blockbits = 64,
			.defkeybits = 128,
		}
@@ -413,6 +423,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "echainiv",
			.blockbits = 64,
			.defkeybits = 128,
		}
@@ -433,6 +444,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "echainiv",
			.blockbits = 128,
			.defkeybits = 128,
		}
@@ -453,6 +465,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "echainiv",
			.blockbits = 128,
			.defkeybits = 128,
		}
@@ -473,6 +486,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "echainiv",
			.blockbits = 128,
			.defkeybits = 128,
		}
@@ -493,6 +507,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "echainiv",
			.blockbits = 128,
			.defkeybits = 128,
		}
@@ -512,6 +527,7 @@ static struct xfrm_algo_desc ealg_list[] = {

	.uinfo = {
		.encr = {
			.geniv = "seqiv",
			.blockbits = 128,
			.defkeybits = 160, /* 128-bit key + 32-bit nonce */
		}