"The OpenFlow discussion assumes the controller is on a separate device," says Peter Christy, co-founder of the Internet Research Group, a Los Altos, Calif., consultancy. "A reasonable SDN configuration is to distribute the controller software onto each of the switches. In the case where the SDN controller is distributed to each of the switches it wouldn't make engineering sense to literally implement a formal communication protocol within the box."
Christy says an SDN that distributes the controller to the switches would improve the performance of communication between switch and controller, and improve the operation of the SDN. He says Juniper's QFabric architecture is an example of an SDN with a distributed control plane.
Arista Networks says its switch customers can implement SDNs using either controllers or distributed network control. The company says there are pros and cons to both approaches, but that both are required to implement a comprehensive SDN.
Arista defines four "pillars" of software-defined cloud networking: cloud topology, distributed control, network virtualization and management/automation. OpenFlow is one API among several that can be used in the management/automation pillar if the SDN is controller-based, according to Arista. Others are existing CLIs, SNMP, XMPP, Netconf, OpenStack, and APIs in VMware's vSphere virtualization software, Arista says.
There are use cases for each, says Jayshree Ullal, Arista CEO. For OpenFlow, she sees the use case as dynamic packet redirection for network tap aggregation, lawful intercept/CALEA, and topology-agnostic network segmentation deployments.
Whether that translates into broad adoption remains to be seen.
"The more use cases it can be deployed in, the stronger its applicability long term," she says.
Software-defined networking has the opportunity to be ubiquitous, she agrees. But whether OpenFlow will be the one API, or OpenStack, or Netconf, or XMPP, or VMware or another hypervisor is difficult to predict. Ullal says they all promise topology-agnostic network virtualization optimized for application and workload mobility.
At VMworld, Arista demonstrated how to build clouds with one-touch provisioning of virtual machines and up to 50,000 network nodes using the tools in its EOS operating system software and CloudVision interface. XMPP is the API in CloudVision. [Also see: "Ex-Cisco exec drawn to startup Arista's software architecture"]