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