diff mbox

[XFRM] Use the simple name when adding SAD with ip xfrm state

Message ID 4B541EE9.9010803@cn.fujitsu.com
State Superseded, archived
Delegated to: David Miller
Headers show

Commit Message

Li Yewang Jan. 18, 2010, 8:42 a.m. UTC
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.
 

Signed-off-by: Li Yewang <lyw@cn.fujitsu.com>
---
 net/xfrm/xfrm_algo.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

Comments

Herbert Xu Jan. 19, 2010, 2:20 a.m. UTC | #1
Li Yewang <lyw@cn.fujitsu.com> wrote:
> 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.
> 
> 
> Signed-off-by: Li Yewang <lyw@cn.fujitsu.com>

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,
Li Yewang Jan. 19, 2010, 8:25 a.m. UTC | #2
Herbert Xu wrote:
> Li Yewang <lyw@cn.fujitsu.com> wrote:
>> 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.
>>
>>
>> Signed-off-by: Li Yewang <lyw@cn.fujitsu.com>
> 
> 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 ...".


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller Jan. 19, 2010, 8:30 a.m. UTC | #3
From: Li Yewang <lyw@cn.fujitsu.com>
Date: Tue, 19 Jan 2010 16:25:22 +0800

> 
> 
> Herbert Xu wrote:
>> Li Yewang <lyw@cn.fujitsu.com> wrote:
>>> 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.
>>>
>>>
>>> Signed-off-by: Li Yewang <lyw@cn.fujitsu.com>
>> 
>> 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.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Li Yewang Jan. 21, 2010, 5:22 a.m. UTC | #4
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.



David Miller wrote:
> From: Li Yewang <lyw@cn.fujitsu.com>
> Date: Tue, 19 Jan 2010 16:25:22 +0800
> 
>>
>> Herbert Xu wrote:
>>> Li Yewang <lyw@cn.fujitsu.com> wrote:
>>>> 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.
>>>>
>>>>
>>>> Signed-off-by: Li Yewang <lyw@cn.fujitsu.com>
>>> 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.
> 
> 
>
Herbert Xu Jan. 21, 2010, 9:10 a.m. UTC | #5
On Thu, Jan 21, 2010 at 01:22:17PM +0800, Li Yewang wrote:
> 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,
> };

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,
diff mbox

Patch

diff --git a/net/xfrm/xfrm_algo.c b/net/xfrm/xfrm_algo.c
index 743c013..6de2780 100644
--- a/net/xfrm/xfrm_algo.c
+++ b/net/xfrm/xfrm_algo.c
@@ -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 = {