OFSwitch13

Enhancing the ns-3 Network Simulator with
OpenFlow 1.3 technology support.

About the module

The OFSwitch13 module enhances the ns-3 Network Simulator with Software-Defined Networking (SDN) capabilities. OFSwitch13 supports OpenFlow protocol version 1.3, bringing a switch device and a controller application interface to the ns-3 simulator, as depicted in the figure below. With OFSwitch13, it is possible to interconnect ns-3 nodes to send and receive traffic using the existing CSMA and virtual network devices. Extending the controller application interface allows users to implement any desired control logic to orchestrate the network. The communication between the controller and the switches happens over standard ns-3 protocol stack, devices, and channels. The OFSwitch13 module relies on the external BOFUSS library that provides the switch datapath implementation and the support for OpenFlow messages in wire format. Please refer to the documentation for details about the module design, installation, and usage.

The OFSwitch13 module architecture.

If you feel comfortable, please include a reference in your work to the paper describing this module: Luciano Jerez Chaves, Islene Calciolari Garcia, and Edmundo Roberto Mauro Madeira. OFSwitch13: Enhancing ns-3 with OpenFlow 1.3 support. In: Proceedings of the 8th Workshop on ns-3 (WNS3), p. 33-40. ACM, 2016.

Download and use it

Instructions on how to download, compile, and use the OFSwitch13 module can be found in the documentation. You can also check the API doxygen and the GitHub repository for implementation details. The OFSwitch13 module is also listed in the ns-3 app store.

Contact us

This OFSwitch13 module is currently maintained by Luciano Jerez Chaves. It also received contributions from Vítor Marge Eichemberger, Islene Calciolari Garcia, and Arthur Boechat Mazzi. We thank Eder Leão Fernandes for helping with the BOFUSS library integration.

Feel free to subscribe to the mailing list at Google groups and provide feedback, give suggestions, interact with other users, or say hello!