Icmpv4.Make
module I : Tcpip.Ip.S with type ipaddr = Ipaddr.V4.t
include S
type t
The type representing the internal state of the ICMP layer.
val disconnect : t -> unit Lwt.t
Disconnect from the ICMP layer. While this might take some time to complete, it can never result in an error.
type ipaddr = Ipaddr.V4.t
The type for IP addresses.
type error
The type for ICMP errors.
val pp_error : error Fmt.t
pp_error is the pretty-printer for errors.
pp_error
val input : t -> src:ipaddr -> dst:ipaddr -> Cstruct.t -> unit Lwt.t
input t src dst buffer reacts to the ICMP message in buffer.
input t src dst buffer
buffer
val write : t -> ?src:ipaddr -> dst:ipaddr -> ?ttl:int -> Cstruct.t -> (unit, error) Stdlib.result Lwt.t
write t ~src ~dst ~ttl buffer sends the ICMP message in buffer to dst over IP. Passes the time-to-live (ttl) to the IP stack if given.
write t ~src ~dst ~ttl buffer
dst
ttl
val connect : I.t -> t Lwt.t