Hello, i am still new to the Genode so maybe you will find that my question is silly but i tried to run the PingPong example but i failed i build the Genode for base_linux i enabled the libport repository fron the build.conf then i prepare for the PKG=Lwip from the build directory i tried to run the server as next make run/test-ping_server and it is run successfully. when i try to do that for the client i could not success i hope some one can help .. i am sure i need to change in some values but actually i couldn't know where .
Hello Mohammad,
On 18.03.2014 17:48, Mhamad Hmad wrote:
Hello, i am still new to the Genode so maybe you will find that my question is silly but i tried to run the PingPong example but i failed i build the Genode for base_linux i enabled the libport repository fron the build.conf then i prepare for the PKG=Lwip from the build directory i tried to run the server as next make run/test-ping_server and it is run successfully. when i try to do that for the client i could not success i hope some one can help .. i am sure i need to change in some values but actually i couldn't know where .
The ping_server/ping_client test has been developed for a scenario where the server runs on one machine and prints its log messages to a serial port and the client runs on a different machine and its run script reads the log messages from the serial port for synchronization with the server.
When I just tried the test after commenting out these synchronization parts, the client showed the following error message:
"[init -> nic_drv] could not configure /dev/net/tun: no virtual network emulation"
This error message only occurred when the server was running, so it appears that it is not possible to have two instances of 'nic_drv' running at the same time on the same Linux host.
So, for now you could try to run either the client or the server on a separate machine (hardware or Qemu/VirtualBox) or to build either the client or the server as native Linux application (that's what the 'network_test' does).
Christian
Hej,
On Wed, Mar 26, 2014 at 10:34:38PM +0100, Christian Prochaska wrote:
When I just tried the test after commenting out these synchronization parts, the client showed the following error message:
"[init -> nic_drv] could not configure /dev/net/tun: no virtual network emulation"
This error message only occurred when the server was running, so it appears that it is not possible to have two instances of 'nic_drv' running at the same time on the same Linux host.
The issue is in os/src/drivers/nic/linux/main.cc:84
Genode::strncpy(ifr.ifr_name, "tap0", sizeof(ifr.ifr_name));
This means any instance of the base-linux nic_drv tries to configure its tap device with name "tap0" which is denied by the Linux kernel. We could add an optional config option for the tap-device name to support scenarios with several instances of nic_drv on Linux.
Greets
On Sat, 29 Mar 2014 11:53:24 +0100 Christian Helmuth <christian.helmuth@...1...> wrote:
The issue is in os/src/drivers/nic/linux/main.cc:84
Genode::strncpy(ifr.ifr_name, "tap0", sizeof(ifr.ifr_name));
This means any instance of the base-linux nic_drv tries to configure its tap device with name "tap0" which is denied by the Linux kernel. We could add an optional config option for the tap-device name to support scenarios with several instances of nic_drv on Linux.
Fortunately, I already implemented this. See https://github.com/ValiValpas/genode/commits/master
Hi Johannes,
On Sat, Mar 29, 2014 at 01:08:01PM +0100, Johannes Schlatow wrote:
On Sat, 29 Mar 2014 11:53:24 +0100 Christian Helmuth <christian.helmuth@...169.....1...> wrote:
The issue is in os/src/drivers/nic/linux/main.cc:84
Genode::strncpy(ifr.ifr_name, "tap0", sizeof(ifr.ifr_name));
This means any instance of the base-linux nic_drv tries to configure its tap device with name "tap0" which is denied by the Linux kernel. We could add an optional config option for the tap-device name to support scenarios with several instances of nic_drv on Linux.
Fortunately, I already implemented this. See https://github.com/ValiValpas/genode/commits/master
I stumbled upon your email and like to merge the feature upstream. Would you mind to open a pull request / issue with just this feature on top of genode/master so the standard procedure can start rolling?
Greets