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

Reply via email to