[Dnsmasq-discuss] [PATCH] DHCPv6 - List or Range reservation for single host

Harald Jensås hjensas at redhat.com
Mon Feb 10 17:56:09 GMT 2020


On Fri, 2020-02-07 at 21:27 +0000, Simon Kelley wrote:
> Two commits in the repo, one adds arbitrary list of IPv6 addresses to
> dhcp-host, second adds tags.
> 
> Please  give them a whirl....
> 

Thank you for working on this Simon. I have tested the following
configuration variations and there seem to be one small issue, but
overall it is working nicely.

The one test that fails is:

* Use a prefix with wildcard address:
  dhcp-host=52:54:00:3f:5c:c0,[::aa08/126],host1
  Test: FAIL

  In this configuration the first request succeeds, following
  requests get 'no address available'. Looks like it does'nt try
  the ::aa09 address when aa08 is already leased.



Other tests i've run without issues:

* Arbitrary lists of addresses:
  dhcp-host=52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa02],[fd12:3456:789a:1::aa04],[fd12:3456:789a:1::aa06],host1
  Test: PASS

* Using prefix to reserve a set of addresses:
  dhcp-host=52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa04/126],host1
  Test: PASS

* Arbitrary list of wildcard addresses:
  dhcp-host=52:54:00:3f:5c:c0,[::aa02],[::aa04],[::aa06],host1
  Test: PASS

* dhcp-host tags:

  File: dhclient.conf
  -------------------
  options dhcp6.userclass code 15 = string;
  # len: 00:08, "dhclient"
  send dhcp6.userclass 00:08:64:68:63:6c:69:65:6e:74;
  -------------------

  # dhcpv6s for Client System Architecture Type (61)
  dhcp-match=set:efi6,option6:61,0007
  dhcp-match=set:efi6,option6:61,0009
  dhcp-match=set:efi6,option6:61,0010
  dhcp-match=set:efi6,option6:61,0011
  dhcp-userclass=set:ipxe6,iPXE
  dhcp-userclass=set:dhclient,dhclient

  dhcp-host=52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa03],host1
  dhcp-host=tag:efi6,tag:!ipxe6,52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa04/126],host1
  dhcp-host=tag:ipxe6,52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa02],host1
  dhcp-host=tag:dhclient,52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa01],host1

  As far as I can tell this is working great!
    tags: ctlplane-subnet, known, dhcpv6, eth1
    nest size: 24 option:  5 iaaddr  fd12:3456:789a:1::aa03 PL=600 VL=600

    tags: ctlplane-subnet, known, efi6, pxe6, dhcpv6, eth1
    nest size: 24 option:  5 iaaddr  fd12:3456:789a:1::aa04 PL=600 VL=600
  
    tags: ctlplane-subnet, known, efi6, ipxe6, pxe6, dhcpv6, eth1
    nest size: 24 option:  5 iaaddr  fd12:3456:789a:1::aa02 PL=600 VL=600

    tags: ctlplane-subnet, known, dhclient, dhcpv6, eth1
    nest size: 24 option:  5 iaaddr  fd12:3456:789a:1::aa01 PL=600 VL=600


  A simple config to use random addresses for everything except the final OS:
  dhcp-userclass=set:dhclient,dhclient
  dhcp-host=52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa04/126],host1
  dhcp-host=tag:dhclient,52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa01],host1

  Test: Pass



Best Regards
Harald




More information about the Dnsmasq-discuss mailing list