Hi,
I'm looking into using lwIP as the basis for a
TOE (TCP/IP offload engine). If I understand correctly, the lwIP
environment is implemented as one thread for the IP stack, and one thread for
each application:
APPLICATION
THREAD IP
STACK THREAD
App
<-> Sockets <-> API-mux <------------> API-demux <->
Stack <-> netif
mbox
transport
This architecture appears to lend
itself fairly well to the following TOE implementation (actually, SOE, as it
would be a full sockets offload):
HOST
PROCESSOR TOE
ADAPTER W/ EMBEDDED CPU
+-------------+
+--------------+
+-------+ +----------+
| App using |---| lwIP library
|------------| lwIP |---| Network |--->
| sockets API
| | Sockets API | Hardware | stack | |
hardware |
+-------------+ +--------------+
bus +-------+
+----------+
- Does this assessment sound
correct?
- Could a significant performance improvement be
realized, compared to using a host-native IP stack?
- Is anyone
else interested in this type of application?
The only problems that I see are with the mbox transport mechanism, in that it assumes a shared address space.
- It would need to send the data, instead of pointers to
the data.
- It would need to send messages for event notifications
instead of using callbacks.
- Message reception on either side of the
hardware bus would be signaled through interrupts.
Thanks,
Curt McDowell
Broadcom
Corp.
_______________________________________________ lwip-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/lwip-users
