Vendor Class ID - Option 43 Parsing Issue

Keith Perry (perryk) perryk at cisco.com
Fri Jul 19 14:21:03 UTC 2013


Thanks for the feedback Peter.  I had already tried inserting more parentheses - to no avail - same results.  After simplifying the logic a bit and upon closer inspection, this appears to be an issue on the Client Side.  These older settop boxes appear to have a "munged" DHCP discover message, which prevents the ISC Server from parsing through the Vendor Options.  Here's what I'm running with now.



Keith





class "pre30eCM"  {

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

     and option SA.esafetype = "ECM:ESTB";

 }



# Note: Legacy DOCSIS 1.0 STBs appear to have a munged DHCP Discover message

#       which will preclude the ISC DHCP Server from parsing through the

#       vendor options.  This requires configuring a catch-all pool.





class "30CM"  {

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

     and not (option SA.esafetype = "ECM:ESTB");

}







-----Original Message-----
From: dhcp-users-bounces+perryk=cisco.com at lists.isc.org [mailto:dhcp-users-bounces+perryk=cisco.com at lists.isc.org] On Behalf Of Peter Rathlev
Sent: Friday, July 19, 2013 3:57 AM
To: Users of ISC DHCP
Subject: Re: Vendor Class ID - Option 43 Parsing Issue



On Wed, 2013-07-17 at 21:25 +0000, Keith Perry (perryk) wrote:

> 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 "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");

> }



Wouldn't it be prudent to insert some more parentheses? I'm not 100% certain how dhcpd treats operator precedence but parens would remove any

confusion. Normally logical AND has higher precedence that logical OR which means that the 'SA.devtype = "ECM"' only counts for "docsis2.0:"

modems.



The request you're showing that doesn't fall into the right group thus matches both "pre30eCM" and "pre30CM". If your problem is that it falls

into "pre30CM" where it should fall into "pre30eCM" then the parentheses might solve you problem.



--

Peter







_______________________________________________

dhcp-users mailing list

dhcp-users at lists.isc.org

https://lists.isc.org/mailman/listinfo/dhcp-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20130719/e22374eb/attachment.html>


More information about the dhcp-users mailing list