VMTP: a transport protocol for the next generation of communication systems
SIGCOMM '86 Proceedings of the ACM SIGCOMM conference on Communications architectures & protocols
Distributed process groups in the V Kernel
ACM Transactions on Computer Systems (TOCS)
Ethernet: distributed packet switching for local computer networks
Communications of the ACM
Gprof: A call graph execution profiler
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
The Sprite Remote Procedure Call System
The Sprite Remote Procedure Call System
The Raid Distributed Database System
IEEE Transactions on Software Engineering
RPC in the x-Kernel: evaluating new design techniques
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
“Topologies”—distributed objects on multicomputers
ACM Transactions on Computer Systems (TOCS)
Efficient use of workstations for passive monitoring of local area networks
SIGCOMM '90 Proceedings of the ACM symposium on Communications architectures & protocols
An inclusive session level protocol for distributed applications
SIGCOMM '90 Proceedings of the ACM symposium on Communications architectures & protocols
Network locality at the scale of processes
SIGCOMM '91 Proceedings of the conference on Communications architecture & protocols
Network locality at the scale of processes
ACM Transactions on Computer Systems (TOCS)
Implementing network protocols at user level
SIGCOMM '93 Conference proceedings on Communications architectures, protocols and applications
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Protocol service decomposition for high-performance networking
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Implementing network protocols at user level
IEEE/ACM Transactions on Networking (TON)
Increasing network throughput by integrating protocol layers
IEEE/ACM Transactions on Networking (TON)
A quantitative analysis of cache policies for scalable network file systems
SIGMETRICS '94 Proceedings of the 1994 ACM SIGMETRICS conference on Measurement and modeling of computer systems
User-space protocols deliver high performance to applications on a low-cost Gb/s LAN
SIGCOMM '94 Proceedings of the conference on Communications architectures, protocols and applications
DCG: an efficient, retargetable dynamic code generation system
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Efficient message passing interface (MPI) for parallel computing on clusters of workstations
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
A comparison of system monitoring methods, passive network monitoring and kernel instrumentation
ACM SIGOPS Operating Systems Review
Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
How a large ATM MTU causes deadlocks in TCP data transfers
IEEE/ACM Transactions on Networking (TON)
Optimizing ML with run-time code generation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
VCODE: a retargetable, extensible, very fast dynamic code generation system
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Networking support for large scale multiprocessor servers
Proceedings of the 1996 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
C: a language for high-level, efficient, and machine-independent dynamic code generation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ASHs: Application-specific handlers for high-performance messaging
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
DPF: fast, flexible message demultiplexing using dynamic code generation
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Masking the overhead of protocol layering
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
ASHs: application-specific handlers for high-performance messaging
IEEE/ACM Transactions on Networking (TON)
Eliminating receive livelock in an interrupt-driven kernel
ACM Transactions on Computer Systems (TOCS)
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
IEEE Transactions on Parallel and Distributed Systems
An extensible probe architecture for network protocol performance measurement
Proceedings of the ACM SIGCOMM '98 conference on Applications, technologies, architectures, and protocols for computer communication
Router plugins: a software architecture for next generation routers
Proceedings of the ACM SIGCOMM '98 conference on Applications, technologies, architectures, and protocols for computer communication
Efficient user-space protocol implementations with QoS guarantees using real-time upcalls
IEEE/ACM Transactions on Networking (TON)
BPF+: exploiting global data-flow optimization in a generalized packet filter architecture
Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
Experiences implementing a high performance TCP in user-space
SIGCOMM '95 Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
Router plugins: a software architecture for next-generation routers
IEEE/ACM Transactions on Networking (TON)
Packet types: abstract specification of network protocol messages
Proceedings of the conference on Applications, Technologies, Architectures, and Protocols for Computer Communication
Dividing the application definition from the execution
Computing in Science and Engineering
Safety checking of machine code
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Implementing a distributed firewall
Proceedings of the 7th ACM conference on Computer and communications security
Static and Dynamic Program Compilation by Interpreter Specialization
Higher-Order and Symbolic Computation
The operating system kernel as a secure programmable machine
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Interposed request routing for scalable network storage
ACM Transactions on Computer Systems (TOCS)
Fast and flexible application-level networking on exokernel systems
ACM Transactions on Computer Systems (TOCS)
Proceedings of the 8th annual international conference on Mobile computing and networking
Self-Specializing Mobile Code for Adaptive Network Services
IWAN '00 Proceedings of the Second International Working Conference on Active Networks
Event Filtering Framework: Key Criteria and Design Trade-offs
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Testing of fault-tolerant and real-time distributed systems via protocol fault injection
FTCS '96 Proceedings of the The Twenty-Sixth Annual International Symposium on Fault-Tolerant Computing (FTCS '96)
A protocol-adaptive monitoring tree for efficient design of traffic monitoring probes
Computer Networks: The International Journal of Computer and Telecommunications Networking
OS portal: an economic approach for making an embedded kernel extensible
Journal of Systems and Software
Improving availability with recursive microreboots: a soft-state system case study
Performance Evaluation - Dependable systems and networks-performance and dependability symposium (DSN-PDS) 2002: Selected papers
Optimizing ML with run-time code generation
ACM SIGPLAN Notices - Best of PLDI 1979-1999
An extensible probe architecture for network protocol performance measurement
Software—Practice & Experience
Deadline Analysis of Interrupt-Driven Software
IEEE Transactions on Software Engineering
Dynamically extending the Corral with native code for high-speed packet processing
Computer Networks: The International Journal of Computer and Telecommunications Networking - Active networks
Network subsystems reloaded: a high-performance, defensible network subsystem
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Flexible packet filtering: providing a rich toolbox
BSDC'02 Proceedings of the BSD Conference 2002 on BSD Conference
VXA: a virtual architecture for durable compressed archives
FAST'05 Proceedings of the 4th conference on USENIX Conference on File and Storage Technologies - Volume 4
Deploying safe user-level network services with icTCP
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
FFPF: fairly fast packet filters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Efficient packet demultiplexing for multiple endpoints and large messages
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
The BSD packet filter: a new architecture for user-level packet capture
USENIX'93 Proceedings of the USENIX Winter 1993 Conference Proceedings on USENIX Winter 1993 Conference Proceedings
HiPEC: high performance external virtual memory caching
OSDI '94 Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation
Traffic data repository at the WIDE project
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Modular communication subsystem implementation using a synchronous approach
HSNS'94 Proceedings of the High-Speed Networking Symposium on USENIX 1994 High-Speed Networking Symposium
A framework for the non-monolithic implementation of protocols in the x-kernel
HSNS'94 Proceedings of the High-Speed Networking Symposium on USENIX 1994 High-Speed Networking Symposium
Applying optimization principle patterns to design real-time ORBs
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
A comparison of OS extension technologies
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
An extensible protocol architecture for application-specific networking
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Eliminating receive livelock in an interrupt-driven kernel
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
XFI: software guards for system address spaces
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Running a Java VM inside an operating system kernel
Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Swift: a fast dynamic packet filter
NSDI'08 Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation
Path-Based Access Control for Enterprise Networks
ISC '08 Proceedings of the 11th international conference on Information Security
Tamper-Resistant, Application-Aware Blocking of Malicious Network Connections
RAID '08 Proceedings of the 11th international symposium on Recent Advances in Intrusion Detection
Asynchronous policy evaluation and enforcement
Proceedings of the 2nd ACM workshop on Computer security architectures
Fast decoding of tagged message formats
INFOCOM'96 Proceedings of the Fifteenth annual joint conference of the IEEE computer and communications societies conference on The conference on computer communications - Volume 1
Multi-stage packet filtering in network smart cards
CARDIS'06 Proceedings of the 7th IFIP WG 8.8/11.2 international conference on Smart Card Research and Advanced Applications
Design and implementation of a fast dynamic packet filter
IEEE/ACM Transactions on Networking (TON)
Shepherding social feed generation with Sheep
Proceedings of the Fifth Workshop on Social Network Systems
Predictable and configurable component-based scheduling in the Composite OS
ACM Transactions on Embedded Computing Systems (TECS) - Special Section on ESTIMedia'10
Hi-index | 0.00 |
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.