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:vpnkitVPNKit 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.vpnkitA 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 &
% ./nuttxNuttX's CONFIG_SIM_NETDEV_VPNKIT_PATH should match vpnkit's --ethernet option.