Skip to content

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 ​

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.

./tools/configure.sh sim:vpnkit

VPNKit setup ​

See [https://github.com/moby/vpnkit]{.title-ref} for build instructions.

If you have Docker Desktop for Mac installed on your machine, you can find a vpnkit binary at:

/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:

% vpnkit --ethernet /tmp/vpnkit-nuttx &
% ./nuttx

NuttX's CONFIG_SIM_NETDEV_VPNKIT_PATH should match vpnkit's --ethernet option.