I had the opportunity to spend some time at the 2013 Fall ONF Plugfest hosted by Spirent. The Plugfest is an opportunity for vendors to come together for a couple of days of interoperability testing of their implementations of ONF specifications. Vendors send developers with bleeding edge versions of their products and it’s not uncommon to see live rebuilds when deviations from spec or bugs are found.
The ONF specifications have certainly come a long way. We got to see some very impressive multi-vendor OpenFlow networks with controllers performing complex manipulation of switch state across vendors of both physical and virtual switches.
This was the first time that the ONF included interoperability testing of the OF-CONFIG protocol. This is obviously very interesting to Tail-f since we have an implementation of an OpenFlow Configuration Point (OFCP) in our NCS product.
I have talked about and presented OF-CONFIG before, but as a brief recap, and from the OF-CONFIG 1.1.1 specification:
The OpenFlow protocol assumes that an OpenFlow datapath (e.g. an Ethernet switch which supports the OpenFlow protocol) has been configured with various artifacts such as the IP addresses of OpenFlow controllers. The motivation for the OpenFlow Configuration Protocol (OF-CONFIG) is to enable the remote configuration of OpenFlow datapaths.
A perhaps shorter way to think about it is that the OF-CONFIG protocol is something that can be used to do the initial configuration of an OpenFlow switch before it talks to the controller(s), including setting up the IP address of the controller itself so the switch knows who to talk to.
OF-CONFIG currently defines a single protocol mapping (NETCONF) while leaving the door open for future protocol mappings should the need and interest arise. It is worth noting that the OVSDB protocol specification is not maintained by the ONF, but is rather an individual contribution to the IETF. There are some efforts to harmonies OF-CONFIG and OVSDB and this is surely something we’ll get the opportunity to report more on going forward.
We got to test the OFCP capabilities of our NCS product with two separate implementations of OF-CONFIG on the switch side. The really cool part was that we were able to download the YANG file from the ONF web site, load them into NCS and right away sync the configuration from the switches into NCS database. This made the configuration of the switches available for manipulation through all of NCSs northbound APIs (NETCONF, REST, CLI, Web UI), and protected by transactions without a single line of code. This is a very promising first step for automated OpenFlow switch management.
This was an interoperability event first and foremost, so I believe we all went back home with a lot of notes on how to improve products (I certainly did) and feedback to the spec writers for improvements. The interoperability activities are certain to continue after this event and we are looking to expand the scope of the OF-CONFIG for the next Plugfest that will take place in the beginning of 2014.
And if you have an OpenFlow switch implementation that includes support for OF-CONFIG, we’re always interested in helping with testing, so feel free to reach out at firstname.lastname@example.org.