Re: [Hipsec] HIP transforms

Miika Komu <mkomu@cs.hut.fi> Mon, 14 February 2011 05:43 UTC

Return-Path: <mkomu@cs.hut.fi>
X-Original-To: hipsec@core3.amsl.com
Delivered-To: hipsec@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6F44E3A6C65 for <hipsec@core3.amsl.com>; Sun, 13 Feb 2011 21:43:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g+JGdhLdKol4 for <hipsec@core3.amsl.com>; Sun, 13 Feb 2011 21:43:39 -0800 (PST)
Received: from mail.cs.hut.fi (mail.cs.hut.fi [130.233.192.7]) by core3.amsl.com (Postfix) with ESMTP id 3A7603A6C64 for <hipsec@ietf.org>; Sun, 13 Feb 2011 21:43:39 -0800 (PST)
Received: from hutcs.cs.hut.fi ([130.233.192.10] helo=[127.0.0.1]) by mail.cs.hut.fi with esmtp (Exim 4.54) id 1PorE7-0000M9-SG for hipsec@ietf.org; Mon, 14 Feb 2011 07:43:59 +0200
Message-ID: <4D58C109.2060002@cs.hut.fi>
Date: Mon, 14 Feb 2011 07:43:37 +0200
From: Miika Komu <mkomu@cs.hut.fi>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101208 Thunderbird/3.1.7
MIME-Version: 1.0
To: hipsec@ietf.org
References: <3B655520-4A45-4B06-8616-76B39E66976B@cs.rwth-aachen.de>
In-Reply-To: <3B655520-4A45-4B06-8616-76B39E66976B@cs.rwth-aachen.de>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [Hipsec] HIP transforms
X-BeenThere: hipsec@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "This is the official IETF Mailing List for the HIP Working Group." <hipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hipsec>, <mailto:hipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hipsec>
List-Post: <mailto:hipsec@ietf.org>
List-Help: <mailto:hipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hipsec>, <mailto:hipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Feb 2011 05:43:40 -0000

Hi,

On 12/02/11 18:47, Tobias Heer wrote:
> Hi everyone,
>
> this came up in Miika's and Ari's review of 5201-bis. The cited text comes from
> rfc5201 - This also affects rfc5202.
>
> <rfc5201>
>> 5.2.1.  TLV Format
>>
>>   The type-field value also describes the order of these
>>   fields in the packet, except for type values from 2048 to 4095 which
>>   are reserved for new transport forms.
>>
> ...
>     Parameters using type values from 2048 up to 4095 are transport
>     formats.  Currently, one transport format is defined: the ESP
>     transport format [I-D.ietf-hip-rfc5202-bis].  The order of these
>     parameters does not follow the order of their type value, but they
>     are put in the packet in order of preference.  The first of the
>     transport formats it the most preferred, and so on.
> ...
>
> </rfc5201>
>
>> Ari: This is a bit strange exception. I wonder if it would make sense to make this consistent with the other ordered lists, i.e., have one parameter that lists the supported transport formats and then, depending on which format was chosen, the corresponding parameter(s) from this range are used (and others ignored).
>
> As Ari correctly stated, we have other negotiations in BEX and these use
> different preference lists encoded as list parameters (e.g., DH list, HIT suite
> list). Even the ESP transform parameter (rfc5202, type 4095) has such list.
>
> The question is: is the exception for the transport formats really
> good/necessary/justified or should we consider an alternative?
>
> I personally think lifting this exception will make implementations simpler and
> less error prone. Especially the checking of the parameter sequence would be
> easier.
>
> I see two options here:
>
>
> A) Give all transforms the same type number and an additional sub-type number.
> The order of the parameters in the HIP packet would indicate the preference
> then. From a handling-point-of-view this option is very similar to as it is now
> but there would be just one transform type with subtypes.
>
> Example HIP packet excerpt:
> (2096 is an arbitrary type number for the new transport form parameter)
> +------+ +------+--------+ +------+--------+
> |Header| | 2096 | 1| ESP | | 2096 | 2| XYZ | ...
> +------+ +---------------+ +------+--------+
> This would mean ESP is preferred, XYZ is not preferred but supported.
>
>
>
> B) Give all transforms different type numbers, keep the ordering and express
> preference in a list. From a specification-point-of-view this is similar to what we have now.
> 5202 could stay mostly as it is now.
>
> Example HIP packet excerpt:
> (ESP has type number 4095 but for the clarity of the example I use 2095)
> +------+ +----+--------------+ +----+---+ +----+---+
> |Header| |2050|List: ESP, XYZ| |2095|XYZ| |4095|ESP| ...
> +------+ +----+--------------+ +----+---+ +----+---+
>                  ^
>                  |
> List------------+
>
> Again, this would mean ESP is preferred, XYZ is not preferred but supported.
>
> I prefer option B because it is more similar to other negotiations in BEX.
>
> Any opinions?

what about:

C) The order of these parameters follows the order of their type value 
and they are put in the packet in order of preference.

Then the type value for ESP should be (2048 + 4095) / 2 =~ 3071 (further 
types should be allocated similarly).

If not C), then my vote goes to B).