An OpenFlow 1.3 compatible user-space software switch implementation for SDN research and experimentation.
CPqD/ofsoftswitch13 (BOFUSS) is an open-source software switch that implements the OpenFlow 1.3 protocol in user space. It enables researchers and developers to experiment with software-defined networking (SDN) by providing a flexible, programmable switch that can be controlled via OpenFlow controllers. The project solves the need for a customizable, software-based OpenFlow switch for testing and academic purposes.
Network researchers, SDN developers, and academics who need a programmable OpenFlow 1.3 switch for experimentation, prototyping, or educational use. It's particularly valuable for those working on SDN controller applications or novel networking protocols.
Developers choose BOFUSS because it offers a fully OpenFlow 1.3-compliant switch in user space, making it easier to modify and extend than kernel-based alternatives. Its modular architecture and academic focus provide a solid foundation for SDN research without requiring specialized hardware.
OpenFlow 1.3 switch.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the complete OpenFlow 1.3 specification, including meters, groups, and extensible match fields, as highlighted in the README's key features.
Runs entirely in user space, making it easier to modify, debug, and extend compared to kernel-based switches, which aligns with its research-focused philosophy.
Includes separate components like ofdatapath, ofprotocol, oflib, and dpctl, allowing for targeted development and testing of SDN applications.
Designed for academic use with published architecture papers and benchmarks, encouraging citation and reproducibility in research contexts.
Requires manual installation of the NetBee library and multiple dependency steps, as detailed in the 'Before building' section, which can be time-consuming and error-prone.
As a user-space software switch, it has inherent performance limitations compared to kernel-based or hardware switches, affecting throughput and latency in demanding scenarios.
The README only provides instructions tested on Ubuntu 16.04, indicating potential compatibility issues with newer distributions and lack of ongoing maintenance.