Good news: In the last few months, almost all major data center Ethernet switching vendors (Arista, Cisco, Dell Force 10, HP, and Juniper) released documented GA version of OpenFlow on some of their data center switches.
All the information in this blog post comes from publicly available vendor documentation (configuration guides, command references, release notes). NEC is the only vendor mentioned in this blog post that does not have public documentation, so it’s impossible to figure out (from the outside) what functionality their switches support.
Some other facts:
- Most vendors offer OpenFlow 1.0. Exceptions: HP and NEC;
- Most vendors have a single OpenFlow lookup table (one of the limitations of OpenFlow 1.0), HP has a single table on 12500, two tables on 5900, and a totally convoluted schema on Procurve switches.
- Most vendors work with a single controller. Cisco’s Nexus switches can work with up to 8 concurrent controllers, HP switches with up to 64 concurrent controllers.
- Many vendors optimize the OpenFlow lookup table by installing L2-only or L3-only flow entries in dedicated hardware (which still looks like the same table to the OpenFlow controller);
- OpenFlow table sizes remain dismal. Most switches support low thousands of 12-tuple flows. Exception: NEC edge switches supports between 64K and 160K 12-tuple flows.
- While everyone supports full 12-tuple matching (additionally, HP supports IPv6, MPLS, and PBB), almost no one (apart from HP) offers significant packet rewrite functionality. Most vendors can set destination MAC address or push a VLAN tag; HP’s 5900 can set any field in the packets, copy/decrement IP or MPLS TTL, and push VLAN, PBB or MPLS tags.
Summary: It’s neigh impossible to implement anything but destination-only L2+L3 switching at scale using existing hardware (the latest chipsets from Intel or Broadcom aren’t much better)… and I wouldn’t want to be a controller vendor dealing with idiosyncrasies of all the hardware out there – all you can do consistently across most hardware switches is forward packets (without rewrites), drop packets, or set VLAN tags.
You’ll find more details on OpenFlow implementations from top data center Ethernet switching vendors in the Data Center Fabrics webinar, where I added a special section covering OpenFlow support to each vendor-specific presentation (the new materials have already been published). The same information is also available in the SDN workshop.