I have the DHCP pool below defined:
ip dhcp-server pool untrustednetwork 192.168.80.0 255.255.255.0lease-count 20excluded-address 192.168.80.1 192.168.80.199excluded-address 192.168.80.220 192.168.80.255lease 1 0 0option domain-name-servers 192.168.255.2option routers 192.168.80.2option ntp-servers 192.168.255.1option 100 ascii EST5EDT,M3.2.0,M11.1.0option 101 ascii America/New_Yorkstatic-mac-ip-mapping 192.168.80.219 20ef.bd8a.d24fstatic-mac-ip-mapping 192.168.80.217 c83a.6b15.57b1static-mac-ip-mapping 192.168.80.218 8c49.6202.9c95static-mac-ip-mapping 192.168.80.216 0018.dd0a.0665
Yesterday I started seeing random failures connecting with a new device, and after some troubleshooting realized that it had been given the address 192.168.80.218 even though it is not the device with the MAC address in the static-mac-ip-mapping. Unfortunately I've lost the console output from the `show ip dhcp-server binding 192.168.80.218` command, but it listed the same address twice, once with the new device's MAC address and once with the static-mac-ip-mapping address.
I then removed that address binding from the system, and rebooted the new device... and it got 192.168.80.217 assigned, which is still a duplicate. I then assumed that the pool must be 'full', and increased its size from 20 to 40 addresses, and removed the .217 binding. A reboot of the new device got a non-duplicate address, and now it works as it should.
From what I can tell, all of the non-statically-mapped addresses in the pool had active bindings, and so when a new device requested an address, the ICX gave it one of the statically-mapped address even though it should not have.