<div dir="ltr">DHCPv6<br>    Message type: Solicit (1)<br>    Transaction ID: 0x05194c<br>    Client Identifier<br>        Option: Client Identifier (1)<br>        Length: 10<br>        DUID: 000300010e2115700cf0<br>        DUID Type: link-layer address (3)<br>        Hardware type: Ethernet (1)<br>        Link-layer address: 0e:21:15:70:0c:f0<br>    Identity Association for Non-temporary Address<br>        Option: Identity Association for Non-temporary Address (3)<br>        Length: 12<br>        IAID: 00000001<br>        T1: 1800<br>        T2: 2880<br>    Elapsed time<br>        Option: Elapsed time (8)<br>        Length: 2<br>        Elapsed time: 0ms<br>    Identity Association for Prefix Delegation<br>        Option: Identity Association for Prefix Delegation (25)<br>        Length: 41<br>        IAID: 00000001<br>        T1: 1800<br>        T2: 2880<br>        IA Prefix<br>            Option: IA Prefix (26)<br>            Length: 25<br>            Preferred lifetime: 2880<br>            Valid lifetime: 3600<br>            Prefix length: 64<br>            Prefix address: ::<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 25, 2023 at 3:37 AM Darren Ankney <<a href="mailto:darren.ankney@gmail.com">darren.ankney@gmail.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">Joshua,<br>
<br>
Assuming the logging is correct, it looks like the hint may not be<br>
correct.  It should be just an integer.  It shouldn't have any other<br>
data (such as :: or /) in the field:<br>
<br>
<a href="https://www.rfc-editor.org/rfc/rfc8415#section-18.2.1" rel="noreferrer" target="_blank">https://www.rfc-editor.org/rfc/rfc8415#section-18.2.1</a><br>
<br>
The client MAY include values in IA Prefix options (see<br>
   Section 21.22) encapsulated within IA_PD options as hints for the<br>
   delegated prefix and/or prefix length for which the client has a<br>
   preference.  See Section 18.2.4 for more on prefix-length hints.<br>
<br>
<br>
<a href="https://www.rfc-editor.org/rfc/rfc8415#section-21.22" rel="noreferrer" target="_blank">https://www.rfc-editor.org/rfc/rfc8415#section-21.22</a><br>
<br>
prefix-length        Length for this prefix in bits.  A 1-octet<br>
                           unsigned integer.<br>
