[Dnsmasq-discuss] [PATCH] DHCPv6 - List or Range reservation for single host
Geert Stappers
stappers at stappers.nl
Wed Jan 22 06:59:08 GMT 2020
On Wed, Jan 22, 2020 at 12:31:16AM +0100, 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.
+1
> >
> > 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].
Comparing apples and oranges.
An IPv6 address with it's prefix is not the same as some syntax
that describes several IPv6 addresses.
> 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?
What with prefixes smaller as 64 e.g. 48?
> So /126 and /62 yield the same result.
Please, pretty please, keep ambiguity away from computers.
> What does other people think?
} What do other people think?
>
> [1] https://en.wikipedia.org/wiki/IPv6_address#Unicast_and_anycast_address_format
>
>
>
>
> From a69c6400454cdf036808a0a40ac033688387f20d Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Harald=20Jens=C3=A5s?= <hjensas at redhat.com>
> Date: Mon, 13 Jan 2020 19:44:43 +0100
> Subject: [PATCH] DHCPv6 - List and Range reservation for single host
>
[ ... commit message, git statistics ... ]
>
> diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
> index cb5cc73..57003d7 100644
> --- a/man/dnsmasq.8
> +++ b/man/dnsmasq.8
> @@ -1079,6 +1079,22 @@ work reliably if only one of the hardware addresses is active at any
> time and there is no way for dnsmasq to enforce this. It is, for instance,
> useful to allocate a stable IP address to a laptop which
> has both wired and wireless interfaces.
> +
> +For DHCPv6 it is possible to provide multiple IPv6 addresses for a single
> +dhcp-host. It is also possible to use a prefix in the configuration to
> +set up a range of addresses. For example:
> +\fB--dhcp-host=52:54:00:3f:5c:c0,[fd12:3456::aa02][fd12:3456::aa04],host1\fP
> +will make the two addresses \fBfd12:3456::aa02\fP and \fBfd12:3456::aa04\fP
> +available to the host with hardware address 52:54:00:3f:5c:c0.
> +\fB--dhcp-host=52:54:00:3f:5c:c0,[fd12:3456::aa00/62],host1\fP
+\fB--dhcp-host=52:54:00:3f:5c:c0,[fd12:3456::aa00/126],host1\fP
> +will make the range of 4 addresses between the base address (fd12:3456::aa00)
> +and the end address (fd12:3456::aa03) available to the host with hardware
> +address 52:54:00:3f:5c:c0. Multiple non-prefixed, prefixed or prefixed
> +wildcard addresses with only the host-identifier part can be mixed, eg:
> +\fB--dhcp-host=52:54:00:3f:5c:c0,[::aa03][::aa04/63][::aa08/62],host1\fP.
+\fB--dhcp-host=52:54:00:3f:5c:c0,[::aa03][::aa04/127][::aa08/126],host1\fP.
> +Providing multiple addresses is useful for network booting where individual
> +boot stages will request addresses with different IAID's.
> +
> .TP
> .B --dhcp-hostsfile=<path>
> Read DHCP host information from the specified file. If a directory
Groeten
Geert Stappers
--
Leven en laten leven
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20200122/f0202a0b/attachment.sig>
More information about the Dnsmasq-discuss
mailing list