packagetcpip
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=59377ed359080d8da94aec91474a533bad955c12be79827bec853ccb496d659a
sha512=3f2ed5cbd5bdcd9a664e9ee0b7dbfc65b0a698e6c4bb77ee6a85a139b18cdee24415d76fb821466a9aff2e390318a8657b83871768c259557f25684ab6ccf83b
Description
mirage-tcpip
provides a networking stack for theMirage operatingsystem. 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 theMirage 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 - thesocket
stack, and thedirect
stack.
Thesocket
stack
Thesocket
stack uses socket calls to a traditional operating system to provide the functionality described in the module types.
See thesrc/stack-unix/
directory for the modules used as implementations of thesocket
stack.
Thesocket
stack is used for testing or other applications which do not expect to run as unikernels.
Thedirect
stack
Thedirect
stack expects to write to a device implementing theNETIF
module type defined for MirageOS.
See thesrc/
directory for the modules used as implementations of thedirect
stack, which is the expected stack for most MirageOS applications.
Thedirect
stack is the only usable set of implementations for applications which will run as unikernels on a hypervisor target.
Community
License
mirage-tcpip
is distributed under the ISC license.
Dependencies (25)
- cmdliner
>= "1.1.0"
- metrics
- lru
>= "0.3.0"
- macaddr-cstruct
- ipaddr-cstruct
- mirage-flow
>= "4.0.0"
- arp
>= "4.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"
- macaddr-cstruct
- macaddr
>= "4.0.0"
- ipaddr
>= "5.6.0"
- mirage-sleep
>= "4.0.0"
- mirage-crypto-rng
>= "1.2.0"
- mirage-mtime
>= "4.0.0"
- mirage-net
>= "3.0.0"
- cstruct-lwt
- cstruct
>= "6.0.0"
- ocaml
>= "4.08.0"
- dune
>= "2.7.0"
Dev Dependencies (4)
- pcap-format
with-test
- alcotest
with-test & >= "1.5.0"
- mirage-vnetif
with-test & >= "0.6.2"
- bisect_ppx
dev & >= "2.5.0"
Used by (38)
- arp
< "0.2.0"
- caldav
- capnp-rpc-mirage
>= "0.3.2" & < "0.6.0" | >= "0.9.0" & < "1.1" | >= "1.2.2"
- caqti-mirage
- charrua
>= "1.5.0"
- charrua-client
>= "1.4.0" & < "1.5.0" | >= "2.0.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-mirage
>= "2.3.0"
- dkim-mirage
>= "0.4.0"
- dns-certify
>= "6.1.3"
- dns-client
>= "6.1.3" & < "7.0.0"
- dns-client-mirage
- dns-mirage
>= "6.1.3"
- dns-resolver
>= "6.1.3"
- dns-server
>= "6.1.3"
- dns-stub
>= "6.1.3"
- 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
- mehari-lwt-unix
- mehari-mirage
- mirage-monitoring
- mirage-nat
= "2.2.4" | >= "3.0.2"
- mirage-protocols
>= "8.0.0"
- mirage-qubes-ipv4
>= "2.0.0"
- paf
- paf-cohttp
- paf-le
>= "0.0.8"
- pgx_lwt_mirage
>= "2.1"
- spoke
- vpnkit
Conflicts (3)
- result
< "1.5"
- ocaml-freestanding
- mirage-xen
< "6.0.0"