vmnetversion

MacOS X `vmnet` NAT networking

macOS 10.10 (Yosemite) introduced the somewhat undocumented vmnet framework. This exposes virtual network interfaces to userland applications. There are a number of advantages of this over previous implementations:

  • Unlike tuntaposx, this is builtin to MacOS X now and so is easier to package up and distribute for end users.
  • vmnet uses the XPC sandboxing interfaces and should make it easier to drop a hard dependency on running networking applications as root.
  • Most significantly, vmnet optionally supports NATing network traffic to the outside world, which was previously unsupported.

These OCaml bindings are constructed against the documentation contained in the <vmnet.h> header file in Yosemite, and may not be correct due to the lack of any other example code. However, they do suffice to run MirageOS applications that can connect to the outside world.

Note the application must be configured to use DHCP: static IPs are not supported.

AuthorAnil Madhavapeddy <anil@recoil.org>
LicenseISC
Published
Homepagehttps://github.com/mirage/ocaml-vmnet
Issue Trackerhttps://github.com/mirage/ocaml-vmnet/issues
MaintainerAnil Madhavapeddy <anil@recoil.org>
Availableos = "macos"
Dependencies
Source [http] https://github.com/mirage/ocaml-vmnet/releases/download/v1.5.1/vmnet-v1.5.1.tbz
sha256=87568fc1714fced553843a3a534e9a92f7d328068051a815e22dded0350ea04e
sha512=be2c6b50ad6ac32e805315103eddfbe4ca77818ebe3f3c026cf3457718a76e2f67b92ab9513666912ddda0e2addbd5c9db5293d346adb3192b9bf9c8ebad6774
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/vmnet/vmnet.1.5.1/opam