I'm not entirely sure where to post this, as it is more of a bug report than a question. Please feel free to direct me to the right place!
I had to restore a backed-up configuration of a failed DigiOneSP onto a replacement unit. We updated our DHCP reservation to the MAC address on the new unit and then restored the config and rebooted. We lost the device on the network, and during troubleshooting I noticed that lease from the pool had appeared with the old MAC.
I logged onto the lease's IP and found the replacement unit. Under Advanced Network Settings, DHCP Settings, the new unit had the old's MAC address as the Custom Identifier, however the "Enable Custom Identifier" box was _not_ checked.
I found out that the old unit's MAC had got there due to the following lines appearing in the backup...
set dhcp client_id_type=1
set dhcp client_identifier=\x00\x40\x9D\x23\x05\x52
After a factory reset I set up the new unit manually. Before making any changes though I did a backup from the new unit. No such "client_identifier" line appeared in the backup. Once I had gone through the process of setting the network to DHCP, setting the Ethernet Interface Mode to auto, and (I think more importantly) applied the Advanced Network Settings, when I then made another backup the "client_identifier" line started appearing in the backup again. Presumably if I was then to use this backup on a replacement unit at a later date, it triggered the bug again.
I'm guessing something like the following is happening...
1) After a factory reset or for a new unit, when you view the Advanced Network Settings page, the "Custom Identifier:" textbox is defaulted to the unit's hardwired MAC. Providing you don't press Apply though, nothing changes. You can perform a backup and no "client_identifier" line is included.
2) If you happen to press Apply, even if you do not check the then the "Enable Custom Identifier" tickbox or make any other changes, the defaulted client_identifier is saved. However it is set to the actual MAC, so it isn't an issue at this stage.
3) The "Enable Custom Identifier" doesn't seem to control if the unit uses a custom client_identifier or not - it only appears to be used to disable the textbox on the webpage. As the default value in the textbox is the actual MAC, again it isn't an issue at this stage, the correct MAC is sent to DHCP.
4) However if you then create a backup of the configuration, the "client_identifier" line is included with the MAC specific to that unit.
5) If you then restore that backup on another device, but also diligently update your DHCP reservation, things break.
The unexpected behavior of including a custom MAC address you didn't intentionally configure is the problem. Because when after you restore a backup, the "Enable Custom Identifier" box isn't checked, it is easy to miss that the MAC is not what it should be, and easy to think it shouldn't matter anyway as the option isn't ticked.
A suggestion might be to not save any client identifier if the tickbox is unchecked, and visually empty the "Custom Identifier:" textbox when it is unchecked, rather than filling it with the MAC by default. In any case, the intent should be to not save a specific client identifier to the backup if the option isn't actually enabled.
Hope this helps!