Re: New Version Notification for draft-sarikaya-6man-next-hop-ra-00.txt

Dan Lüdtke <maildanrl@gmail.com> Fri, 14 February 2014 17:36 UTC

Return-Path: <maildanrl@gmail.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E0DF31A035C for <ipv6@ietfa.amsl.com>; Fri, 14 Feb 2014 09:36:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.1
X-Spam-Level:
X-Spam-Status: No, score=-1.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, J_CHICKENPOX_66=0.6, MIME_8BIT_HEADER=0.3, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hahvsbXptALP for <ipv6@ietfa.amsl.com>; Fri, 14 Feb 2014 09:36:16 -0800 (PST)
Received: from mail-pb0-x22c.google.com (mail-pb0-x22c.google.com [IPv6:2607:f8b0:400e:c01::22c]) by ietfa.amsl.com (Postfix) with ESMTP id D01CB1A0361 for <6man@ietf.org>; Fri, 14 Feb 2014 09:36:08 -0800 (PST)
Received: by mail-pb0-f44.google.com with SMTP id rq2so12661767pbb.3 for <6man@ietf.org>; Fri, 14 Feb 2014 09:36:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=/CS/ik8KF1Uh0zL+t2JQ1bqbWbXyQY+EUt9TnXvzVJ0=; b=O0Nk8aoADKjKepGhVYDGFF/O4aylyBLejRbdiR2z1ozU9vIfhzV2qi8zfok9Q6fEZA odreCp6eM8ZaHBrM35kvvGao3qWen3D1mp8iu6S2IFX43UUQ8BcOlGfY0+/3Esrpa4Oj /eVdwwzrFp5+pR+AO2u9VmTJ/6VNS+WplExcf4xXx/XJd+AoXXKLoX5EN9fMxJJqfhLt 1miQYRS1unIFTdCJyxK/gARuq5BrW6zVTyKXOdm6lesGpuxWUz7UyYq+uwnD4P5PW5rP rPHqOOOwUW7t/XuWaXHPb8T7OUBxx6VSHMos78lD0MY4INNnUoeWZ0z9cKMD17/NejaV K3eA==
X-Received: by 10.66.159.233 with SMTP id xf9mr10517830pab.139.1392399367390; Fri, 14 Feb 2014 09:36:07 -0800 (PST)
MIME-Version: 1.0
Received: by 10.68.104.66 with HTTP; Fri, 14 Feb 2014 09:35:47 -0800 (PST)
In-Reply-To: <CAC8QAccLtt4E2D0Ot6DQHN0N8Nq__ek_rRr4Geu2-Oo9enNkFA@mail.gmail.com>
References: <20140210213947.14657.20184.idtracker@ietfa.amsl.com> <CAC8QAccLtt4E2D0Ot6DQHN0N8Nq__ek_rRr4Geu2-Oo9enNkFA@mail.gmail.com>
From: Dan Lüdtke <maildanrl@gmail.com>
Date: Fri, 14 Feb 2014 18:35:47 +0100
Message-ID: <CAAfuxnJHOkA099VPVXjP0cDSFURnmgcoQN6=AMWZ8hSC9ed7ow@mail.gmail.com>
Subject: Re: New Version Notification for draft-sarikaya-6man-next-hop-ra-00.txt
To: sarikaya@ieee.org
Content-Type: text/plain; charset="UTF-8"
Archived-At: http://mailarchive.ietf.org/arch/msg/ipv6/pIKshYk6viw4N9TtrRq3VYSt5fY
X-Mailman-Approved-At: Fri, 14 Feb 2014 13:10:43 -0800
Cc: "6man@ietf.org" <6man@ietf.org>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 14 Feb 2014 17:36:19 -0000

Hi,

I have very mixed feelings regarding this draft and I have not yet
decided whether it is me or the draft :)

I just throw my first thoughts in. I might get more verbose later or
next week. Just pick up what you think is helpful and maybe improve
the draft or help me understand why some of the options and fields the
way they are.

The Route Prefix option from section 7 has a field called Metric. It
is "only" 3 bit long. How was this value chosen? Why not something
that fits perfectly into a more standard type like uint8_t or
uint16_t? And why not the usual preference which is 2 bits wide and
allows to assign low/medium/high/reserved values? Did I miss the
reasoning for the field's width in the preceding text?

In section 10 the field "prefix" is said to be 16 octets or less in
length. Please make clear that the size MUST always be a multiple of
16 octets. Please do not specify a field containing a prefix that is
smaller than sizeof(struct in6_addr). We developers will eventually
fill the field using inet_pton() and the last thing we want to do is
to apply bit-magic and/or variable length voodoo. I am sure you have
thought about that it is just the text that is a bit misleading here.

All options, except the modified Route Prefix option, have a bad
alignment. Starting an IPv6 address or prefix at the 3rd octet of an
option is probably not the best idea. If possible use multiples of 4
or better 8 octets as starting point. Just one example: Section 13
Figure 7 could be re-aligned without wasting anything:


BAD:
       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |    Length     |    Next Hop Address ...       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +                        ...                                    +
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                 ...           |        Source Address         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +                        ...                                    +
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                 ...           | Prefix Length |Resvd|Prf|Metric|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Route Lifetime                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   Prefix (Variable Length)                    |
      .                                                               .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

GOOD:
       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |    Length     | Prefix Length |Resvd|Prf|Metr.|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Route Lifetime                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +                                                               +
      +                        Next Hop Address                       +
      +                                                               +
      +                                                               +
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      +                                                               +
      +                        Source Address                         +
      +                                                               +
      +                                                               +
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   Prefix (Variable Length)                    |
      .                                                               .
      .                                                               .
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Despite these formal objections I am still in the process of
understanding how the proposed solution would work in the field. The
Next Hop Address option for example can be used alone. Is this right?
And if so, why would I want this? And to what prefixes does the option
apply? How is this different from a default gateway?

In Section 14 you use MUST. This will probably lead to discussion. I
don't think a MUST is required there. SHOULD or MAY is enough, since
these are only considerations. MUST is always something an implementer
gets a headache from :)

I also have the feeling that consuming 7 numbers from the registry for
new options is a bit too greedy. Do you see any way to reduce the
consumption of this very limited resource? I think it would help
supporting the draft a lot.


The usual nitpicking:
Section 4: "eroor" -> "error"
Section 5: "document.The" -> document.[WHITESPACE]The"
Section 7: Figure 1: Metric is too long. It breaks the figure. Maybe
call it "Mtr." in the figure.
Section 7: Field Definition: There is a colon (:) missing after the
first "Metric". Same in Section 11 Figure 5, Section 12 Figure 6 and
Section 13 Figure 7.
Section 8: Figure 2: It is unclear how long the last field is. This is
_very_ confusing for everybody implementing the draft.
Section 9: Figure 3: It is unclear how long the last field is. Same as above.


Hope that helps and have a nice weekend!

Dan

-- 
Dan Luedtke
http://www.danrl.de