<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Thank you all for the many options. I'm still evaluating the
approach I'd like to take. <br>
<br>
I do have another question, however. Is it possible to match class
based on option 43 data found in the client's DHCP request? Could I
do a substring match of sorts against that data?<br>
<br>
<div class="moz-signature">
<div style="font-family: sans-serif; font-size: 10pt;
margin-bottom: 20px;">Best,<br>
<br>
Jason<br>
</div>
<br>
</div>
<div class="moz-cite-prefix">On 08/01/2015 07:36 PM, Frank Bulk
wrote:<br>
</div>
<blockquote cite="mid:002501d0ccc3$9adb3290$d09197b0$@iname.com"
type="cite">
<pre wrap="">Jason,
I do it within the subnet (we're also a Calix shop) and it seems to work
fine.
Frank
-----Original Message-----
From: <a class="moz-txt-link-abbreviated" href="mailto:dhcp-users-bounces@lists.isc.org">dhcp-users-bounces@lists.isc.org</a>
[<a class="moz-txt-link-freetext" href="mailto:dhcp-users-bounces@lists.isc.org">mailto:dhcp-users-bounces@lists.isc.org</a>] On Behalf Of Peter Rathlev
Sent: Saturday, July 18, 2015 8:38 AM
To: Users of ISC DHCP <a class="moz-txt-link-rfc2396E" href="mailto:dhcp-users@lists.isc.org"><dhcp-users@lists.isc.org></a>
Subject: Re: No Option 43 in DHCP ACK
On Wed, 2015-07-15 at 10:55 -0600, Jason Bailey wrote:
</pre>
<blockquote type="cite">
<pre wrap="">Calix ONTs, actually. I'm trying to get only certain ONTs to pick up
certain option 43 configuration directives.
Their documentation says:
Configure the default global DHCP options at the DHCP server as
follows:
option space CALIX-ONT-SERVER;
option CALIX-ONT-SERVER.cms-address code 1 = ip-address;
option CALIX-ONT-SERVER.second-tftp-address code 2 = ip-address;
option CALIX-ONT-SERVER.syslog-address code 4 = ip-address;
option CALIX-ONT-SERVER.firmware1 code 101 = text;
option CALIX-ONT-SERVER.firmware2 code 102 = text;
option CALIX-ONT-SERVER.firmware3 code 103 = text;
Configure specific values for DHCP options within a subnet
declaration, as shown in the following example:
# AE-ONT Management Network
subnet xxx.xxx.xxx.x netmask xxx.xxx.xxx.x{
vendor-option-space CALIX-ONT-SERVER;
option CALIX-ONT-SERVER.cms-address xxx.xxx.xxx.xxx;
option CALIX-ONT-SERVER.syslog-address xxx.xxx.xxx.xxx;
option CALIX-ONT-SERVER.firmware1 "blah";
The problem is, that doesn't work (I couldn't get to work, anyhow). If
you use class matching, the DHCP server will send option 43
information, but unfortunately (as far as I see it, anyway), only if
those classes are declared globally.
</pre>
</blockquote>
<pre wrap="">
Classes are always global. It's an error to place the class declaration
inside e.g. a subnet declaration.
</pre>
<blockquote type="cite">
<pre wrap="">The problem with that is that the matching ends up being all
encompassing and ONTs end up getting options that they shouldn't. In
short, it creates severe issues on the network.
</pre>
</blockquote>
<pre wrap="">
Could you maybe use something like this:
option X-CALIX-Selector code 247 = string;
subnet 192.0.2.0 netmask 255.255.255.128 {
option X-CALIX-Selector "asdf";
}
subnet 192.0.2.128 netmask 255.255.255.128 {
# No CALIX option
}
subnet 203.0.113.0 netmask 255.255.255.0 {
option X-CALIX-Selector "something-else";
}
class "CALIX-ONT" {
match if substring(option vendor-class-identifier, 0, 9) = "Calix
ONT";
vendor-option-space CALIX-ONT-SERVER;
if (config-option X-CALIX-Selector = "asdf") {
option CALIX-ONT-SERVER.cms-address xxx.xxx.xxx.xxx;
option CALIX-ONT-SERVER.syslog-address xxx.xxx.xxx.xxx;
option CALIX-ONT-SERVER.firmware1 "blah";
} elsif (config-option X-CALIX-Selector = "something-else") {
option CALIX-ONT-SERVER.cms-address yy.yy.yy.yy;
option CALIX-ONT-SERVER.syslog-address yy.yy.yy.yy;
option CALIX-ONT-SERVER.firmware1 "another-blah";
}
}
Blocks without an X-CALIX-Selector config-option shouldn't hand you any
of the options.
</pre>
</blockquote>
<br>
</body>
</html>