package mirage-net-fd

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Implementation of the network interface using raw sockets.

include Mirage_net_lwt.S
type error = private [>
  1. | Mirage_device.error
]

The type for network errors.

val pp_error : error Fmt.t

pp_error is the pretty-printer for errors.

type page_aligned_buffer = Io_page.t

The type for page-aligned memory buffers.

type buffer = Cstruct.t

The type for memory buffers.

type macaddr = Macaddr.t

The type for unique MAC identifiers for the device.

include Mirage_device.S with type 'a io = 'a Lwt.t
type 'a io = 'a Lwt.t
type t
val disconnect : t -> unit io
val write : t -> buffer -> (unit, error) Stdlib.result io

write nf buf outputs buf to netfront nf.

val writev : t -> buffer list -> (unit, error) Stdlib.result io

writev nf bufs output a list of buffers to netfront nf as a single packet.

val listen : t -> (buffer -> unit io) -> (unit, error) Stdlib.result io

listen nf fn is a blocking operation that calls fn buf with every packet that is read from the interface. The function can be stopped by calling disconnect in the device layer.

val mac : t -> macaddr

mac nf is the MAC address of nf.

val get_stats_counters : t -> Mirage_net.stats

Obtain the most recent snapshot of the device statistics.

val reset_stats_counters : t -> unit

Reset the statistics associated with this device to their defaults.

val connect : ?mac:Macaddr.t -> Unix.file_descr -> t Lwt.t

connect ?mac fd connects to the given file descriptor. The caller is responsible to open a raw socket and set-up the file descriptor properly. If mac is not specified, generate a random one.

OCaml

Innovation. Community. Security.