Subject: [dhcwg] Regarding dhcpv4 client id

From: Venkataratnam Naidu <[email-masked]>
Date: Mon, 5 Oct 2020 11:23:53 +0530

Hi Experts,

I have a question on dhcpv4 client id that client sends in dhcp
discover/request msg.

when the client id is other than hardware address, is that mandatory to
encode "type 0" in client-identifier.
if client doesn't encode type 0, does this work in all dhcp server
implementations.

>From RFC:
   The client identifier MAY consist of type-value pairs similar to the
   'htype'/'chaddr' fields defined in [3]. For instance, it MAY consist
   of a hardware type and hardware address. In this case the type field
   SHOULD be one of the ARP hardware types defined in STD2 [22].  A
   hardware type of 0 (zero) should be used when the value field
   contains an identifier other than a hardware address (e.g. a fully
   qualified domain name).

Regards,
Venkat.

---

From: Roy Marples <[email-masked]>
Date: Mon, 5 Oct 2020 08:39:35 +0100

On 05/10/2020 06:53, Venkataratnam Naidu wrote:
> Hi Experts,
> 
> I have a question on dhcpv4 client id that client sends in dhcp discover/request 
> msg.
> 
> when the client id is other than hardware address, is that mandatory to encode 
> "type 0" in client-identifier.
> if client doesn't encode type 0, does this work in all dhcp server implementations.

 From RFC 2132 section 9.14

Identifiers SHOULD be treated as opaque objects by DHCP servers.

The problem here is should. Servers *do* try to interpet the client id and some 
reject the DHCP outright if it cannot.
The use of MUST would have been better here, but sadly that ship sailed years ago.

RFC 8415 section 11 does improve this for DHCPv6, but sadly there are still 
servers out there that reject unknown DUID types because the word SHOULD is 
still there.

Short answer - no it's not mandatory as per the RFC's but server implementations 
make it so.

Roy

---

From: Venkataratnam Naidu <[email-masked]>
Date: Tue, 6 Oct 2020 09:29:32 +0530

Hi Roy,

Thank you for the clarification.

Note sure whether all  server implementations are mandating it.  To make it
work with all servers,  is that better to add type 0

Regards,
Venkat.

On Mon, Oct 5, 2020 at 1:09 PM Roy Marples <[email-masked]> wrote:

> discover/request