Solo5 interface for Ethernet I/O.
include Mirage_net.S
The type for network interface errors.
include Mirage_device.S
val write : t -> size:int -> (Cstruct.t -> int) -> (unit, error) Stdlib.result Lwt.twrite net ~size fill allocates a buffer of length size, where size must not exceed the interface maximum packet size (mtu plus Ethernet header). The allocated buffer is zeroed and passed to the fill function which returns the payload length, which may not exceed the length of the buffer. When fill returns, a sub buffer is put on the wire: the allocated buffer from index 0 to the returned length.
listen ~header_size net fn waits for a packet with size at most header_size + mtu on the network device. When a packet is received, an asynchronous task is created in which fn packet is called. The ownership of packet is transferred to fn. The function can be stopped by calling disconnect in the device layer.
val mtu : t -> intmtu net is the Maximum Transmission Unit of net. This excludes the Ethernet header.
val get_stats_counters : t -> Mirage_net.statsObtain the most recent snapshot of the interface statistics.
val reset_stats_counters : t -> unitReset the statistics associated with this interface to their defaults.