I had not looked at the DhcpServiceProvider NetworkElement before, but after
recent problem, I got a chance to look at it in more detail. I am new to
CloudStack and don't have a lot of the history and had some questions.
Is there a link to documentation for the DhcpServiceProvider work?
I assume the main use case for DhcpServiceProvider is to support DHCP Daemon
like DNSMasq, are there other use cases?
The interface is simple enough:
public interface DhcpServiceProvider extends NetworkElement {
boolean addDhcpEntry(...) ...;
boolean configDhcpSupportForSubnet(...) ...;
boolean removeDhcpSupportForSubnet(...) ...;
}
Is there a reason why the companion entry to addDhcpEntry() e.g.
removeDhcpEntry() is missing?
What is the motivation in adding this code to the NetworkManager versus contain
it inside the NetworkElement providing the DHCP? (The logic I see in
NetworkManager does not seem to be adding any value. Also it is adding a
specific network function DHCP to the NetworkManager, where we are moving
functions e.g. IP Address Allocation out.)