<br>
You could probably confirm the content of the field with a packet capture.<br>
<br>
Thank you,<br>
<br>
Darren Ankney<br>
<br>
On Tue, May 23, 2023 at 5:09 PM Joshua Pool <<a href="mailto:josh@mikrologic.com" target="_blank">josh@mikrologic.com</a>> wrote:<br>
><br>
> Thanks for the response. I am using a Mikrotik router and I can get the desired PD from Charter Spectrum just fine but when I try to do the same with Kea it always assigns me the delegated-len value of /56 regardless of what hint I include.<br>
><br>
> In this example my Mikrotik is set with prefix hin ::/64<br>
> In Kea the DEBUG DHCP6 PACKET RECEIVED it shows the prefix=::/64<br>
> DEBUG DHCP6_PROCESS_IA_PD_REQUEST duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0x26e767: server is processing IA_PD option with iaid=1 and hint=::<br>
> DHCP6_PD_LEASE_ADVERT duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: lease for prefix fd00:c40:20:600::/56 and iaid=1 will be advertised<br>
><br>
> Full Log:<br>
> 20:47:11 DEBUG DHCP6_PACKET_RECEIVED duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: SOLICIT (type 1) received from fe80::c21:15ff:fe70:cf0 to ff02::1:2 on interface eth1<br>
> <len=00012: iaid=1, t1=1800, t2=2880#012type=00008, len=00002: 0 (uint16)#012type=00025(IA_PD), len=00041: iaid=1, t1=1800, t2=2880,#012options:#012  type=00026(IAPREFIX), len=00025: prefix=::/64, preferred-lft=2880, valid-lft=3600#012No relays traversed.#012<br>
> 20:47:11 DEBUG HOOKS_CALLOUTS_BEGIN begin all callouts for hook pkt6_receive<br>
> 20:47:11 DEBUG HOOKS_CALLOUT_CALLED hooks library with index 1 has called a callout on hook pkt6_receive that has address 0x7fb78df0b710 (callout duration: 0.036 ms)<br>
> 20:47:11 DEBUG HOOKS_CALLOUTS_COMPLETE completed callouts for hook pkt6_receive (total callouts duration: 0.036 ms)<br>
> 20:47:11 DEBUG DHCPSRV_CFGMGR_SUBNET6_IFACE selected subnet fd00:c40:10::/64 for packet received over interface eth1<br>
> 20:47:11 DEBUG DHCP6_SUBNET_SELECTED duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: the subnet with ID 1 was selected for client assignments<br>
> 20:47:11 DEBUG DHCP6_SUBNET_DATA duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: the selected subnet details: fd00:c40:10::/64<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER get one host with IPv6 reservation for subnet id 1, identified by duid=000300010E2115700CF0<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using identifier: duid=000300010E2115700CF0<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier duid=000300010E2115700CF0, found 0 host(s)<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet id 1 and identifier duid=000300010E2115700CF0<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER get one host with IPv6 reservation for subnet id 1, identified by hwaddr=0E2115700CF0<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using identifier: hwaddr=0E2115700CF0<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier hwaddr=0E2115700CF0, found 0 host(s)<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet id 1 and identifier hwaddr=0E2115700CF0<br>
> 20:47:11 DEBUG DHCP6_CLASS_ASSIGNED duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: client packet has been assigned to the following class(es): UNKNOWN<br>
> 20:47:11 DEBUG DHCP6_PROCESS_IA_NA_REQUEST duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: server is processing IA_NA option with iaid=1 and hint=(no hint)<br>
> 20:47:11 DEBUG DHCPSRV_MEMFILE_GET_IAID_DUID obtaining IPv6 leases for IAID 1 and DUID 00:03:00:01:0e:21:15:70:0c:f0 and lease type IA_NA<br>
> 20:47:11 DEBUG ALLOC_ENGINE_V6_ALLOC_UNRESERVED no static reservations available - trying to dynamically allocate leases for client duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6 get one host with reservation for subnet id 1 and having IPv6 address fd00:c40:10::206<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6 get all hosts with reservations for subnet id 1 and IPv6 address fd00:c40:10::206<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_COUNT using subnet id 1 and address fd00:c40:10::206, found 0 host(s)<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_NULL host not found using subnet id 1 and address fd00:c40:10::206<br>
> 20:47:11 DEBUG DHCPSRV_MEMFILE_GET_ADDR6 obtaining IPv6 lease for address fd00:c40:10::206 and lease type IA_NA<br>
> 20:47:11 INFO  DHCP6_LEASE_ADVERT duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: lease for address fd00:c40:10::206 and iaid=1 will be advertised<br>
> 20:47:11 DEBUG DHCP6_LEASE_DATA duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: detailed lease information for iaid=1: Type:          IA_NA(0)#012Address:       fd00:c40:10::206#012Prefix length: 128#012IAID:          1#012Pref life:     453600#012Valid life:    604800#012Cltt:       ><br>
> 20:47:11 DEBUG DHCP6_PROCESS_IA_PD_REQUEST duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: server is processing IA_PD option with iaid=1 and hint=::<br>
> 20:47:11 DEBUG DHCPSRV_MEMFILE_GET_IAID_DUID obtaining IPv6 leases for IAID 1 and DUID 00:03:00:01:0e:21:15:70:0c:f0 and lease type IA_PD<br>
> 20:47:11 DEBUG ALLOC_ENGINE_V6_ALLOC_UNRESERVED no static reservations available - trying to dynamically allocate leases for client duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6 get one host with reservation for subnet id 1 and having IPv6 address fd00:c40:20:600::<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6 get all hosts with reservations for subnet id 1 and IPv6 address fd00:c40:20:600::<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_SUBNET_ID_ADDRESS6_COUNT using subnet id 1 and address fd00:c40:20:600::, found 0 host(s)<br>
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS6_NULL host not found using subnet id 1 and address fd00:c40:20:600::<br>
> 20:47:11 DEBUG DHCPSRV_MEMFILE_GET_ADDR6 obtaining IPv6 lease for address fd00:c40:20:600:: and lease type IA_PD<br>
> 20:47:11 INFO  DHCP6_PD_LEASE_ADVERT duid=[00:03:00:01:0e:21:15:70:0c:f0], tid=0xa0e83f: lease for prefix fd00:c40:20:600::/56 and iaid=1 will be advertised<br>
><br>
> Any Thoughts?<br>
><br>
><br>
><br>
><br>
><br>
><br>
> On Tue, May 23, 2023 at 2:46 AM Darren Ankney <<a href="mailto:darren.ankney@gmail.com" target="_blank">darren.ankney@gmail.com</a>> wrote:<br>
>><br>
>> Hello Joshua,<br>
>><br>
>> It would appear it just happens. No need to configure anything.  There<br>
>> is a debug message about the hint being processed:<br>
>><br>
>> <a href="https://kea.readthedocs.io/en/kea-2.2.0/kea-messages.html" rel="noreferrer" target="_blank">https://kea.readthedocs.io/en/kea-2.2.0/kea-messages.html</a><br>
>><br>
>> DHCP6_PROCESS_IA_PD_REQUEST<br>
>><br>
>> %1: server is processing IA_PD option with iaid=%2 and hint=%3<br>
>><br>
>> This is a debug message that indicates a processing of received IA_PD<br>
>> option. The first argument contains the client and the transaction<br>
>> identification information. The second argument holds the IAID of the<br>
>> IA_PD option. The third argument may hold the hint for the server<br>
>> about the prefix that the client would like to have allocated. If<br>
>> there is no hint, the argument should provide the text indicating that<br>
>> the hint hasn't been sent.<br>
>><br>
>> Thank you,<br>
>><br>
>> Darren Ankney<br>
>><br>
>> On Mon, May 22, 2023 at 8:39 PM Joshua Pool via Kea-users<br>
>> <<a href="mailto:kea-users@lists.isc.org" target="_blank">kea-users@lists.isc.org</a>> wrote:<br>
>> ><br>
>> > With KEA 2.2 is there a way to assign a PD based on received PD hints?<br>
>> ><br>
>> ><br>
>> > --<br>
>> > ISC funds the development of this software with paid support subscriptions. Contact us at <a href="https://www.isc.org/contact/" rel="noreferrer" target="_blank">https://www.isc.org/contact/</a> for more information.<br>
>> ><br>
>> > To unsubscribe visit <a href="https://lists.isc.org/mailman/listinfo/kea-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/kea-users</a>.<br>
>> ><br>
>> > Kea-users mailing list<br>
>> > <a href="mailto:Kea-users@lists.isc.org" target="_blank">Kea-users@lists.isc.org</a><br>
>> > <a href="https://lists.isc.org/mailman/listinfo/kea-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/kea-users</a><br>
</blockquote></div>