Subject: [Netconf] DHCP Text Update Proposal for draft-ietf-netconf-zerotouch-19

From: Ian Farrer <[email-masked]>
Date: Tue, 14 Nov 2017 11:07:04 +0800

Hi,

Apologies for the late stage comment here, but this was based on a discussion between the authors and one of the DHCWG chairs at the welcome reception. As a result we believe that the text specifying the allowable URI contents and error handling for the DHCP4&6 options can be improved. I would like to propose the following changes to the draft:

9.1.  DHCPv4 Zero Touch Option

Section 9.1

 1.  Check the contents of the DHCPv4 message for at least one valid
     URI. If there is more than one valid URI in the list, a candidate
     list of possible URIs is created.

Is changed to:

 1.  Check the contents of the DHCPv4 message for at least one valid
     URI (see section 9.4). If there is more than one valid URI in the list, a candidate
     list of possible URIs is created.

Likewise, section 9.2 point 1 is changed to:

 1.  Check the contents of the DHCPv6 message for at least one valid
     URI (see section 9.4). If there is more than one valid URI in the list, a candidate
     list of possible URIs is created.

And a new Section 9.4 is added:

9.4 DHCP URI Validation

The following is valid for both the DHCPv4 OPTION_V4_ZEROTOUCH_REDIRECT 
and the DHCPv6 OPTION_V6_ZEROTOUCH_REDIRECT, as both options
contain URI data in the same format.

A valid URI for a zerotouch bootstrap server, MUST be according to the HTTPS URI
scheme defined in Section 2.7.2 of RFC7230. On receipt of a URI, the client, only
the ‘scheme’ component, and the ‘host’ and ‘port’ subcomponents of the ‘authority’
component of the URI (RFC3986 Sections 3.1, 3.2.2, and 3.2.3 respectively)
are evaluated. If the URI contains a ‘userinfo’ subcomponent, the URI is discarded
as being invalid. If the URI contains a ‘path’ component, then this is ignored.

Any invalid URI entries received in the uri-data field are ignored by
the client.  If the received DHCP options does not contain at
least one valid URI entry in the uri-data field, then the client MUST
discard the option.

——

Finally, for section 9.3,  I suggest that:
   o URI: URI of zerotouch bootstrap server, using the HTTPS URI
     scheme defined in Section 2.7.2 of RFC7230.  URI MUST be in
     form "https://<ip-address-or-hostname>[:<port>]”.

Is re-worded to:
   o URI: URI of zerotouch bootstrap server, using the HTTPS URI
     scheme defined in Section 2.7.2 of RFC7230.  The URI is in
     the form "https://<ip-address-or-hostname>[:<port>]”.

This is to ensure that the text can’t be read to place any additional option content validation requirements on the server implementation.