Hi all,
We are trying to get openVPN to work under 17.05 again. One issue we encountered was that lwip sockets seem to function incorrectly; so we tried switching to lxip sockets.
However, sockets in lxip require the use of the with_libc() function. When I put this around the openvpn_main() call it gives me the error:
Error: void Libc::Kernel::run(Libc::Application_code&) called from non-kernel context
The catch here is that I'm calling all this from inside the code of a Genode::Thread which executes the main function of openvpn. It seems that I cannot use with_libc inside another thread than the entrypoint thread.
calling with_libc inside Component::construct() does not work for the new thread. It will fail when calling socket().
Is there any way of using sockets correctly inside another thread?