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 tachibanash...@outlook.com
<tachibanash...@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.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
-- 
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