package tcpip
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=e2777639565ae30db62386e08259d2f25acd7e34e4e343cbe67e8e87a9fea2cc
sha512=fae605ba30b0bb5ae28cbedc32f220c5a5166db4af9e060d82007cd020132f1e334fa8fcb7e9bd68851fc838f7e6fb1b4e1d3cba8fb787dcec79d2107b8ffd4a
Description
mirage-tcpip
provides a networking stack for the Mirage operating
system. It provides implementations for the following module types
(which correspond with the similarly-named protocols):
- IP (via the IPv4 and IPv6 modules)
- ICMP
- UDP
- TCP
README
mirage-tcpip - an OCaml TCP/IP networking stack
mirage-tcpip
provides a networking stack for the Mirage operating system. It provides implementations for the following module types (which correspond with the similarly-named protocols):
IP (via the IPv4 and IPv6 modules)
ICMP
UDP
TCP
Implementations
There are two implementations of the IP, ICMP, UDP, and TCP module types - the socket
stack, and the direct
stack.
The socket
stack
The socket
stack uses socket calls to a traditional operating system to provide the functionality described in the module types.
See the src/stack-unix/
directory for the modules used as implementations of the socket
stack.
The socket
stack is used for testing or other applications which do not expect to run as unikernels.
The direct
stack
The direct
stack expects to write to a device implementing the NETIF
module type defined for MirageOS.
See the src/
directory for the modules used as implementations of the direct
stack, which is the expected stack for most MirageOS applications.
The direct
stack is the only usable set of implementations for applications which will run as unikernels on a hypervisor target.
Community
WWW: https://mirage.io
API docs: http://docs.mirage.io/tcpip/index.html
License
mirage-tcpip
is distributed under the ISC license.
Dependencies (25)
- metrics
-
lru
>= "0.3.0"
-
mirage-flow
>= "2.0.0" & < "4.0.0"
-
arp
>= "3.0.0"
-
ethernet
>= "3.0.0"
-
randomconv
< "0.2.0"
- duration
-
logs
>= "0.6.0"
- lwt-dllist
-
lwt
>= "4.0.0"
-
fmt
>= "0.8.7"
-
mirage-profile
>= "0.5"
- macaddr-cstruct
-
macaddr
>= "4.0.0"
-
ipaddr
>= "5.0.0"
-
mirage-time
>= "2.0.0"
-
mirage-random
>= "2.0.0" & < "4.0.0"
-
mirage-clock
>= "3.0.0"
-
mirage-net
>= "3.0.0"
- ppx_cstruct
- cstruct-lwt
-
cstruct
>= "6.0.0"
-
ocaml
>= "4.08.0"
-
dune
>= "2.7.0"
-
conf-pkg-config
build
Dev Dependencies (7)
-
ipaddr-cstruct
with-test
-
mirage-random-test
with-test & >= "0.1.0"
-
mirage-clock-unix
with-test & >= "3.0.0"
-
pcap-format
with-test
-
alcotest
with-test & >= "1.5.0"
-
mirage-vnetif
with-test & >= "0.5.0" & < "0.6.2"
-
bisect_ppx
dev & >= "2.5.0"
Used by (45)
-
arp
< "0.2.0"
- caldav
-
capnp-rpc-mirage
>= "0.3.2" & < "0.6.0" | >= "0.9.0" & < "1.1" | >= "1.2.2"
-
caqti-mirage
< "2.1.2"
-
charrua
>= "1.5.0"
-
charrua-client
>= "1.4.0"
-
charrua-client-lwt
>= "0.11.1" & < "0.12.0"
-
charrua-client-mirage
>= "0.11.1" & < "0.12.0"
-
charrua-core
>= "0.11.2"
-
charrua-server
>= "1.4.0"
-
charrua-unix
>= "1.4.0"
-
conduit
= "0.10.0"
-
conduit-mirage
>= "2.3.0"
-
dkim-mirage
>= "0.4.0"
-
dns-certify
>= "6.1.3" & < "9.0.0"
-
dns-client
>= "6.1.3" & < "7.0.0"
-
dns-client-mirage
< "9.0.0"
-
dns-mirage
>= "6.1.3" & < "9.0.0"
-
dns-resolver
>= "6.1.3" & < "9.0.0"
-
dns-server
>= "6.1.3" & < "9.0.0"
-
dns-stub
>= "6.1.3" & < "9.0.0"
-
frenetic
>= "5.0.0" & < "5.0.5"
-
git-mirage
>= "3.7.0"
-
git-paf
>= "3.7.0"
-
git-unix
>= "3.0.0"
-
happy-eyeballs-mirage
>= "0.1.2"
- http-mirage-client
- letsencrypt-mirage
-
mirage-conduit
>= "2.0.0" & < "2.2.0"
-
mirage-dns
< "2.6.0"
- mirage-monitoring
-
mirage-nat
>= "2.2.4" & < "3.0.2"
-
mirage-protocols
>= "8.0.0"
-
mirage-qubes-ipv4
>= "0.8.3" & < "0.10.0"
-
mirage-stack
>= "4.0.0"
-
mirage-vnetif-stack
< "0.6.1"
-
mirage-www
>= "1.1.0"
-
packet
>= "0.4.0"
-
paf
< "0.6.0"
- paf-cohttp
-
paf-le
>= "0.0.8"
-
pgx_lwt_mirage
>= "2.1"
- spoke
- tftp
-
vpnkit
>= "0.1.1"
Conflicts (3)
-
result
< "1.5"
-
ocaml-freestanding
< "0.4.1"
-
mirage-xen
< "6.0.0"