Vendor Class ID - Option 43 Parsing Issue

Keith Perry (perryk) perryk at cisco.com
Wed Jul 17 21:25:22 UTC 2013


isc-dhcp-4.2.1-P1 / Solaris 10



Been scratching my head on this awhile and figured I would solicit support from the mail list.  I'm classifying cable modems based on the vendor class identifier in conjunction with Option 43 info.  The classification works for my standalone 1.x/2.x Cable Modems, but not for my Settop boxes with embedded 1.x/2.x Cable Modems.  It also works for both standalone and embedded 3.0 Cable Modems. I have a "catch all" pool to work around the issue, but would like to solve this riddle.  Below are the particulars:





dhcpd.conf snippet



option space SA;

option SA.devtype     code 2  = text;

option SA.esafetype   code 3  = text;

option SA.sernum      code 4  = text;

option SA.hwver       code 5  = text;

option SA.swver       code 6  = text;

option SA.bootrom     code 7  = text;

option SA.OUI         code 8  = string;

option SA.modnum      code 9  = text;

option SA.vendor      code 10 = text;

option SA.esafeencap  code 15 = text;

option SA.vidsecurity code 18 = text;

option SA-43 code 43 = encapsulate SA;





################################

# Embedded Cable Modem Classes #

################################



class "pre30eCM"  {

     match if (option vendor-class-identifier = "docsis 1.0"

     or option vendor-class-identifier = "docsis1.0")

     or substring (option vendor-class-identifier, 0, 10) = "docsis1.1:"

     or substring (option vendor-class-identifier, 0, 10) = "docsis2.0:"

     and option SA.devtype = "ECM";

}





class "30eCM"  {

     match if option vendor-class-identifier = "docsis3.0:"

     and option SA.devtype = "ECM";

}





##################################

# Standalone Cable Modem Classes #

##################################



class "pre30CM"  {

     match if option vendor-class-identifier = "docsis 1.0"

     or substring (option vendor-class-identifier, 0, 10) = "docsis1.1:"

     or substring (option vendor-class-identifier, 0, 10) = "docsis2.0:"

     and not (option SA.devtype = "ECM");

}





class "30CM"  {

     match if option vendor-class-identifier = "docsis3.0:"

     and not (option SA.devtype = "ECM");

}







DHCPREQUEST snippet from 1.x embedded Cable Modem which does not fall into the "pre30eCM" class as expected



DHCP: Message type = DHCPREQUEST

DHCP: Client Identifier =       0x01 0x00 0x0A 0x73 0xCA 0xD1 0x71 (unprintable)

DHCP: Requested Options:

DHCP:    1 (Subnet Mask)

DHCP:    2 (UTC Time Offset)

DHCP:    4 (RFC868 Time Servers)

DHCP:    3 (Router)

DHCP:    7 (UDP LOG Servers)

DHCP: Client Class Identifier = "docsis1.1:05240101010201010301010401010501010601010701080801100901000a01010b01080c0101"

DHCP: Vendor-specific Options (88 total octets):

DHCP:   (02) 03 octets  "ECM"

DHCP:   (03) 08 octets  "ECM:ESTB"

DHCP:   (04) 09 octets  "SABHSSPVZ"

DHCP:   (05) 03 octets  "1.5"

DHCP:   (06) 10 octets  "5.3.1.1001"

DHCP:   (07) 03 octets  "108"

DHCP:   (08) 06 octets  "000A73"

DHCP:   (09) 04 octets  "4210"

DHCP:   (10) 24 octets  "Scientific-Atlanta, Inc."





DHCPREQUEST snippet from 2.x standalone Cable Modem which does  fall into the "pre30CM" class as expected



DHCP: Message type = DHCPREQUEST

DHCP: Requested Options:

DHCP:    1 (Subnet Mask)

DHCP:    2 (UTC Time Offset)

DHCP:    3 (Router)

DHCP:    4 (RFC868 Time Servers)

DHCP:    7 (UDP LOG Servers)

DHCP:    6 (DNS Servers)

DHCP:   66 (TFTP Server Name)

DHCP:   67 (Option BootFile Name)

DHCP: Client Class Identifier = "docsis2.0:053501010102010203010104010105010106010107010f0801100901000a01010b01180c01010d0200ca0e0201000f0101100400000001"

DHCP: Vendor-specific Options (68 total octets):

DHCP:   (04) 09 octets  "207546514"

DHCP:   (05) 03 octets  "2.0"

DHCP:   (06) 18 octets  "v2.0.2r1256-060303"

DHCP:   (07) 06 octets  "2.1.6d"

DHCP:   (08) 06 octets  "000f21"

DHCP:   (09) 09 octets  "DPC2100R2"

DHCP:   (10) 03 octets  "S-A"

DHCP: Client Identifier =       0x01 0x00 0x19 0x47 0x57 0x17 0x20 (unprintable)

DHCP: Requested IP Address = 4.129.0.10

DHCP: DHCP Server Identifier = 172.100.10.1

DHCP: Maximum DHCP Message Size = 1500 bytes

DHCP: AgentOpt = 0x01 0x04 0x80 0x01 0x03 0xE9 0x02 0x06 0x00 0x19 0x47 0x57 0x17 0x20 0x09 0x0B 0x00 0x00 0x11 0x8B 0x06 0x01 0x04 0x01 0x02 0x03 0x00







Keith Perry
Technical Leader
Systems Integration - Networks
Cisco Service Provider Video Technology Group

"Inferior minds seek convoluted scenarios; it takes a brilliant one to achieve simplicity"










-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20130717/3b1ee3b3/attachment-0001.html>


More information about the dhcp-users mailing list