package arp
Address Resolution Protocol purely in OCaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
arp-3.1.1.tbz
sha256=ea33c589e9deea300fb62bc2ba0b557cfdfeea4f40e600685b3a68c6868f06f1
sha512=5824ea057094d6035cac4235f0dd984af9d56fb9ec9aa621af3bc24674c97df328cd77efb749743f295f94c040e39d9b1caf68a13253393685dfae02fce6e869
doc/arp/Arp_packet/index.html
Module Arp_packetSource
Conversion between wire and high-level data
The high-level datatype can be decoded and encoded to bytes to be sent on the wire. ARP specifies hardware and protocol addresses, but this implementation picks Ethernet and IPv4 statically. While decoding can result in an error, encoding can not.
Source
type t = {operation : op;source_mac : Macaddr.t;source_ip : Ipaddr.V4.t;target_mac : Macaddr.t;target_ip : Ipaddr.V4.t;
}The high-level ARP frame consisting of the two address pairs and an operation.
size is the size of an ARP frame.
pp ppf t prints the frame t on ppf.
equal a b returns true if frames a and b are equal, false otherwise.
The type of possible errors during decoding
Too_shortif the provided buffer is not long enoughUnusableif the protocol or hardware address type is not IPv4 and EthernetUnknown_operationif it is neither a request nor a reply
pp_error ppf err prints the error err on ppf.
Decoding
decode buf attempts to decode the buffer into an ARP frame t.
Encoding
encode t is a buf, a freshly allocated buffer, which contains the encoded ARP frame t.