Subject: Re: [dhcwg] FW: RFC3315 question

From: Ralph Droms <[email-masked]>
Date: Thu, 01 Mar 2007 15:36:25 -0500

Summarizing the discussion on these issues, in reverse order:

The IANA/RFC826 issue can be addressed by an erratum:

OLD:

   The hardware type MUST be a valid hardware type
   assigned by the IANA as described in RFC 826 [14].

NEW:

   The hardware type MUST be a valid hardware type from the list of
   ARP hardware types maintained by IANA at <insert URL here>

I haven't read anything defining specific text for the first issue beyond
the text Ted suggested in his original (off-list) e-mail exchange.
Therefore, I suggest we use his suggested text in an erratum:

OLD:

9.2. DUID Based on Link-layer Address Plus Time [DUID-LLT]

   This type of DUID consists of a two octet type field containing the
   value 1, a two octet hardware type code, four octets containing a
   time value, followed by link-layer address of any one network
   interface that is connected to the DHCP device at the time that the
   DUID is generated.  The time value is the time that the DUID is
   generated represented in seconds since midnight (UTC), January 1,
   2000, modulo 2^32.  The hardware type MUST be a valid hardware type
   assigned by the IANA as described in RFC 826 [14].  Both the time and
   the hardware type are stored in network byte order.  The link-layer
   address is stored in canonical form, as described in RFC 2464 [2].

NEW:

9.2. DUID Based on Link-layer Address Plus Time [DUID-LLT]

   This type of DUID consists of a two octet type field containing the
   value 1, a two octet hardware type code, four octets containing a
   time value, followed by link-layer address of any one network
   interface that is connected to the DHCP device at the time that the
   DUID is generated.  The time value is the time that the DUID is
   generated represented in seconds since midnight (UTC), January 1,
   2000, modulo 2^32.  The hardware type MUST be a valid hardware type
   assigned by the IANA as described in RFC 826 [14].  Both the time and
   the hardware type are stored in network byte order.

   The details of how the link-layer address is formatted are defined
   in the appropriate "IPv6 over <link>" specification such as "IPv6
   over Ethernet" [RFC2464], "IPv6 over FDDI" [RFCnnnn], etc.
   Specifically, the link-layer address should appear in the DUID-LLT
   option just as it does in the frame header for that particular link
   type.  For example the link-layer address for an ethernet interface
   would be formatted in the same way as the Destination Ethernet
   Address field of the ethernet frame as described in the section of
   "IPv6 over Ethernet" [RFC2464] titled "Frame Format."

- Ralph

On 2/16/07 4:53 PM, "Ralph Droms" <[email-masked]> wrote:

