-
icmpv4_socket
-
tcp_socket_options
-
tcpip
-
tcpip_icmpv4
-
tcpip_stack_socket
-
tcpip_unix
-
tcpip_xen
-
tcpv4_socket
-
tcpv6_socket
-
udpv4_socket
-
udpv6_socket
Library
Module
Module type
Parameter
Class
Class type
Parameters
module IP : Mirage_protocols.IP
module R : Mirage_random.S
Signature
include Mirage_protocols.UDP
with type ipaddr = IP.ipaddr
and type ipinput = src:IP.ipaddr -> dst:IP.ipaddr -> Cstruct.t -> unit Lwt.t
type ipaddr = IP.ipaddr
The type for an IP address representations.
The type for input function continuation to pass onto the underlying IP
layer. This will normally be a NOOP for a conventional kernel, but a direct implementation will parse the buffer.
include Mirage_device.S
The type for callback functions that adds the UDP metadata for src
and dst
IP addresses, the src_port
of the connection and the buffer
payload of the datagram.
input listeners t
demultiplexes incoming datagrams based on their destination port. The listeners
callback will either return a concrete handler or a None
, which results in the datagram being dropped.
val write :
?src_port:int ->
?ttl:int ->
dst:ipaddr ->
dst_port:int ->
t ->
Cstruct.t ->
( unit, error ) result Lwt.t
write ~src_port ~ttl ~dst ~dst_port udp data
is a task that writes data
from an optional src_port
to a dst
and dst_port
IP address pair. An optional time-to-live (ttl
) is passed through to the IP layer.