Back to Home Back to Archive

DHCP Option for WLC IP using Infoblox

When it comes to controller discovery there are a couple different ways to set it up. My personal favorite is to utilize DHCP options. When I changed from ISC DHCP to Infoblox, I could not find much info on how to set this up. There are a number of ways to do it. I'll first detail the "global" way, where every AP gets assigned to one controller and then the "per subnet" way.
I'm currently running both, so if I don't add any subnet-specific option 43, the AP still finds my WLC via the "global method". I then change the AP's primary-base if need be, after it comes up. If I do assign a subnet-specific option 43, that takes precedence.

Global Method
The first thing you need to do is define an "Option Space", which will be later referenced in your IPv4 filters.

  1. Click DHCP-->Option Spaces-->Add
  2. Name it (Cisco_LWAPP_AP)
  3. Click the Plus(+) sign, and add the following: 
    • "server-address" under Name.
    • "241" under Code.
    • "array of ip-address" under Type
Your Option Space should look something like this:


Next, you need to define the IPv4 filters.

  1. Navigate to Data Management-->DHCP-->IPv4 Filters
  2. Click Add-->IPv4 Option Filter

Within the "Rules" add a "vendor-class-identifier (60) string" for each VCI. The VCI is provided by the AP in it's DHCPDISCOVER message. You can either capture packets and look at the Option 60 (provided by the AP) or reference the following guide.
Your option filter should look something like this:

Here is a packet capture showing the DHCPDISCOVER from a 3700 AP. Notice the VCI:

Within each 'option filter' you just created, you need to select "DHCP Options" and add the WLC that you would like to be handed to your AP's. 
  1. Click "DHCP Options" from within the IPv4 Option FIlter and select Plus(+).
  2. Select your "Cisco_LWAPP_AP" under "Option Space"
  3. The "Option Name" should read "server-address (241) array of ip-addresses"
  4. Enter your WLC IP address under "Value"
Your "DHCP Options" inside of the IPv4 Option Filter should look something like this:
Note: In my case, not all my AP's can join a WiSM2, so I needed one for 3600 & newer model AP's (called cisco-capwap) and one for 3500 and older AP's (called cisco-lwapp). In each one, I defined VCI's for AP's, but changed the "Value" to reflect either a WiSM2 (newer AP's) or WiSM1 (older AP's) If that's not an issue for you, you can have just a single IPv4 Option Filter.

Subnet Specific Way
Sometimes you may want to over-ride that 'global WLC' on a certain subnet. To do that:
  1. Select DHCP-->Networks-->Select your subnet (alternatively can do this per DHCP Scope)
  2. Click "Modify" and under IPv4 DHCP Options click Plus(+)
  3. Select "vendor-ecapsulated-options (43) string"
  4. For your value, you'll need to enter the IP in HEX preceeded by the number of WLC's you want to include in your DHCPOFFER (also in HEX).
That last one warrants some further explanation.
  1. First convert your IP address to HEX. Here's a handy site to do that for you: http://www.kloth.net/services/iplocate.php
  2. Precede that HEX value with F1:04 for a single WLC, f1:08 for two WLC's, f1:12 for 3 WLC's etc. etc. (in my example I'm using a single WLC).
Your final IPv4 DHCP Options (per subnet) should look something like this:
Note the last DHCP Option: 10.252.1.20, in HEX is 0AFC0114 and that is preceded with F1:04.

Below is a packet capture showing the resulting DHCP Option 43 in the DHCPOFFER packet:

Thanks to Tim Barnhart @tcbarnhart and Jennifer Wilson (Educause listserv) for clearing up that "per-subnet" option.