Skip to end of metadata
Go to start of metadata
Beacon Navigation

What is Beacon?

Beacon is a fast, cross-platform, modular, Java-based OpenFlow controller that supports both event-based and threaded operation.

Key features:

  • Stable - Beacon has been in development since early 2010, and has been used in several research projects, networking classes, and trial deployments. Beacon currently powers a 100-vswitch, 20-physical switch experimental data center and has run for months without downtime.
  • Cross-platform - Beacon is written in Java and runs on many platforms, from high end multi-core Linux servers to Android phones.
  • Open source - Beacon is licensed under a combination of the GPL v2 license and the Stanford University FOSS License Exception v1.0.
  • Dynamic - Code bundles in Beacon can be started/stopped/refreshed/installed at runtime, without interrupting other non-dependent bundles (ie replace your running Learning Switch application without disconnecting switches).
  • Rapid Development - Beacon is easy to get up and running. Java and Eclipse simplify development and debugging of your applications.
  • Fast - Beacon is multithreaded, check out performance benchmarks.
  • Web UI - Beacon optionally embeds the Jetty enterprise web server and a custom extensible UI framework
  • Frameworks - Beacon builds on mature Java frameworks such as Spring and Equinox (OSGi)

Ready to get started?


Last month I presented Beacon at HotSDN'13 in Hong Kong, you can read the paper here.  You can also use the following BibTeX citation:


v1.0.4 Released

Beacon version 1.0.4 has been released.  The largest change is to the licensing, which has switched to BSD!  Other changes are fairly minor.  Head to the downloads page to get it.

v1.0.2 Release

Beacon v1.0.2 has been released.  You can view the changelog to see a list of bug fixes and improvements, and then get the new version on the downloads page.  New to this release is an embedded tutorial bundle for use with the OpenFlow Tutorial, and a set of archives that contain all the code, libraries, and documentation to get you going, plus Eclipse, the recommended Java editor.  If you haven't completed a Beacon tutorial yet, give it a try today! I'd love to hear your feedback after completing it.

I added two new downloads for the v1.0.0 release today,  The first is a tar containing the OpenFlowJ v1.0.1 source code that is required when using the Beacon v1.0.0 source tar, and the second is a tar containing all the libraries needed to build and export Beacon (to your current platform) from the source package.  If you use this package, Eclipse will not need to download and resolve the target from the network, which may be helpful for network-constrained situations, or if you find yourself needing to reset the target frequently.

I've gotten a few requests on how to best configure Beacon for benchmarking so I've created a Benchmarking Guide discussing the topic.  Please let me know in the comments if it is missing anything you would like to see!


Recently Updated

  • No labels

1 Comment

  1. Hi,

    Could you please suggest me a method to implement DDOS attack in beacon controller.