Dhcp_ipv4module type S = sig ... endmodule type With_lease = sig ... endMake(N)(E)(A) instantiates a device that exposes a Mirage_net.S interface as well as a Tcpip.Ip.S interface with ipv4. On connection it either requests a DHCP lease or sets up a static IPv4 address. The exposed Mirage_net.S interface is N but with incoming dhcp messages filtered out. It is expected that E and A are instantiated with N.
module Proj_lease (T : With_lease) : sig ... endProjection of the DHCP lease as a device.