[Kea-users] Hints

Darren Ankney darren.ankney at gmail.com
Thu May 25 10:37:43 UTC 2023


Joshua,

Assuming the logging is correct, it looks like the hint may not be
correct.  It should be just an integer.  It shouldn't have any other
data (such as :: or /) in the field:

https://www.rfc-editor.org/rfc/rfc8415#section-18.2.1

The client MAY include values in IA Prefix options (see
   Section 21.22) encapsulated within IA_PD options as hints for the
   delegated prefix and/or prefix length for which the client has a
   preference.  See Section 18.2.4 for more on prefix-length hints.


https://www.rfc-editor.org/rfc/rfc8415#section-21.22

prefix-length        Length for this prefix in bits.  A 1-octet
                           unsigned integer.

You could probably confirm the content of the field with a packet capture.

Thank you,

Darren Ankney

On Tue, May 23, 2023 at 5:09 PM Joshua Pool <josh at mikrologic.com> wrote:
>
> 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.
>
> In this example my Mikrotik is set with prefix hin ::/64
> In Kea the DEBUG DHCP6 PACKET RECEIVED it shows the prefix=::/64
> 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=::
> 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
>
> Full Log:
> 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
> <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
> 20:47:11 DEBUG HOOKS_CALLOUTS_BEGIN begin all callouts for hook pkt6_receive
> 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)
> 20:47:11 DEBUG HOOKS_CALLOUTS_COMPLETE completed callouts for hook pkt6_receive (total callouts duration: 0.036 ms)
> 20:47:11 DEBUG DHCPSRV_CFGMGR_SUBNET6_IFACE selected subnet fd00:c40:10::/64 for packet received over interface eth1
> 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
> 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
> 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
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using identifier: duid=000300010E2115700CF0
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier duid=000300010E2115700CF0, found 0 host(s)
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet id 1 and identifier duid=000300010E2115700CF0
> 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
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using identifier: hwaddr=0E2115700CF0
> 20:47:11 DEBUG HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier hwaddr=0E2115700CF0, found 0 host(s)
> 20:47:11 DEBUG HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet id 1 and identifier hwaddr=0E2115700CF0
> 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
> 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)
> 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
> 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
> 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
> 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
> 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)
> 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
> 20:47:11 DEBUG DHCPSRV_MEMFILE_GET_ADDR6 obtaining IPv6 lease for address fd00:c40:10::206 and lease type IA_NA
> 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
> 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:       >
> 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=::
> 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
> 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
> 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::
> 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::
> 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)
> 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::
> 20:47:11 DEBUG DHCPSRV_MEMFILE_GET_ADDR6 obtaining IPv6 lease for address fd00:c40:20:600:: and lease type IA_PD
> 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
>
> Any Thoughts?
>
>
>
>
>
>
> On Tue, May 23, 2023 at 2:46 AM Darren Ankney <darren.ankney at gmail.com> wrote:
>>
>> Hello Joshua,
>>
>> It would appear it just happens. No need to configure anything.  There
>> is a debug message about the hint being processed:
>>
>> https://kea.readthedocs.io/en/kea-2.2.0/kea-messages.html
>>
>> DHCP6_PROCESS_IA_PD_REQUEST
>>
>> %1: server is processing IA_PD option with iaid=%2 and hint=%3
>>
>> This is a debug message that indicates a processing of received IA_PD
>> option. The first argument contains the client and the transaction
>> identification information. The second argument holds the IAID of the
>> IA_PD option. The third argument may hold the hint for the server
>> about the prefix that the client would like to have allocated. If
>> there is no hint, the argument should provide the text indicating that
>> the hint hasn't been sent.
>>
>> Thank you,
>>
>> Darren Ankney
>>
>> On Mon, May 22, 2023 at 8:39 PM Joshua Pool via Kea-users
>> <kea-users at lists.isc.org> wrote:
>> >
>> > With KEA 2.2 is there a way to assign a PD based on received PD hints?
>> >
>> >
>> > --
>> > ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.
>> >
>> > To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.
>> >
>> > Kea-users mailing list
>> > Kea-users at lists.isc.org
>> > https://lists.isc.org/mailman/listinfo/kea-users


More information about the Kea-users mailing list