Just to suggest the wildly different approach I mentioned on IRC, we could treat addresses (including DHCP) as the main units and then specify the backing hardware as part of the address's configuration. This would be particularly useful for bridges.