The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
Design and Performance of the OpenBSD Stateful Packet Filter (pf)
Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
Flexible packet filtering: providing a rich toolbox
BSDC'02 Proceedings of the BSD Conference 2002 on BSD 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
NetFPGA: reusable router architecture for experimental research
Proceedings of the ACM workshop on Programmable routers for extensible services of tomorrow
Hi-index | 0.00 |
The UNIX command tools are designed to combine simple generic commands to accomplish various complex tasks. Meanwhile, in network programming, we often end up writing many similar functions and packaging functions of all network layers to build an application. In this paper, we propose EtherPIPE, a character network I/O device, that allows the programmer to access network traffic data as a file through UNIX commands. By setting a UNIX pipe "|" from or to EtherPIPE's output or input with UNIX commands, packets can be easily processed, executing functions such as packet filtering, packet capturing, generating arbitrary packets, and rewriting header information. We developed a prototype of EtherPIPE as a character device driver for a commodity FPGA card. This paper argues for use cases of the EtherPIPE, and discusses enhanced formats of character devices for easier network scripting.