Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Address resolution protocol, translating network addresses (e.g. IPv4) into link layer addresses (MAC).
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.
val query : t -> Ipaddr.V4.t -> (Macaddr.t, error) Stdlib.result Lwt.t
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.