Network support with VPNKit =========================== The simulation can be configured to use VPNKit to provide network support. While this was developed for macOS, it should work on other platforms as well. Configuration ------------- .. code-block:: bash CONFIG_SIM_NETDEV=y CONFIG_SIM_NETDEV_TAP is not set CONFIG_SIM_NETDEV_VPNKIT=y CONFIG_SIM_NETDEV_VPNKIT_PATH="/tmp/vpnkit-nuttx" You can use the ``sim:vpnkit`` configuration, which includes the above settings. .. code-block:: bash ./tools/configure.sh sim:vpnkit VPNKit setup ------------ See `https://github.com/moby/vpnkit` for build instructions. If you have Docker Desktop for Mac installed on your machine, you can find a vpnkit binary at: .. code-block:: bash /Applications/Docker.app/Contents/Resources/bin/com.docker.vpnkit A docker image containing a static Linux binary is also available: `https://hub.docker.com/r/djs55/vpnkit` How to run ---------- You can use it as the following: .. code-block:: bash % vpnkit --ethernet /tmp/vpnkit-nuttx & % ./nuttx NuttX's ``CONFIG_SIM_NETDEV_VPNKIT_PATH`` should match vpnkit's ``--ethernet`` option.