package tcpip
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=6e32bf540d291e9b7325cb3dd00df2f695533e009c46ea534d5518b9492c7348
sha512=2e9f9ca2eeac637599eb48e087b4632598539f1c76f9251758995c7eedeb723f8b951d557a2a53b85a58d50a04e68e15598581f88fca8997733e800fcfca422b
doc/tcpip.stack-direct/Tcpip_stack_direct/MakeV4V6/index.html
Module Tcpip_stack_direct.MakeV4V6Source
Parameters
module Time : Mirage_time.Smodule Random : Mirage_random.Smodule Netif : Mirage_net.Smodule Ethernet : Mirage_protocols.ETHERNETmodule Arpv4 : Mirage_protocols.ARPmodule Ip : Mirage_protocols.IP with type ipaddr = Ipaddr.tmodule Icmpv4 : Mirage_protocols.ICMP with type ipaddr = Ipaddr.V4.tmodule Udp : UDPV4V6_DIRECTmodule Tcp : TCPV4V6_DIRECTSignature
include Mirage_stack.V4V6
with module IP = Ip
and module TCP = Tcp
and module UDP = Udp
The type representing the internal state of the dual IPv4 and IPv6 stack.
Disconnect from the dual IPv4 and IPv6 stack. While this might take some time to complete, it can never result in an error.
module UDP = Udpmodule TCP = Tcpmodule IP = Ipudp t obtains a descriptor for use with the UDP module, usually to transmit traffic.
tcp t obtains a descriptor for use with the TCP module, usually to initiate outgoing connections.
ip t obtains a descriptor for use with the IP module, which can handle raw IPv4 and IPv6 frames, or manipulate IP address configuration on the stack interface.
listen_udp t ~port cb registers the cb callback on the UDP port and immediately return. If port is invalid (not between 0 and 65535 inclusive), it raises Invalid_argument. Multiple bindings to the same port will overwrite previous bindings, so callbacks will not chain if ports clash.
val listen_tcp :
?keepalive:Mirage_protocols.Keepalive.t ->
t ->
port:int ->
(TCP.flow -> unit Lwt.t) ->
unitlisten_tcp ~keepalive t ~port cb registers the cb callback on the TCP port and immediately return. If port is invalid (not between 0 and 65535 inclusive), it raises Invalid_argument. Multiple bindings to the same port will overwrite previous bindings, so callbacks will not chain if ports clash. If ~keepalive is provided then these keepalive settings will be applied to the accepted connections before the callback is called.
val connect :
Netif.t ->
Ethernet.t ->
Arpv4.t ->
Ip.t ->
Icmpv4.t ->
Udp.t ->
Tcp.t ->
t Lwt.tconnect assembles the arguments into a network stack, then calls `listen` on the assembled stack before returning it to the caller. The initial `listen` functions to ensure that the lower-level layers are functioning, so that if the user wishes to establish outbound connections, they will be able to do so.