package charrua-client

  1. Overview
  2. Docs

Module Dhcp_ipv4.MakeSource

Make(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.

See the module's connect value for more details.

Parameters

module Arp : Arp.S

Signature

include S
module Ipv4 : Tcpip.Ip.S with type ipaddr = Ipaddr.V4.t and type prefix = Ipaddr.V4.Prefix.t
Sourcetype t
Sourceval lease : t -> Dhcp_wire.dhcp_option list option Lwt.t
Sourceval net : t -> Net.t
Sourceval ipv4 : t -> Ipv4.t
Sourceval connect : ?no_init:bool -> ?cidr:Ipaddr.V4.Prefix.t -> ?gateway:Ipaddr.V4.t -> ?options:Dhcp_wire.dhcp_option list -> ?requests:Dhcp_wire.option_code list -> Network.t -> Ethernet.t -> Arp.t -> t Lwt.t

Connect to an ipv4 device using information from a DHCP lease. If cidr is provided, no DHCP requests will be done, but instead a static IPv4 (Tcpip.Ip.S) stack will be used. If no_init is provided and true, nothing will be initialized (for dual IPv4 and IPv6 stack where only the IPv6 part should be used).