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 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.