RPC with LWIP

Norman Feske norman.feske at ...1...
Thu Jun 26 14:04:02 CEST 2014


Hi Mohammad,

> thank you for your replay, 
> Acctually i am thinking in using the second option by making the server
> multi-threaded (using one entrypoint per session).  but in this case i
> am facing the problem that the RPC has its own schedule and the LwIP
> also has it is own one too . So in one case i will have that  the RPC
> waiting in one point and the LWIP waiting in different place so isthere
> any way to try to combine the both wait points in one . 

I am afraid that this information is too vague to give to meaningful advice.

To find out at where your program gets stuck, I have two
recommendations: Simplify your scenario and move the scenario to Linux
to inspect it with GDB.

As for simplifying the scenario, I recommend you to take the RPC
interface out for now. Integrate both clients into a single program,
which also links against lwIP. Create a thread for each client and let
the thread call the respective "main" routine. When running the
resulting program, you should see the same behavior as now because two
threads are interacting with the lwIP stack.

Moving the scenario to Linux will enable you to closely inspect what is
going on. Each Genode thread will be a Linux thread. You can see all the
threads using 'ps -eLf' and attach to each of them via 'gdb -p <thread
ID>'. This way, you get a good overview of the situation when it hangs.
For running your networking test on Linux, you can use the NIC driver at
'os/src/drivers/nic/linux', which uses a tap device. For more
information about setting up networking using a tap device, please refer
to the following descriptions:


http://www.genode.org/documentation/release-notes/10.02#NIC_driver_for_Linux
  http://genode.org/documentation/release-notes/10.05#Arora_web_browser

You may also take the run script at 'libports/run/lwip_lx.run' as
reference. It starts a little HTTP server. On startup, it prints its IP
address, which you can use as URL in your browser.

Best regards
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list