[Dnsmasq-discuss] DHCPv6 lease hwaddr

Vladislav Grishenko themiron at mail.ru
Sun Aug 4 14:42:02 BST 2013


Little addition, previous mail says nothing about iaid, it needs be moved to
separate lease filed too, and, for example before/after/with flags in
leasefile.

Best Regards, Vladislav Grishenko


> -----Original Message-----
> From: Vladislav Grishenko [mailto:themiron at mail.ru]
> Sent: Sunday, August 04, 2013 7:32 PM
> To: 'dnsmasq-discuss at lists.thekelleys.org.uk'
> Cc: Simon Kelley (simon at thekelleys.org.uk)
> Subject: DHCPv6 lease hwaddr
> 
> Hi Simon,
> 
> dnsmasq 2.67test9 dhcpv6 leases implementation uses only clid approach,
> which is the same and should not be treated as containing client's hwaddr.
> It makes impossible in real life to specify specific dhcpv6 options for
clients, if
> only mac address is known (ISP billing, specific & static allocations,
etc).
> 
> But, in fact, if DHCPv6 client directly attached, link layer address is
available
> just from the packet, but if they are served via relay,  relay agent may
use
> OPTION_CLIENT_LINKLAYER_ADDR as defined in RFC6939. Refer
> http://tools.ietf.org/html/rfc6939:
> 
> 5.  DHCPv6 Relay Agent Behavior
>    DHCPv6 relay agents that receive messages originating from clients
>    (for example, Solicit and Request, but not, for example,
>    Relay-Forward or Advertise) MAY include the link-layer source address
>    of the received DHCPv6 message in the Client Link-Layer Address
>    option, in relayed DHCPv6 Relay-Forward messages.  The DHCPv6 relay
>    agent behavior can depend on configuration that decides whether the
>    Client Link-Layer Address option needs to be included.
> 6.  DHCPv6 Server Behavior
>    If the DHCPv6 server is configured to store or use a client link-
>    layer address, it SHOULD look for the Client Link-Layer Address
>    option in the Relay-Forward DHCP message of the DHCPv6 relay agent
>    closest to the client.  The mechanism described in this document is
>    not necessary in the case where the DHCPv6 server is connected to the
>    same network link as the client, because the server can obtain the
>    link-layer address from the link-layer header of the DHCPv6 message.
>    If the DHCP server receives a Client Link-Layer Address option
>    anywhere in any encapsulated message that is not a Relay-Forward DHCP
>    message, the server MUST silently ignore that option
> 
> So, we can keep using hwaddr for DHCPv6 clients, if it's available, and
make
> leasefile & mac-based options work.
> Also, it will allow struct lease, code and leasefile format cleanup:
> 
> Lease struct contains struct in_addr addr and hwaddr member is reused as
> struct in_addr in6_addr, so we have no hwaddr for v6 clients Lease file is
> looks like, where for DHCPv6 records hwaddr is replaced by hwtype + 32 bit
> of hwaddr
>       86400 00:21:6a:xx:xx:xx 192.168.1.191 host 01:00:21:6a:xx:xx:xx
>       86400 553656682 201:db8::109 host
> 00:01:00:01:14:0d:23:69:90:e6:ba:xx:xx:xx
> If lease struct will contain separate struct in6_addr for ipv6 address or
even
> struct all_addr, hwaddr could be kept and used as is.
> As for lease file format, it could look like below:
>       86400 [hwtype-]00:21:6a:xx:xx:xx 192.168.1.191 host
01:00:21:6a:xx:xx:xx
> [%04x: flags like TA/NA/other]
>       86400 [hwtype-]00:21:6a:xx:xx:xx 201:db8::109 host
> 00:01:00:01:14:0d:23:69:90:e6:ba:xx:xx:xx [%04x: flags like TA/NA/etc]
Legacy
> format with %u (even not %lu for keeping the whole hwaddr...) can be
easily
> supported, but doesn't worth to, since no soft writes it directly for ipv6
> leases.
> 
> Best Regards, Vladislav Grishenko





More information about the Dnsmasq-discuss mailing list