lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] Making lwIP thread safe


From: Bob McConnell
Subject: Re: [lwip-users] Making lwIP thread safe
Date: Sun, 20 Apr 2008 16:51:11 -0400
User-agent: Thunderbird 2.0.0.4 (X11/20070604)

address@hidden wrote:
Just to clarify this: lwIP's core is (intentionally) not thread-safe: It should be small to be used without an OS. If you want to use it from different threads, you cannot use the raw api, use the netconn or sockets api instead (if anyone doesn't know what that is, read about it at http://lwip.scribblewiki.com/). Thus lwIP _is_ thread safe if you want it to.

That said, if I understand you correctly, you want to run 200 full instances of lwIP in one process: that doesn't work (also, intentionally): many parts in lwIP use global or static variables (the whole stack is _not_ reentrant). After all, running lwIP in a process is much like running it on its own device (a completely seperate address space). Running 2 instances in 2 different threads in the same process is like running it twice on the same device: you could make it work with a high effort, but there's no use for that in normal life...

Simon

Hi Simon,

I knew there was one large company in the Northwest USA that doesn't believe testing is part of normal life, but I wasn't aware that everyone believed that. Be that as it may, many devices need multiple stacks running, for example one for a network interface and a second for ppp on a serial port. This can be done with Rabbits and PICs, so it should qualify as a valid target. I believe you have taken much too narrow a view of normal life.

But I also think you misread my description. I need 2000 full instances running simultaneously. Only the prototype may be limited to 200. Each instance must emulate one of several different devices and open a permanent TCP connection with a transaction server using a unique IP source address. This eliminates UML and VMWare as hosts, since they cannot support anywhere near that many sessions. It is not possible to set up that many devices in our facility, even if we emptied out the entire warehouse to make room for them. Perhaps you can suggest some other way to implement this test bench?

Thank you,

Bob McConnell
N2SPP




reply via email to

[Prev in Thread] Current Thread [Next in Thread]