Library
Module
Module type
Parameter
Class
Class type
module Ethernet : Ethernet.S
include S
val disconnect : t -> unit Lwt.t
Disconnect from the ARP layer. While this might take some time to complete, it can never result in an error.
val pp_error : error Fmt.t
pp_error
is the pretty-printer for errors.
val pp : t Fmt.t
Prettyprint cache contents
val get_ips : t -> Ipaddr.V4.t list
get_ips arp
gets the bound IP address list in the arp
value.
val set_ips : t -> Ipaddr.V4.t list -> unit Lwt.t
set_ips arp
sets the bound IP address list, which will transmit a GARP packet also.
val remove_ip : t -> Ipaddr.V4.t -> unit Lwt.t
remove_ip arp ip
removes ip
to the bound IP address list in the arp
value, which will transmit a GARP packet for any remaining IPs in the bound IP address list after the removal.
val add_ip : t -> Ipaddr.V4.t -> unit Lwt.t
add_ip arp ip
adds ip
to the bound IP address list in the arp
value, which will transmit a GARP packet also.
query arp ip
queries the cache in arp
for an ARP entry corresponding to ip
, which may result in the sender sleeping waiting for a response.
val input : t -> Cstruct.t -> unit Lwt.t
input arp frame
will handle an ARP frame. If it is a response, it will update its cache, otherwise will try to satisfy the request.
val connect : Ethernet.t -> t Lwt.t