usenix conference policies
Swift: A Fast Dynamic Packet Filter
Abstract:
This paper presents Swift, a packet filter for high performance packet capture on commercial off-the-shelf hardware. The key features of Swift include (1) extremely low filter update latency for dynamic packet filtering, and (2) Gbps high-speed packet processing. Based on complex instruction set computer (CISC) instruction set architecture (ISA), Swift achieves the former with an instruction set design that avoids the need for compilation and security checking, and the latter by mainly utilizing SIMD (single instruction, multiple data). We implement Swift in the Linux 2.6 kernel for both i386 and x86_64 architectures. The Swift userspace library supports two sets of application programming interfaces (APIs): a BPF-friendly API for backward compatibility and an object oriented API for simplifying filter coding. We extensively evaluate the dynamic and static filtering performance of Swift on multiple machines with different hardware setups. We compare Swift with BPF (the BSD packet filter)—the de facto standard for packet filtering in modern operating systems—and hand-coded optimized C filters that are used for demonstrating possible performance gains. For dynamic filtering tasks, Swift is at least three orders of magnitude faster than BPF in terms of filter update latency. For static filtering tasks, Swift outperforms BPF up to three times in terms of packet processing speed, and achieves much closer performance to the optimized C filters.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
BibTeX
@inproceedings {268267,
author = {Zhenyu Wu and Mengjun Xie and Haining Wang},
title = {Swift: A Fast Dynamic Packet Filter},
booktitle = {5th USENIX Symposium on Networked Systems Design and Implementation (NSDI 08)},
year = {2008},
address = {San Francisco, CA},
url = {https://www.usenix.org/conference/nsdi-08/swift-fast-dynamic-packet-filter},
publisher = {USENIX Association},
month = apr
}
author = {Zhenyu Wu and Mengjun Xie and Haining Wang},
title = {Swift: A Fast Dynamic Packet Filter},
booktitle = {5th USENIX Symposium on Networked Systems Design and Implementation (NSDI 08)},
year = {2008},
address = {San Francisco, CA},
url = {https://www.usenix.org/conference/nsdi-08/swift-fast-dynamic-packet-filter},
publisher = {USENIX Association},
month = apr
}
connect with us