> Alain Durand asked me a couple of questions about the definition of the DUID
> formats based on link-layer addresses in RFC 3315.  The first question is
> about this text, which appears in both section 9.2, DUID Based on Link-layer
> Address Plus Time [DUID-LLT], and section 9.4, DUID Based on Link-layer
> Address [DUID-LL]:
> 
>    The link-layer
>    address is stored in canonical form, as described in RFC 2464.
> 
> Alain checked RFC 2464, and he can't find how a link layer address is
> supposed to be stored in canonical form. The closest thing he found is:
>  
>    The Source/Target Link-layer
>    Address option has the following form when the link layer is
>    Ethernet.
> 
>                     0                   1
>                     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
>                    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>                    |     Type      |    Length     |
>                    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>                    |                               |
>                    +-          Ethernet           -+
>                    |                               |
>                    +-           Address           -+
>                    |                               |
>                    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> 
> And, RFC 2464 only describes Ethernet and is silent on other link-layer
> addresses.
> 
> There is also an issue with the text:
> 
>    The hardware type MUST be a
>    valid hardware type assigned by the IANA, as described in RFC 826.
> 
> ...but, RFC 826 makes no reference to IANA.
> 
> Ted Lemon and I exchanged e-mail about the DUID issue, and I've included
> Ted's response below.
> 
> Regarding the IANA/RFC 826 issue, I think it can be addressed by an errata:
> 
> OLD:
> 
>    The hardware type MUST be a valid hardware type
>    assigned by the IANA as described in RFC 826 [14].
> 
> NEW:
> 
>    The hardware type MUST be a valid hardware type from the list of
>    ARP hardware types maintained by IANA at <insert URL here>
> 
> - Ralph
> 
> =====
> 
> To be honest, I have no idea where the RFC2464 reference came from.
> I'd never read that RFC, and wasn't even aware of its existence.
> The word 'canonical' is only used twice in the RFC, and nowhere in
> the RFC is the meaning of 'canonical' described.   The point Alain
> raises is a really good one, and applies to RFC2464 as well, to some
> extent - it should define 'canonical'.
> 
> However, RFC2464 does give us some clue about this in section 2.5.1,
> Interface Identifiers, on page 8, where it describes in detail how to
> construct an interface identifier.   This does tell us what the
> author of RFC2464 thought the canonical form is.  But Alain's still
> right that the reference to RFC2464 is a mistake in isolation,
> because it leaves out all other possible frame header formats.
> Having said that, the problem remains - without specifying the
> arrangement of bits, you are left guessing.   People seem to have
> muddled through with RFC2131/2132, and I think they probably will
> with 3315 as well, but it could have been better specified.
> 
> I think the correct fix for the RFC2464 problem is to add some text
> like what's in RFC2373:
> 
>     The details of forming interface identifiers are defined in the
>     appropriate "IPv6 over <link>" specification such as "IPv6 over
>     Ethernet" [ETHER], "IPv6 over FDDI" [FDDI], etc.
> 
> We'd change it to this:
> 
>     The details of how the link-layer address is formatted are
> defined in the
>     appropriate "IPv6 over <link>" specification such as "IPv6 over
>     Ethernet" [RFC2464], "IPv6 over FDDI" [RFCnnnn], etc.
> Specifically, the
>     link-layer address should appear in the DUID-LLT option just as
> it does
>     in the frame header for that particular link type.  For example the
>     link-layer address for an ethernet interface would be formatted
> in the
>     same way as the Destination Ethernet Address field of the
> ethernet frame
>     as described in the section of "IPv6 over Ethernet" [RFC2464]
> titled "Frame
>     Format."
> 
> This doesn't really solve the problem, because RFC2464 isn't specific
> about it either, but it gets rid of the erroneous reference to
> RFC2464 as the _only_ place to go, and it also gives the implementor
> a valuable clue for how to format the DUID-LLT - look at a frame you
> captured live on the wire.   That way.   That's lame, but it's better
> than nothing.   Really, RFC2464 should be more particular about
> referencing the document (presumably IEEE) that defines the 802.11
> header format.   You can see that the author had access to that
> document by reading section 2.5.1, but unfortunately s/he never
> references it.
> 
> _______________________________________________
> dhcwg mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/dhcwg

_______________________________________________
dhcwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/dhcwg

---

From: "Bernie Volz \(volz\)" <[email-masked]>
Date: Thu, 1 Mar 2007 15:47:43 -0500

While perhaps this is beating this thing to death, the language "The
hardware type MUST be a valid hardware type from the list ..." implies
that I'm free to pick any value as long as it is on that list?

Wouldn't we want to say something about that it MUST be the hardware
type for the interface from which the link-layer address was taken?

- Bernie  

-----Original Message-----
From: Ralph Droms (rdroms) 
Sent: Thursday, March 01, 2007 3:36 PM
To: Ralph Droms (rdroms); dhcwg
Subject: Re: [dhcwg] FW: RFC3315 question

OLD:

NEW:

I haven't read anything defining specific text for the first issue
beyond
the text Ted suggested in his original (off-list) e-mail exchange.
Therefore, I suggest we use his suggested text in an erratum:

OLD:

NEW:

- Ralph

---

From: Ted Lemon <[email-masked]>
Date: Thu, 1 Mar 2007 17:12:32 -0700

> type for the interface from which the link-layer address was taken?

Yes.   Yes we would.   :'}