Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
val pp_error : error Fmt.t
pp_error
is the pretty-printer for errors.
val disconnect : t -> unit Lwt.t
Disconnect from the ethernet layer. While this might take some time to complete, it can never result in an error.
val write :
t ->
?src:Macaddr.t ->
Macaddr.t ->
Ethernet.Packet.proto ->
?size:int ->
(Cstruct.t -> int) ->
(unit, error) Stdlib.result Lwt.t
write eth ~src dst proto ~size payload
outputs an ethernet frame which header is filled by eth
, and its payload is the buffer from the call to payload
. Payload
gets a buffer of size
(defaults to mtu) to fill with their payload. If size
exceeds mtu
, an error is returned.
val mac : t -> Macaddr.t
mac eth
is the MAC address of eth
.
val mtu : t -> int
mtu eth
is the Maximum Transmission Unit of the eth
i.e. the maximum size of the payload, excluding the ethernet frame header.
val input :
arpv4:(Cstruct.t -> unit Lwt.t) ->
ipv4:(Cstruct.t -> unit Lwt.t) ->
ipv6:(Cstruct.t -> unit Lwt.t) ->
t ->
Cstruct.t ->
unit Lwt.t
input ~arpv4 ~ipv4 ~ipv6 eth buffer
decodes the buffer and demultiplexes it depending on the protocol to the callback.