EtherPIPE

Yohei Kuga, Takeshi Matsuya, Hiroaki Hazeyama, Kenjiro Cho, Osamu Nakamura · 2013

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.

Read the paper · More papers on PaperTik