I recently upgraded my home cable speed from 300Mbps to 400Mbps. The cable modem Spectrum gave me a while back when I upgraded to 300 didn’t quite do 400Mbps, so they gave me a new modem. Shortly after installation, my PFSense router would not get an IP from the modem.
I noticed that I previously was getting three IP’s from the cable modem, and when I virtualized, I could only get two. When I looked at the settings for the cable modem I noticed that my MAX_CPE was now set to 1 instead of the previous 3. That told me that the modem was somehow getting not only the MAC address from the router, but from something else.
So, to start at the VERY beginning. I have a three node ESXi cluster set up. The cable modem is plugged into a switch on a particular VLAN. That VLAN is trunked to each host and attached to a PFSense instance through a distributed switch. So, one of those devices are screwing everything up.
The solution: On the switch port the cable modem is connected to, disable Spanning Tree Protocol (STP). You don’t need to disable it on the whole switch, just the port the modem is connected to. On a Dell PowerConnect 5500 series, open the admin web page, Switching->Spanning Tree -> STP Port Settings -> Edit