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

Simon Kelley simon at thekelleys.org.uk
Sun Jan 26 18:34:21 GMT 2020

On 21/01/2020 23:31, Harald Jensås wrote:
> On Tue, 2020-01-21 at 23:38 +0100, Tore Anderson wrote:
>> * Simon Kelley
>>> I have an alternative suggestion for the syntax of dhcp-host.
>>> It's less flexible, but simpler and easier to understand and to
>>> explain,
>>> and uses existing semantics rather than adding new keywords.
>>> The idea is just to add a prefix-length to the address. That allows
>>> you
>>> to define (eg) 1,2,4,8, or 16 addresses for use by a host simply
>>> and
>>> easily in a way which makes it difficult to accidentally overlap
>>> address
>>> ranges, and is fairly obvious to anyone who has done done any IPv6
>>> network configuration.
>>> for instance to reserve four addresses for each host we cold do:
>>> dhcp-host=00:11:22:33:44:55,[fd12:3456::aa00/62]
>>> dhcp-host=00:11:22:33:44:56,[fd12:3456::aa04/62]
>>> dhcp-host=00:11:22:33:44:57,[fd12:3456::aa08/62]
>>> As a sanity check, if the "host part" of the address isn't zero,
>>> ie [fd12:3456::aa01/62]
>>> that could be rejected with an error.
> I like the idea of using a prefix. I have a new revision of the patch
> with this implemented at the bottom of this e-mail. It's far better and
> more flexible than the keywords approach I came up with initially, as
> it's now possible to mix individual addreses, prefixed ranges and
> prefixed wildcard addresses etc.
> # A list of addressses
> dhcp-host=52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa02][fd12:3456:789a:1::aa04][fd12:3456:789a:1::aa06],host1
> # Mixing a prefix and a single address
> dhcp-host=52:54:00:3f:5c:c0,[fd12:3456:789a:1::aa04/62][fd12:3456:789a:1::aa00],host1
> # Prefixed wildcard
> dhcp-host=52:54:00:3f:5c:c0,[::aa04/62],host1
>> I have done quite a bit of IPv6 networking, but the use of /62 here
>> is anything but «fairly obvious» to me.
>> It would have been much more intuitive to use /126, in my opinion.
>> Tore
> I too found it a bit curios with /62 at first, as I understand it the
> interface identifier is always the 64 least significant bit's in IPv6
> ref[1].
> I think changing the patch to use the full 128 bit's as a mask is
> trivial. We may also support both by subtracting 64 from any prefix
> larger than 64 in the code? So /126 and /62 yield the same result.
> What does other people think?

/62 is crazy, I don't know why I even said that. Harald, if you could
tweak your patch work with 128-based prefixes, I think we have reached a
successful conclusion.


More information about the Dnsmasq-discuss mailing list