[Kea-users] Question regarding to kea configuration in memory

tachibanashita at outlook.com tachibanashita at outlook.com
Mon May 5 16:47:50 UTC 2025


Hi Darren,

Just an update. I was not able to recreate the issue on my company lab and home lab. If I see it occurs again and I will investigate and let you know. 


Regards,



> On Apr 23, 2025, at 1:26 PM, Darren Ankney <darren.ankney at gmail.com> wrote:
> 
> Hi,
> 
> I am still unable to replicate this behavior.  It works as expected
> for me.  Please can you give the exact API commands and data payload
> required to reproduce this behavior?
> 
> Thank you,
> Darren Ankney
> 
> On Wed, Apr 23, 2025 at 8:50 AM tachibanashita at outlook.com
> <tachibanashita at outlook.com> wrote:
>> 
>> I have unicast the modified config file to your email.
>> 
>> 
>> Thanks,
>> 
>> 
>>> On Apr 22, 2025, at 10:34 AM, Darren Ankney <darren.ankney at gmail.com> wrote:
>>> 
>>> Hi,
>>> 
>>> I am not able to reproduce this behavior.  Please can you share your
>>> entire "Before config-write" Kea configuration?  Please redact any
>>> sensitive items.
>>> 
>>> Thank you,
>>> Darren Ankney
>>> 
>>> On Mon, Apr 21, 2025 at 9:45 AM tachibanashita at outlook.com
>>> <tachibanashita at outlook.com> wrote:
>>>> 
>>>> Hi Darren,
>>>> 
>>>> I am using the latest dev Kea 2.7.7 version with RHEL9, the package for dhcp6 is isc-kea-dhcp6-2.7.7-isc20250326114722.el9.x86_64.rpm. Here’re my definition on the “device” class. I only have this client class defined, don’t have the “device_class2” client class in definition. And I am using client-classes so that part is expected.
>>>> 
>>>> 
>>>> {
>>>> "Dhcp6": {
>>>>   "allocator": "iterative",
>>>>   "calculate-tee-times": true,
>>>>   "client-classes": [
>>>>     {
>>>>       "name": “device",
>>>>       "option-data": [
>>>>         {
>>>>           "always-send": true,
>>>>           "code": 34,
>>>>           "csv-format": true,
>>>>           "data": “xxxxxxxx",
>>>>           "name": "syslog-servers",
>>>>           "never-send": false,
>>>>           "space": "vendor-4491"
>>>>         },
>>>>         {
>>>>           "always-send": true,
>>>>           "code": 37,
>>>>           "csv-format": true,
>>>>           "data": “xxxxxxxxx",
>>>>           "name": "time-servers",
>>>>           "never-send": false,
>>>>           "space": "vendor-4491"
>>>>         },
>>>>         {
>>>>           "always-send": true,
>>>>           "code": 38,
>>>>           "csv-format": true,
>>>>           "data": "0",
>>>>           "name": "time-offset",
>>>>           "never-send": false,
>>>>           "space": "vendor-4491"
>>>>         },
>>>>         {
>>>>           "always-send": true,
>>>>           "code": 61,
>>>>           "csv-format": true,
>>>>           "data": “xxxxx",
>>>>           "name": "ccap-cores",
>>>>           "never-send": false,
>>>>           "space": "vendor-4491"
>>>>         },
>>>>         {
>>>>           "always-send": true,
>>>>           "code": 17,
>>>>           "csv-format": false,
>>>>           "data": "",
>>>>           "name": "vendor-opts",
>>>>           "never-send": false,
>>>>           "space": "vendor-4491"
>>>>         }
>>>>       ],
>>>>       "test": "substring(option[17].option[2].hex,0,3) == ‘device'"
>>>>     }
>>>>   ],
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Apr 19, 2025, at 6:19 AM, Darren Ankney <darren.ankney at gmail.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> Please share what version of Kea you are using.  Not only did the
>>>> class name change, but the statement became a list (client-class vs
>>>> client-classes).  Suspect you might be using a dev version as that
>>>> feature has not been released in stable.  There could be some bug
>>>> there, though I am unsure why an _class2 would be added in this case.
>>>> Do you have a "device" or "device_class2" defined in client-classes
>>>> (not in the subnet but an actual class definition)?
>>>> 
>>>> Thank you,
>>>> Darren Ankney
>>>> 
>>>> On Thu, Apr 17, 2025 at 5:23 PM tachibanashita at outlook.com
>>>> <tachibanashita at outlook.com> wrote:
>>>> 
>>>> 
>>>> Greetings,
>>>> 
>>>> I have a subnet definition in my kea-dhcp6.conf, it inherited its configuration from a client class called “device”, then I gave it some customization configuration in the option-data section. After I used the config-write command to get the config from memory, I noticed the client class of this subbed is no longer “device” but “device_class2”, even I never defined this client class. My guess is because of the customization data in option-data section, so kea realized its configuration is different from the original client class “device”, and it gives a new name.
>>>> 
>>>> Is this behavior expected? I think this could bring some troubles when we try to do automatization. Now after we use the subnet hook, we have to use the config-write command Darren mentioned to save the config changes from memory to harddisk. And now in the new config file, we will have those “device_class2” client class which previously didn’t exist.
>>>> 
>>>> 
>>>> Original config in kea-dhcp6.conf:
>>>> 
>>>>      {
>>>>          "id": 2,
>>>>          "subnet": "2100:100:10:10::1/64",
>>>>          "option-data": [
>>>>             {
>>>>                  "space": "vendor-4491",
>>>>                  "name": "cores",
>>>>                  "code": 61,
>>>>                  "data": "2100:100:10:10::10-2100:100:10:10::100",
>>>>                  "always-send": true
>>>>             }
>>>>          ],
>>>>          "pools": [
>>>>              {
>>>>                  "pool": "2100:100:10:10::10-2100:100:10:10::100"
>>>>              }
>>>>           ],
>>>>          "relay": {
>>>>              "ip-addresses": [ "2100:100:10:10::1" ]
>>>>           },
>>>>          "interface": "ens2",
>>>>          "client-class": “device",
>>>>          "allocator": "iterative"
>>>>      },
>>>> 
>>>> 
>>>> After using config-write:
>>>>    {
>>>>      "allocator": "iterative",
>>>>      "calculate-tee-times": true,
>>>>      "client-classes": [ “device_class2" ],
>>>>      "id": 2,
>>>>      "interface": "ens2",
>>>>      "max-preferred-lifetime": 907200,
>>>>      "max-valid-lifetime": 1209600,
>>>>      "min-preferred-lifetime": 907200,
>>>>      "min-valid-lifetime": 1209600,
>>>>      "option-data": [
>>>>        {
>>>>          "always-send": true,
>>>>          "code": 61,
>>>>          "csv-format": true,
>>>>          "data": “2100:100:0:30:0:0:0:22",
>>>>          "name": "cores",
>>>>          "never-send": false,
>>>>          "space": "vendor-4491"
>>>>        }
>>>>      ],
>>>>      "pd-allocator": "iterative",
>>>>      "pd-pools": [ ],
>>>>      "pools": [
>>>>        {
>>>>          "option-data": [ ],
>>>>          "pool": “2100:100:10:10::10-2100:100:10:10::100"
>>>>        }
>>>>      ],
>>>>      "preferred-lifetime": 907200,
>>>>      "rapid-commit": false,
>>>>      "rebind-timer": 1058400,
>>>>      "relay": {
>>>>        "ip-addresses": [ "2100:100:10:10::1" ]
>>>>      },
>>>>      "renew-timer": 604800,
>>>>      "reservations": [ ],
>>>>      "store-extended-info": false,
>>>>      "subnet": "2100:100:10:10::1/64",
>>>>      "t1-percent": 0.5,
>>>>      "t2-percent": 0.8,
>>>>      "valid-lifetime": 1209600
>>>>    },
>>>> --
>>>> 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
>>>> 
>>>> --
>>>> 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
>>>> 
>>>> 
>>>> --
>>>> 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
>>> --
>>> 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
>> 
>> --
>> 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
> -- 
> 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