The packer filter: an efficient mechanism for user-level network code
- 1 November 1987
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGOPS Operating Systems Review
- Vol. 21 (5) , 39-51
- https://doi.org/10.1145/37499.37505
Abstract
Code to implement network protocols can be either inside the kernel of an operating system or in user-level processes. Kernel-resident code is hard to develop, debug, and maintain, but user-level implementations typically incur significant overhead and perform poorly. The performance of user-level network code depends on the mechanism used to demultiplex received packets. Demultiplexing in a user-level process increases the rate of context switches and system calls, resulting in poor performance. Demultiplexing in the kernel eliminates unnecessary overhead. This paper describes the packet filter , a kernel-resident, protocol-independent packet demultiplexer. Individual user processes have great flexibility in selecting which packets they will receive. Protocol implementations using the packet filter perform quite well, and have been in production use for several years.Keywords
This publication has 7 references indexed in Scilit:
- VMTP: a transport protocol for the next generation of communication systemsPublished by Association for Computing Machinery (ACM) ,1986
- Distributed process groups in the V KernelACM Transactions on Computer Systems, 1985
- The V Kernel: A Software Base for Distributed SystemsIEEE Software, 1984
- GprofPublished by Association for Computing Machinery (ACM) ,1982
- Pup: An Internetwork ArchitectureIEEE Transactions on Communications, 1980
- UNIX Time-Sharing System: The C Programming LanguageBell System Technical Journal, 1978
- EthernetCommunications of the ACM, 1976