No Option 43 in DHCP ACK

Jason Bailey jbailey at emerytelcom.com
Tue Aug 4 20:45:39 UTC 2015


Thank you all for the many options. I'm still evaluating the approach 
I'd like to take.

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?

Best,

Jason

On 08/01/2015 07:36 PM, Frank Bulk wrote:
> Jason,
>
> I do it within the subnet (we're also a Calix shop) and it seems to work
> fine.
>
> Frank
>
> -----Original Message-----
> From: dhcp-users-bounces at lists.isc.org
> [mailto:dhcp-users-bounces at lists.isc.org] On Behalf Of Peter Rathlev
> Sent: Saturday, July 18, 2015 8:38 AM
> To: Users of ISC DHCP <dhcp-users at lists.isc.org>
> Subject: Re: No Option 43 in DHCP ACK
>
> On Wed, 2015-07-15 at 10:55 -0600, Jason Bailey wrote:
>> 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.
> Classes are always global. It's an error to place the class declaration
> inside e.g. a subnet declaration.
>
>> 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.
> 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.
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/dhcp-users/attachments/20150804/41ac667c/attachment.html>


More information about the dhcp-users mailing list