Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mirage/mirage-tcpip
TCP/IP networking stack in pure OCaml, using the Mirage platform libraries. Includes IPv4/6, ICMP, and UDP/TCP support.
https://github.com/mirage/mirage-tcpip
arp ethernet icmp ipv4 mirageos networking-stack ocaml tcp tcpip udp unikernel
Last synced: about 1 month ago
JSON representation
TCP/IP networking stack in pure OCaml, using the Mirage platform libraries. Includes IPv4/6, ICMP, and UDP/TCP support.
- Host: GitHub
- URL: https://github.com/mirage/mirage-tcpip
- Owner: mirage
- License: isc
- Created: 2012-06-20T09:53:17.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2024-08-22T11:06:08.000Z (3 months ago)
- Last Synced: 2024-09-29T06:41:08.064Z (about 2 months ago)
- Topics: arp, ethernet, icmp, ipv4, mirageos, networking-stack, ocaml, tcp, tcpip, udp, unikernel
- Language: OCaml
- Homepage: https://mirage.io
- Size: 27.3 MB
- Stars: 339
- Watchers: 41
- Forks: 87
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE.md
Awesome Lists containing this project
README
# mirage-tcpip - an OCaml TCP/IP networking stack
`mirage-tcpip` provides a networking stack for the [Mirage operating
system](https://mirage.io). 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/`](./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/`](./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:
* E-mail:
* Issues:
* API docs:## License
`mirage-tcpip` is distributed under the ISC license.