package tcpip

  1. Overview
  2. Docs
OCaml TCP/IP networking stack, used in MirageOS

Install

dune-project
 Dependency

Authors

Maintainers

Sources

tcpip-8.2.0.tbz
sha256=916e688aba897676c444db8129f4963ad739f8d1be631d9e009c6228b4b7d6ed
sha512=a8f5fa8f7e96758075c93211132839950477b756fba490207a7d630f2766757bbb44bbdd02e2b1f2b4a7d83d4d8b10d34cb03903bbd516e7d7c1a9a987eb1915

doc/tcpip.stack-direct/Tcpip_stack_direct/MakeV4V6/argument-3-Netif/index.html

Parameter MakeV4V6.Netif

type error = private [>
  1. | Mirage_net.Net.error
]

The type for network interface errors.

val pp_error : error Fmt.t

pp_error is the pretty-printer for errors.

type t

The type representing the internal state of the network device.

val disconnect : t -> unit Lwt.t

Disconnect from the network device. While this might take some time to complete, it can never result in an error.

val write : t -> size:int -> (Cstruct.t -> int) -> (unit, error) result Lwt.t

write 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.

val listen : t -> header_size:int -> (Cstruct.t -> unit Lwt.t) -> (unit, error) result Lwt.t

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.

val mac : t -> Macaddr.t

mac net is the MAC address of net.

val mtu : t -> int

mtu net is the Maximum Transmission Unit of net. This excludes the Ethernet header.

val get_stats_counters : t -> Mirage_net.stats

Obtain the most recent snapshot of the interface statistics.

val reset_stats_counters : t -> unit

Reset the statistics associated with this interface to their defaults.

OCaml

Innovation. Community. Security.