<div dir="ltr"><div class="gmail_default" style="font-size:small">Ah, ok. In my experience, devices that don't support DHCP option 108, are not ready to live on an ipv6 only network, and need some sort of ipv4 to function.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">--Dan</div><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 31, 2023 at 1:42 PM Brian Candler <<a href="mailto:b.candler@pobox.com">b.candler@pobox.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 31/07/2023 19:32, Dan Oachs wrote:<br>
> I'm confused. What is the issue with Kea offering v6 only clients an <br>
> ipv4 address? The client will not accept the ipv4 address and kea <br>
> will not reserve that IP address for them. The end result is a <br>
> drastic reduction in ipv4 pool usage. At least, that's how it is <br>
> working for me.<br>
<br>
This is a proof-of-concept IPv6-only network: no IPv4 addresses at all, <br>
and no NAT44 (only NAT64).<br>
<br>
You are correct that RFC8925-aware clients refuse the IPv4 address <br>
offered. However if someone plugs in a non-RFC8925 client, and Kea <br>
offers them an IPv4 address, they will use it.<br>
<br>
That's why I want to detect whether the client is announcing RFC8925 <br>
capability, and I was hoping for something less ugly (and more robust) <br>
than this:<br>
<br>
"client-classes": [<br>
{<br>
"name": "rfc8925",<br>
"test": "substring(option[55].hex, 0, 1) == 0x6c or <br>
substring(option[55].hex, 1, 1) == 0x6c or substring(option[55].hex, 2, <br>
1) == 0x6c or substring(option[55].hex, 3, 1) == 0x6c or <br>
substring(option[55].hex, 4, 1) == 0x6c or substring(option[55].hex, 5, <br>
1) == 0x6c or substring(option[55].hex, 6, 1) == 0x6c or <br>
substring(option[55].hex, 7, 1) == 0x6c or substring(option[55].hex, 8, <br>
1) == 0x6c or substring(option[55].hex, 9, 1) == 0x6c or <br>
substring(option[55].hex, 10, 1) == 0x6c or substring(option[55].hex, <br>
11, 1) == 0x6c or substring(option[55].hex, 12, 1) == 0x6c"<br>
},<br>
],<br>
<br>
</blockquote></div>