Userspace SPAN Port

From Association for Computing Machinery

Revision as of 23:44, 19 November 2010 by Boris (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

This program is a userspace implementation of SPAN port functionality. Its creation was motivated by the undesirable operation of FreeBSD's kernel SPAN port facilities when in an unusual configuration. An administrator defines one or more interface groups, each with one or more inputs and one or more outputs. Traffic passing through all inputs in an interface group is sent out of all interfaces in the outputs of the interface group. Additionally, a PCAP-style filter may be defined for each input in an interface group in order to limit what traffic will be sent out of the group's outputs. If no filter is defined for an input interface, all of its traffic will be sent to outputs associated with its group.

The code is C/C++ and aims to be compact, requiring libpcap as the only third-party library. It has been tested with GCC 4.2.1 and 4.3.2 and Clang/LLVM 2.7 on FreeBSD and GNU/Linux, and on 32- and 64-bit and little- and big-endian processors.

Download: Userspace SPAN Port 1.0.1

Upcoming Features

  • Hash-based load-balancing support for sending one fast interface's traffic out of multiple slower ones

Release History

  • 1.0.1 (April 27th, 2010)
    • Bug fixes:
      • Comments in the configuration file can now contain double quotes.
      • Added includes to allow compilation on GNU/Linux.
  • 1.0.0 (March 25th, 2010)
    • Initial release.
Personal tools