The packer filter: an efficient mechanism for user-level network code

Abstract
Code to implement network protocols can be either inside the kernel of anoperating system or in user-level processes. Kernel-resident code is hard todevelop, debug, and maintain, but user-level implementations typically incursignificant overhead and perform poorly.The performance of user-level network code depends on the mechanismused to demultiplex received packets. Demultiplexing in a user-level processincreases the rate of context switches and system calls, resulting in poor...