GithubHelp home page GithubHelp logo

mirage-net-macosx's Introduction

mirage-net-macosx -- MacOS X implementation of the Mirage NETWORK interface.

This interface exposes raw Ethernet frames using the Vmnet framework that is available on MacOS X Yosemite onwards. It is suitable for use with an OCaml network stack such as the one found at https://github.com/mirage/mirage-tcpip.

limitations

The backing Vmnet.framework supports only IPV4 over DHCP, and does not allow for static configuration. mirage-net-macosx therefore must have access to a DHCP server in order to get a working network configuration, and unikernels built using mirage-net-macosx must be configured with --dhcp=true.

where it fits

For a complete system that uses this, please see the MirageOS homepage.

mirage-net-macosx's People

Contributors

samoht avatar hannesm avatar yomimono avatar avsm avatar magnuss avatar djs55 avatar nojb avatar talex5 avatar waldyrious avatar

Stargazers

Sora Morimoto avatar  avatar  avatar Angus H. avatar Seb Mondet avatar Cody Krieger avatar Rizo I avatar Mike English avatar  avatar  avatar

Watchers

 avatar  avatar Amir Chaudhry avatar Richard Mortier avatar  avatar Calascibetta Romain avatar  avatar James Cloos avatar  avatar  avatar  avatar collecting MirageOS relevant repositories (feed: see URL) avatar  avatar

mirage-net-macosx's Issues

Inconsistent assumptions over interface Netif

Tried to make main.ml, using a fresh install of Mirage on Ocaml 4.02.01 (fully up to date) on OS X.10. Failed due to inconsistent assumptions, have dumped the terminal output here.

findlib: [WARNING] Interface netif.cmi occurs in several directories: /Users/alistair/.opam/4.02.1/lib/mirage-net-macosx, /Users/alistair/.opam/4.02.1/lib/mirage-net-unix

  • ocamlfind ocamlc -c -g -annot -bin-annot -principal -thread -strict-sequence -package tcpip.udp -package tcpip.ipv4-unix -package tcpip.ethif-unix -package tcpip.dhcpv4 -package mirage-types.lwt -package mirage-types -package mirage-net-macosx -package mirage-console.unix -package mirage-clock-unix -package lwt -package ipaddr -package io-page -package cstruct.syntax -package cstruct -package bytes -package lwt.syntax -syntax camlp4o -o main.cmo main.ml
    findlib: [WARNING] Interface netif.cmi occurs in several directories: /Users/alistair/.opam/4.02.1/lib/mirage-net-macosx, /Users/alistair/.opam/4.02.1/lib/mirage-net-unix
  • ocamlfind ocamlopt -c -g -annot -bin-annot -principal -thread -strict-sequence -package tcpip.udp -package tcpip.ipv4-unix -package tcpip.ethif-unix -package tcpip.dhcpv4 -package mirage-types.lwt -package mirage-types -package mirage-net-macosx -package mirage-console.unix -package mirage-clock-unix -package lwt -package ipaddr -package io-page -package cstruct.syntax -package cstruct -package bytes -package lwt.syntax -syntax camlp4o -o DHCPServer.cmx DHCPServer.ml
    findlib: [WARNING] Interface netif.cmi occurs in several directories: /Users/alistair/.opam/4.02.1/lib/mirage-net-macosx, /Users/alistair/.opam/4.02.1/lib/mirage-net-unix
  • ocamlfind ocamlopt -c -g -annot -bin-annot -principal -thread -strict-sequence -package tcpip.udp -package tcpip.ipv4-unix -package tcpip.ethif-unix -package tcpip.dhcpv4 -package mirage-types.lwt -package mirage-types -package mirage-net-macosx -package mirage-console.unix -package mirage-clock-unix -package lwt -package ipaddr -package io-page -package cstruct.syntax -package cstruct -package bytes -package lwt.syntax -syntax camlp4o -o main.cmx main.ml
    findlib: [WARNING] Interface netif.cmi occurs in several directories: /Users/alistair/.opam/4.02.1/lib/mirage-net-macosx, /Users/alistair/.opam/4.02.1/lib/mirage-net-unix
  • ocamlfind ocamlopt -g -linkpkg -linkpkg -thread -package tcpip.udp -package tcpip.ipv4-unix -package tcpip.ethif-unix -package tcpip.dhcpv4 -package mirage-types.lwt -package mirage-types -package mirage-net-macosx -package mirage-console.unix -package mirage-clock-unix -package lwt -package ipaddr -package io-page -package cstruct.syntax -package cstruct -package bytes -package lwt.syntax -syntax camlp4o DHCPServer.cmx main.cmx -o main.native
    findlib: [WARNING] Interface netif.cmi occurs in several directories: /Users/alistair/.opam/4.02.1/lib/mirage-net-macosx, /Users/alistair/.opam/4.02.1/lib/mirage-net-unix
    File "none", line 1:
    Error: Files main.cmx
    and /Users/alistair/.opam/4.02.1/lib/mirage-net-macosx/mirage-net-macosx.cmxa
    make inconsistent assumptions over interface Netif
    Command exited with code 2.
    Compilation unsuccessful after building 7 targets (0 cached) in 00:00:00.
    make: *** [main.native] Error 10

Invalid_argument Cstruct.set_len

I'm seeing what seems to be an infinite loop with the following logs:

2019-03-14 13:16:23 +00:00: INF [net-macosx] Netif: connect unknown
2019-03-14 13:16:23 +00:00: INF [ethernet] Connected Ethernet interface e6:0f:ea:40:b3:71
2019-03-14 13:16:23 +00:00: ERR [net-macosx] [netif-input] error : (Invalid_argument "Cstruct.set_len [0,1514](1514) 4294966293")
2019-03-14 13:16:23 +00:00: ERR [net-macosx] [netif-input] error : (Invalid_argument "Cstruct.set_len [0,1514](1514) 4294966293")
2019-03-14 13:16:23 +00:00: ERR [net-macosx] [netif-input] error : (Invalid_argument "Cstruct.set_len [0,1514](1514) 4294966293")
.....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.