RE: offloading the protocols

Jerry Scott (
21 Mar 88 11:17:00 PST

        That is not the way that data flows inside the Wollongong
software at all. The same style used by 4.3BSD is the case here.
First data is sent from the user into the kernel where it is placed
into network buffers call mbufs. Mbufs can and are chained to
build packets (IP headers, TCP headers, data, etc). The mbuf
chains are passed between protocols, thus no data is moved at all
just the pointers to the data. Plus once the data is in the
kernel, it never has to take a hop back to an application for
any further processing.

        We are well aware of the overhead of moving data between
the kernel level and user level, that is why we have done
considerable work in preventing this from happening (eg. Telnet
server is kernel resident, sharing DEC ethernet controllers
using ALTSTART interface). We have also been eagerly tracking
the good work by Van Jacobson and Mike Karels in the TCP area.
Our implementation allows us to use there public domain code
without modification.

        I do agree with your assessment of the on-board TCP
solutions. The overhead in the host must be minimal. Data
must be moved from the user into a DMA area where the smart
controller can access it. You must trust the data integrity
between the host and the controller performing the network
functions. Now if you can get Van's and Mike's code down
onto these controllers...


This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:41:31 GMT