Hi Mateusz, is it necessary for you to specify the specific device? Would it be enough for you to distinguish between docsis and mta devices? We are doing the following for our software:
"client-classes": [ { "boot-file-name": "", "name": "cpe", "next-server": "0.0.0.0", "option-data": [], "option-def": [], "server-hostname": "", "test": "not ((substring(option[60].hex,0,4) == 'pktc') or substring(option[60].hex,0,6) == 'docsis')" }, { "boot-file-name": "", "name": "docsis-devices", "next-server": "0.0.0.0", "option-data": [], "option-def": [], "server-hostname": "", "test": "substring(option[60].hex,0,6) == 'docsis'" }, { "boot-file-name": "", "name": "mta", "next-server": "0.0.0.0", "option-data": [], "option-def": [], "server-hostname": "", "test": "substring(option[60].hex,0,4) == 'pktc'" } ], "shared-networks": [ { "match-client-id": true, "name": "Docsis Test Network", "option-data": [], "rebind-timer": 0, "relay": { "ip-addresses": [] }, "renew-timer": 0, "reservation-mode": "all", "subnet4": [ { "client-class": "docsis-devices", "option-data": [ …. some options ], "pools": [ { … pools } ], "rebind-timer": 1800, "relay": { "ip-addresses": [ “relay_address" ] }, "subnet": "192.168.225.0/24", }, { "client-class": "cpe", ….. ….. "subnet": "192.168.226.0/24", }, { "next-server": “….", “client-class”:”mta" …. "subnet": "192.168.227.0/24", } ], "valid-lifetime": 0 } Cheers, Mathias EasySolutions GmbH Gugenedt 2 4741 Wendling | Austria Mobil: +43 660 5646568 Tel: +43 720 900100-25 mathias.aichin...@easysol.at www.easysol.at On 8. June 2018 at 15:08:02, Mateusz Galiński (m.galin...@vector.net) wrote: Hey Kea DHCP users. I have following problem. I want to match my cable modem config file by Cable Modem Software Version. Software Version is capsulated in Vendor Specific Information, suboption 6. Wireshark Discover: Option: (43) Vendor-Specific Information (CableLabs) Length: 96 Option 43 Suboption: (2) Device Type Length: 3 Device Type: ECM Option 43 Suboption: (3) eSAFE Types Length: 4 eSAFE Types: ECM: Option 43 Suboption: (4) Serial Number Length: 15 Serial Number: FASBRZ79K100067 Option 43 Suboption: (5) Hardware Version Length: 1 Hardware Version: 1 Option 43 Suboption: (6) Software Version Length: 8 Software Version: 9.1.103S Option 43 Suboption: (7) Boot ROM version Length: 8 Boot ROM version: 1.2.1.62 Option 43 Suboption: (8) Organizationally Unique Identifier Length: 6 Organizationally Unique Identifier: 0000CA Option 43 Suboption: (9) Model Number Length: 6 Model Number: CM820S Option 43 Suboption: (10) Vendor Name Length: 25 Vendor Name: Arris Interactive, L.L.C. Option 43 Suboption: (15) eSafe Config File Devices I want to use something like this: "client-classes": [ { ##Cable modem CLass "name": "CM1", "test": "substring(option[43].hex, x, x)=='9.1.103S '", "next-server": "10.100.100.30", "option-data": [ { "name": "tftp-server-name", "data": "10.100.100.30" }, { "name": "time-servers", "data": "10.100.100.30"}, { "name": "log-servers", "data": "10.100.100.30" }, { "name": "time-offset", "data": "-3600" } ], "only-if-required": true }, But my problem is that I have a lot of different cable modems, where order and amount of suboption is also different, so I cant specify nr of hex I want to analyze. So my question is, is there a solution to get text from specified Option and Suboption in class matching? VECTOR TECHNOLOGIES SA (Joint-Stock Company) incorporated under the laws of Poland Registered offices at 6 Krzemowa Street, Gdynia, Poland (postal code: 81-577) Entered into the National Court Register under KRS no. 0000591577 Documents of the Company are filed at the District Court in Gdansk (postal code: 80-126) Share capital: 5.050.000 Polish Zlotys (paid up); tax ID no./EU VAT no.: PL 9581671449 _______________________________________________ Kea-users mailing list Kea-users@lists.isc.org 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