Hi Wayne,
OpenFlowJ is an implementation of the OpenFlow protocol in Java, it has methods that handle serialization and deserialization of OpenFlow messages from ByteBuffers used by Java's NIO package. You can think of it as an object oriented conversion of openflow.h to Java plus serialization. There are also some simple examples of how you could create a controller using it. Beacon in specific uses OFJ for these tasks, then layers logic on top to handle and abstract the connections to switches, provide APIs to register for switch events and specific OpenFlow messages, and other commonly-used networking functions like switching and routing, and the web UI you mentioned. You could certainly use OFJ as a building block for your own controller if you want to do something simple or mostly from scratch. If you just want to create your own control logic it might be faster for you to build on top of one of the controllers mentioned.

-David

On 6/23/2011 8:29 PM, Wei-Chih Chen wrote:
Dear all,

(I've sent this to openflow-support yesterday, but perhaps openflow-discuss is more suitable?)

I am using XCP (Xen Cloud Platform), which includes *Open vSwitch* (also an OpenFlow switch). I would like to create virtual bridges of Open vSwitch and attach them to VMs on XCP. However, from the XCP community, they suggest to use OpenFlow controllers to control Open vSwitch instead of using ovs- commands directly.

I just tried *Beacon* and found that there is *openflowj*, which seems official Java library for OpenFlow. It seems that Beacon provides a web UI (and perhaps also provides some useful functions) calling openflowj as backend.

For automatical configuration, my system needs a set of APIs to control Open vSwitch through OpenFlow. Does openflowj provide all functions that can fully configure OpenFlow switches?
(That is, can I fully control OpenFlow switches by just using openflowj?)

Moreover, I take a look at *Maestro*, another Java-based OpenFlow controller. It seems to implement its own codes for communicating with OpenFlow switches, not openflowj. If this is true, which is recommended, *openflowj or Maestro*? (For production enterprise network. Friendly GUI is not necessary)

Thanks!

Regards,
Wayne


_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

Reply via email to