Skip to contentSkip to conversation

Use the simple name when adding SAD with ip xfrm state

PATCH In review Li Yewang 3 participants 7 messages Jan 18, 2010 – Jan 21, 2010

Subsystems (3)
lore
Share & tools
lore

Li Yewang

author
#0 lore raw

PATCH 1/1 Use the simple name when adding SAD with ip xfrm state

The encryption name such as "rfc3686(ctr(aes))" is too complex.
I think simple name is better for user when using "ip xfrm state ..." command.

---
 net/xfrm/xfrm_algo.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
net/xfrm/xfrm_algo.c +10 -0
index 743c013..6de2780 100644
@@ -31,6 +31,7 @@
 static struct xfrm_algo_desc aead_list[] = {
 {
 	.name = "rfc4106(gcm(aes))",
+	.compat = "gcm",
 
 	.uinfo = {
 		.aead = {
@@ -47,6 +48,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4106(gcm(aes))",
+	.compat = "gcm",
 
 	.uinfo = {
 		.aead = {
@@ -63,6 +65,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4106(gcm(aes))",
+	.compat = "gcm",
 
 	.uinfo = {
 		.aead = {
@@ -79,6 +82,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4309(ccm(aes))",
+	.compat = "gcm",
 
 	.uinfo = {
 		.aead = {
@@ -95,6 +99,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4309(ccm(aes))",
+	.compat = "ccm",
 
 	.uinfo = {
 		.aead = {
@@ -111,6 +116,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4309(ccm(aes))",
+	.compat = "ccm",
 
 	.uinfo = {
 		.aead = {
@@ -201,6 +207,7 @@ static struct xfrm_algo_desc aalg_list[] = {
 },
 {
 	.name = "hmac(sha384)",
+	.compat = "sha384",
 
 	.uinfo = {
 		.auth = {
@@ -218,6 +225,7 @@ static struct xfrm_algo_desc aalg_list[] = {
 },
 {
 	.name = "hmac(sha512)",
+	.compat = "sha512",
 
 	.uinfo = {
 		.auth = {
@@ -253,6 +261,7 @@ static struct xfrm_algo_desc aalg_list[] = {
 },
 {
 	.name = "xcbc(aes)",
+	.compat = "aes-xcbc",
 
 	.uinfo = {
 		.auth = {
@@ -435,6 +444,7 @@ static struct xfrm_algo_desc ealg_list[] = {
 },
 {
 	.name = "rfc3686(ctr(aes))",
+	.compat = "aes-ctr",
 
 	.uinfo = {
 		.encr = {
Signature · 1 line
1.6.4.1
author
#1 lore raw
Quoted 3 lines · Li Yewang

The encryption name such as "rfc3686(ctr(aes))" is too complex.
I think simple name is better for user when using "ip xfrm state ..." command.

sorry for bad patch about previous mail.

---
 net/xfrm/xfrm_algo.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
net/xfrm/xfrm_algo.c +10 -0
index 743c013..6de2780 100644
@@ -31,6 +31,7 @@
 static struct xfrm_algo_desc aead_list[] = {
 {
 	.name = "rfc4106(gcm(aes))",
+	.compat = "gcm",
 
 	.uinfo = {
 		.aead = {
@@ -47,6 +48,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4106(gcm(aes))",
+	.compat = "gcm",
 
 	.uinfo = {
 		.aead = {
@@ -63,6 +65,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4106(gcm(aes))",
+	.compat = "gcm",
 
 	.uinfo = {
 		.aead = {
@@ -79,6 +82,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4309(ccm(aes))",
+	.compat = "ccm",
 
 	.uinfo = {
 		.aead = {
@@ -95,6 +99,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4309(ccm(aes))",
+	.compat = "ccm",
 
 	.uinfo = {
 		.aead = {
@@ -111,6 +116,7 @@ static struct xfrm_algo_desc aead_list[] = {
 },
 {
 	.name = "rfc4309(ccm(aes))",
+	.compat = "ccm",
 
 	.uinfo = {
 		.aead = {
@@ -201,6 +207,7 @@ static struct xfrm_algo_desc aalg_list[] = {
 },
 {
 	.name = "hmac(sha384)",
+	.compat = "sha384",
 
 	.uinfo = {
 		.auth = {
@@ -218,6 +225,7 @@ static struct xfrm_algo_desc aalg_list[] = {
 },
 {
 	.name = "hmac(sha512)",
+	.compat = "sha512",
 
 	.uinfo = {
 		.auth = {
@@ -253,6 +261,7 @@ static struct xfrm_algo_desc aalg_list[] = {
 },
 {
 	.name = "xcbc(aes)",
+	.compat = "aes-xcbc",
 
 	.uinfo = {
 		.auth = {
@@ -435,6 +444,7 @@ static struct xfrm_algo_desc ealg_list[] = {
 },
 {
 	.name = "rfc3686(ctr(aes))",
+	.compat = "aes-ctr",
 
 	.uinfo = {
 		.encr = {
Signature · 1 line
1.6.4.1
maintainer
#2 lore raw
In reply to Li Yewang
Quoted 5 lines · Li Yewang

The encryption name such as "rfc3686(ctr(aes))" is too complex.
I think simple name is better for user when using "ip xfrm state ..." command.

Nack. If we want to support simple names such as these, they should be done in the crypto layer. Otherwise every crypto user that wants this would have to reinvent it.

Cheers,

Signature · 4 lines
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
author
#3 lore raw
Quoted 10 lines · Herbert Xu
Quoted 5 lines · Li Yewang

The encryption name such as "rfc3686(ctr(aes))" is too complex.
I think simple name is better for user when using "ip xfrm state ..." command.

Nack. If we want to support simple names such as these, they should be done in the crypto layer. Otherwise every crypto user that wants this would have to reinvent it.

But user sets SAD for ipsec with "ip xfrm state ..." must use the name such as "rfc3686(ctr(aes))". Is that reasonable? Maybe user can not remember this complex name.

There are some simple names for other encryptions,
such as "cbc(blowfish)", you can use "ip xfrm state ... enc blowfish ...".

maintainer
#4 lore raw

From: Li Yewang <[email protected]>
Date: Tue, 19 Jan 2010 16:25:22 +0800

Quoted 14 lines
Quoted 10 lines · Herbert Xu
Quoted 5 lines · Li Yewang

The encryption name such as "rfc3686(ctr(aes))" is too complex.
I think simple name is better for user when using "ip xfrm state ..." command.

Nack. If we want to support simple names such as these, they should be done in the crypto layer. Otherwise every crypto user that wants this would have to reinvent it.

Quoted 5 lines

But user sets SAD for ipsec with "ip xfrm state ..." must use the name such as "rfc3686(ctr(aes))". Is that reasonable? Maybe user can not remember this complex name.

There are some simple names for other encryptions,
such as "cbc(blowfish)", you can use "ip xfrm state ... enc blowfish ...".

You're not reading what Herbert is saying.

He's fine with the shorter name, he just wants you to implement is in the crypto layer core instead of the XFRM specific code.

That way all crypto users will benefit from the shorter naming.

author
#5 lore raw

Sorry, I am new to crypto.

I searched the soucre code in the directory of /crypto, and found that, all cryptos use shortname, for example:

crypto/xcbc.c
static struct crypto_template crypto_xcbc_tmpl = {
.name = "xcbc",
.create = xcbc_create,
.free = shash_free_instance, .module = THIS_MODULE,
};

The name such as rfc3686(ctr(aes)) only used by "ip xfrm state" command to set SAD.

Quoted 29 lines · David Miller

From: Li Yewang <[email protected]>
Date: Tue, 19 Jan 2010 16:25:22 +0800

Quoted 8 lines
Quoted 6 lines · Herbert Xu
Quoted 5 lines · Li Yewang

The encryption name such as "rfc3686(ctr(aes))" is too complex.
I think simple name is better for user when using "ip xfrm state ..." command.

Quoted 8 lines
Quoted 3 lines

Nack. If we want to support simple names such as these, they should be done in the crypto layer. Otherwise every crypto user that wants this would have to reinvent it.

But user sets SAD for ipsec with "ip xfrm state ..." must use the name such as "rfc3686(ctr(aes))". Is that reasonable? Maybe user can not remember this complex name.

There are some simple names for other encryptions,
such as "cbc(blowfish)", you can use "ip xfrm state ... enc blowfish ...".

You're not reading what Herbert is saying.

He's fine with the shorter name, he just wants you to implement is in the crypto layer core instead of the XFRM specific code.

That way all crypto users will benefit from the shorter naming.

Signature · 13 lines
Regards
Li Yewang
--------------------------------------------------
Li Yewang
Development Dept.I
Nanjing Fujitsu Nanda Software Tech. Co., Ltd.(FNST)
8/F., Civil Defense Building, No.189 Guangzhou Road,
Nanjing, 210029, China 
TEL: +86+25-86630566-888
COINS: 79955-888
FAX: +86+25-83317685
MAIL: [email protected]
--------------------------------------------------
maintainer
#6 lore raw
Quoted 5 lines · Li Yewang

Sorry, I am new to crypto.

I searched the soucre code in the directory of /crypto, and found that, all cryptos use shortname, for example:

Quoted 7 lines

crypto/xcbc.c
static struct crypto_template crypto_xcbc_tmpl = {
.name = "xcbc",
.create = xcbc_create,
.free = shash_free_instance, .module = THIS_MODULE,
};

No this is a template name, not an algorithm name. IOW if you try to allocate it won't exist. You need to use it together with parameters, e.g., xcbc(aes).

Cheers,

Signature · 4 lines
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt