Using Option 43 Info FROM a Cable Modem Client to Define a Class

Perry, Keith Keith.Perry at sciatl.com
Fri Oct 12 17:05:01 UTC 2007


I have digital settop boxes with embedded cable modems which I'm trying
to differentiate from plain old stand alone cable modems so I can
provide different cable modem configuration files to each.  Both use the
same Vendor Class Identifier (Option 60) so that is not an option.  The
embedded cable modem DHCP Discover includes a device type "ECM" in sub
option 2 of option 43 which I should be able to use.  I already use
Option 60 to create CPE classes so I'm familiar with the syntax for it.
Below is one of the class definitions  I'm defining with Option 60:

    
class "DSG-DHCT"  {
     match if option vendor-class-identifier = "DSG1.0";
}

This looks at the entire Option 60 string.  The embedded cable modem
places 128 bytes of info into Option 43 using 9 seperate sub options as
shown below:

*********************************************************************
Option: (t=43,l=128) Vendor-Specific Information (CableLabs)
        Option: (43) Vendor-Specific Information
        Length: 128
        Value: 020345434D030845434D3A4553544204095341424A4E425A...
        Suboption 2: Device Type = "ECM"
        Suboption 3: eSAFE Types = "ECM:ESTB"
        Suboption 4: Serial Number = "SABJNBZTR"
        Suboption 5: Hardware Version = "HW_REV: 1.2; "
        Suboption 6: Software Version = "SW_REV: 2.23.15 build 1
Release"
        Suboption 7: Boot ROM version = "ROM:049d0106"
        Suboption 8: OUI = "000F21"
        Suboption 9: Model Number = "8300"
        Suboption 10: Vendor Name = "Scientific-Atlanta, Inc."

0140  2e 30 2b 80 02 03 45 43 4d 03 08 45 43 4d 3a 45   .0+...ECM..ECM:E
0150  53 54 42 04 09 53 41 42 4a 4e 42 5a 54 52 05 0d   STB..SABJNBZTR..
0160  48 57 5f 52 45 56 3a 20 31 2e 32 3b 20 06 1f 53   HW_REV: 1.2; ..S
0170  57 5f 52 45 56 3a 20 32 2e 32 33 2e 31 35 20 62   W_REV: 2.23.15 b
0180  75 69 6c 64 20 31 20 52 65 6c 65 61 73 65 07 0c   uild 1 Release..
0190  52 4f 4d 3a 30 34 39 64 30 31 30 36 08 06 30 30   ROM:049d0106..00
01a0  30 46 32 31 09 04 38 33 30 30 0a 18 53 63 69 65   0F21..8300..Scie
01b0  6e 74 69 66 69 63 2d 41 74 6c 61 6e 74 61 2c 20   ntific-Atlanta, 
01c0  49 6e 63 2e ff 00 00 00 00 00 00 00 00 00 00 00   Inc.............
*********************************************************************
I'm only interested in the sub option 2:

HEX:  2b 80 02 03 [45 43 4d]    
DEC:  Option 43| Length 128 | SubOption 2 | Length 3 | [ECM]

I'm not sure how isolate on this sub option.  Would something like this
work?

class "eCM" {
     match if substring (vendor-encapsulated-options, 3, 3) = "ECM";
}

Or should I include the 43 header in the offset?

class "eCM" {
     match if substring (vendor-encapsulated-options, 5, 3) = "ECM";
}


I'm open to sugestions.  I running Version 3.1 on Solaris, have read the
Man Pages and have a copy of the Teds "DHCP Handbook".


Regards,

Keith Perry
Sr. Staff Systems Engineer
WAN/LAN Integration R&D
Scientific Atlanta
770-236-3957 (Office)
770-236-1098 (Lab) 



     - - - - - Appended by Scientific Atlanta, a Cisco company - - - - -         
This e-mail and any attachments may contain information which is confidential, 
proprietary, privileged or otherwise protected by law. The information is solely 
intended for the named addressee (or a person responsible for delivering it to 
the addressee). If you are not the intended recipient of this message, you are 
not authorized to read, print, retain, copy or disseminate this message or any 
part of it. If you have received this e-mail in error, please notify the sender 
immediately by return e-mail and delete it from your computer.



More information about the dhcp-users mailing list