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.ank...@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 tachibanash...@outlook.com
<tachibanash...@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@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@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@lists.isc.org
https://lists.isc.org/mailman/listinfo/kea-users

Reply via email to