Skip to content

Commit

Permalink
xfrm: Add IV generator information to xfrm_algo_desc
Browse files Browse the repository at this point in the history
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: Herbert Xu <herbert@gondor.apana.org.au>
  • Loading branch information
Herbert Xu committed May 28, 2015
1 parent 8a525fc commit 165ecc6
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
2 changes: 2 additions & 0 deletions include/net/xfrm.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};

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

struct xfrm_algo_encr_info {
char *geniv;
u16 blockbits;
u16 defkeybits;
};
Expand Down
16 changes: 16 additions & 0 deletions net/xfrm/xfrm_algo.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ static struct xfrm_algo_desc aead_list[] = {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.uinfo = {
.encr = {
.geniv = "echainiv",
.blockbits = 128,
.defkeybits = 128,
}
Expand All @@ -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 */
}
Expand Down

0 comments on commit 165ecc6

Please sign in to comment.