What I learned about Microsoft DHCP load balancing, Meraki APs, and IP Helpers

Cliche time – You learn something new every day…
… and today I learned about how the seconds elapsed field in DHCP packets can affect the DHCP DORA (Discover/Offer/Request/Acknowledgement) process – particularly when using a load-balance failover config on Microsoft DHCP servers.


  • 2 Microsoft DHCP servers with DHCP scopes setup for load-balance (50/50)
  • Meraki APs
  • AP Management VLAN gateway configured on core Nexus switch (and branch routers) with one IP helper address pointed towards DHCP server 1 (This will be important)
  • Greenfield wireless deployment


Some (but not all) new Meraki APs were not getting DHCP IP addresses when they got plugged into the network.


I love troubleshooting DHCP because it is a straightforward, structured process.

Continue reading “What I learned about Microsoft DHCP load balancing, Meraki APs, and IP Helpers”

9800-CL – Lessons Learned and First Impressions

Cisco recently announced their new Catalyst 9800 WLC platform and with all the changes I was itching to install the new cloud version to play around.

Well…after many trials and tribulations (all user error!) I was able to get a working instance up and running successfully. As of this post I’m waiting to make a couple of changes to our UCS environment to get some more vlans available but I’ve got enough of a setup to get a 3700 AP and clients joined.

So today I wanted to just highlight a few things I learned the hard way during installation and setup and to provide an initial look at the new GUI for those that haven’t had the opportunity or ability to spin up their own. On to the fun stuff!

Continue reading “9800-CL – Lessons Learned and First Impressions”

Getting DCA Channel Change counts with Python

First blog post (and it’s long) so let’s just get down to brass tacks…

I recently had a minor panic attack when I was looking at all the fancy stats that show ap auto-rf 802.11a “ap name” gives you on a Cisco WLC. All 3 of my controllers were showing hundreds, if not thousands, of channel changes for a vast majority of the associated APs. My first thought was that there was something in my RF environment causing Dynamic Channel Assignment (DCA) to constantly be changing the channel plan. From what I could recall though, Cisco had designed DCA to keep cascading channel changes from rippling though the entire wireless environment. The numbers were indicating otherwise though.

A small sampling of random AP’s across sites large and small was turning up a large number of high channel change counts regardless of site. I decided that I wanted to see what my channel changes looked like for each AP. We have almost 500 AP’s so running the above command on each AP wasn’t the best use of time plus I was having to go into Cisco Prime to look up each AP’s physical location. So with the problem at hand I decided it was…


Continue reading “Getting DCA Channel Change counts with Python”