With IO-Lite, the network subsystem uses IO-Lite buffer aggregates to store and manipulate network packets.
Some modifications are required to network device drivers. As explained in Section 2.2, programs using IO-Lite must determine the ACL of a data object prior to storing the object in memory. Thus, network interface drivers must determine the I/O stream associated with an incoming packet, since this stream implies the ACL for the data contained in the packet.
To avoid copying, drivers must determine this information from the headers of incoming packets using a packet filter [16], an operation known as early demultiplexing. Incidentally, early demultiplexing has been identified by many researchers as a necessary feature for efficiency and quality of service in high-performance networks [23]. With IO-Lite, early demultiplexing is necessary for best performance.