RE: dhcpcd6.11.0 Stateless dhcp support
Renu Bansal
Wed Jul 19 06:06:25 2017
Hi Roy,
I have used Updated stock dhcpcd.conf file.
Contents of stock dhcpcd.conf file are :
___________________________________________________________________________________________
# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.
# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel
# Inform the DHCP server of our hostname for DDNS.
hostname
ia_na
# Use the hardware address of the interface for the Client ID.
#clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
duid
# Persist interface configuration when dhcpcd exits.
persistent
# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit
# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate Stable Private IPv6 Addresses instead of hardware based ones
#slaac private
_______________________________________________________________________________________
Still the behavior is same.
Dhcpcd client do not omits " IANA" field from the solicit message even If M bit is disable in Router Advertisement packet.
We are expecting dhcpcd client behavior as
M = 0, O = 0 : Client uses RA to get non-link-local address and other settings. Even DHCPv6 server exists, client ignores it.
M = 1, O = 0 : Client uses DHCPv6 for both address and other configuration settings. This combination is known as DHCPv6 stateful, in which
M = 1, O = 1
DHCPv6 is assigning stateful address to client. If RA includes
network prefix, client also gets stateless address.
M = 0, O = 1 : Client gets stateless address from RA. DHCPv6 only assign other configuration settings to client. This combination is known as DHCPv6 stateless.
Please refer following link for dhcp client behavior, according to received RA packet.
https://community.arubanetworks.com/t5/Controller-Based-WLANs/Explain-the-M-and-O-bit-in-IPv6-DHCP-server-configuration-What/ta-p/177442
Regards
Renu
-----Original Message-----
From: Roy Marples [mailto:roy@xxxxxxxxxxxx]
Sent: Tuesday, July 4, 2017 8:21 PM
To: Renu Bansal; dhcpcd-discuss@xxxxxxxxxxxx
Cc: Swarnpal Singh; Saurabh Pandey
Subject: Re: [dhcpcd-discuss] dhcpcd6.11.0 Stateless dhcp support
Hi Renu
Sorry for the late rely
On 27/06/2017 12:18, Renu Bansal wrote:
> I have upgraded dhcp client to dhcpcd-7.0.0-rc1. I am using default
> dhcpcd.conf file According to my current network configuration M bit is disabled and O bit is set.
>
> Please check below the Router advertisement packet:
> ----------------------------------------------------------------------
> ----XX----------------------------------------------------------------
> -------
> Internet Control Message Protocol v6
> Type: Router Advertisement (134)
> Code: 0
> Checksum: 0x93b0 [correct]
> [Checksum Status: Good]
> Cur hop limit: 64
> Flags: 0x40
> 0... .... = Managed address configuration: Not set
> .1.. .... = Other configuration: Set
> ..0. .... = Home Agent: Not set
> ...0 0... = Prf (Default Router Preference): Medium (0)
> .... .0.. = Proxy: Not set
> .... ..0. = Reserved: 0
> Router lifetime (s): 1800
> Reachable time (ms): 0
> Retrans timer (ms): 0
> ICMPv6 Option (Source link-layer address : 30:8d:99:33:70:00)
> ICMPv6 Option (Prefix information : 2017::/64)
So based on this, dhcpcd should not attempt to solicit any addresses.
> --------------------------------------------------------------------XX
> ------------------------------------------------------------
> Dhcpcd replies with following solicit message:
> -----------------------------------------------------------XX---------
> ---------------------------------------------------------------
> DHCPv6
> Message type: Solicit (1)
> Transaction ID: 0x83a3ef
> Client Identifier
> Elapsed time
> Vendor Class
> Identity Association for Non-temporary Address
> Option: Identity Association for Non-temporary Address (3)
> Length: 12
> Value: b9a707ff0000000000000000
> IAID: b9a707ff
> T1: 0
> T2: 0
> Identity Association for Prefix Delegation
> Fully Qualified Domain Name
> Reconfigure Accept
> Option Request
> ------------------------------------------------------XX--------------
> --------------------------------------------------------
> This implies dhcpcd client do not omits " IANA" field and hence I am getting IPv6 address from dhcpv6 server.
> Do you think this could be due to older linux kernel version. Could you suggest if any linux patch might resolve this issue.
>
> Can you suggest some configuration or sample dhcpcd.conf file which can support stateless dhcp configuration.
The stock dhcpcd.conf does not request any Prefix Delegation.
Also, it sets the Rapid Commit option, which is missing from the above.
So one of these two statements must be true:
1) dhcpcd is not using the stock dhcpcd.conf
2) That solicit message didn't come from dhcpcd
Saying that, dhcpcd has broken (depending on DHCPv6 server) inform support in -7.x which is fixed here:
https://dev.marples.name/rDHC0a71632353de8a50f9ac15cb6d27e57fc0a4c516
Roy
Archive administrator: postmaster@marples.name