Casado: Well, Nicira created OpenFlow. We wrote the first draft in 2007.
Knorr: Was that your Ph.D. thesis?
Casado: No, I actually did this while at Nicira. Now, the idea to do OpenFlow to create a switch protocol, that was done when I was a Ph.D.
Knorr: What year was that?
Casado: I finished my Ph.D. in 2007. And I wrote the first version of OpenFlow, the first draft, at the end of 2007. Then the original three engineers of Nicira -- myself, Ben Pfaff, and Justin Pettit -- wrote the first version of OpenFlow.
All OpenFlow is trying to do is standardize a way of speaking to a switch. But it doesn't tell you anything about what you do with that switch. It's a mechanism, but it doesn't solve any problems. It's not architecturally significant. What you should be interested in is what properties does the solution give me, not how it speaks.
Knorr: So let's get back to Nicira's core value.
Casado: What Nicira does is solve the network virtualization problem. We build a solution that presents a virtual view of a network that is totally invariant to the physical topology.
So, for example, you could build a very simple L3 network. I can present to you the view that it's a very rich L2 network with ACLs and high-level services and then virtual machines move back and forth and the physical network changes, that virtual view is invariant. So it has the operational model of a virtual machine. You can create it dynamically, you can grow it, you can shrink it, but all of this is implemented totally in software. What we built is that virtual networking solution, which you can think of as building a hypervisor for the network.
Knorr: You have also been a key contributor to the OpenStack Quantum effort.
Casado: We lead Quantum. The technical project lead for Quantum is at Nicira. We have probably three full-time people who work on Quantum. So not only have we designed a lot of the interface, we've done probably the majority of the actual development.
Now, Quantum does not virtualize the network. It provides an interface for people who want to virtualize the network. A good analog would be that Nova, the compute portion of OpenStack, provides a standard interface for managing compute, but it is not a hypervisor. A hypervisor would be like Xen or KVM or ESX.
Quantum is an interface to the virtual networking subsystem. But that virtual networking subsystem could be in Nicira's NVP, it could be Cisco Nexus 1K, or any number of virtual network solutions. So again, Quantum is just the interface layer, it's not a mechanism that does the virtualization. Just like with Nova and the compute hypervisor.
Knorr: Does that mean that one of the more important open source pieces in that scenario is Open vSwitch?