OVS Orbit artwork

DragonFlow, with Omer Anson from Huawei

OVS Orbit

English - March 16, 2017 02:28 - 29 minutes - 27.2 MB - ★★★★★ - 1 rating
Technology Education How To Homepage Download IPFS Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed



Omer Anson is a software developer at Huawei. I caught up with him at
OpenStack Barcelona back in October to talk about the Dragonflow project,
which is a distributed SDN controller for OpenStack Neutron that supports
logical switching and routing and more advanced features.


According to Omer, Dragonflow distinguishes itself from other Neutron
drivers by aiming at scale. It intends to scale to thousands or even
tens of thousands of compute nodes (hypervisors). It also focuses on
scale testing, testing in simulation with 4,000 nodes with very good
results, showing a slowdown of only about 5% between 30 nodes and 4,000
nodes for control plane operations such as creating subnets or ports.


Dragonflow features include fully distributed DHCP and ARP responders.
The latter feature reduces the amount of broadcast traffic within a
cloud. Dragonflow can integrate physical devices and even remote clouds
into a logical network through its “remote device” functionality.


The Dragonflow implementation currently builds on top of OpenFlow with
Nicira extensions (as implemented by Open vSwitch). The developers are
also considering adding support for BPF or P4 datapaths.


The Dragonflow design emphasizes pluggability:


My vision is—our vision is—that everything—every Neutron API that
exists—will be written as a Dragonflow application. Currently,
Dragonflow itself does very little to nothing with creating flows and
instructing the policy of how packets move. Everything is done through
applications. We have an L2 application which detects the MAC addresses
and knows how to direct them to the correct ports, we have an L3
application... that knows to detect when packets are supposed to reach
the router and have the layer-2 addresses replaced...


DragonFlow supports, for example, running on top of any of several
database systems. The diversity among those databases is vast, which
gives users great freedom to choose one that is well suited for their own
needs.


Dragonflow has multiple implementations of L3. One of these populates
flows proactively into Open vSwitch, that is, it adds flows without
waiting for packets to arrive at the controller. The other uses some
proactive population along with reactive population, that is, adding
flows in response to packet arrival. Omer explains the rationale for the
two implementations and how they work.


A new feature of Dragonflow is that it is now implemented as an “ML2
mechanism driver” rather than a Neutron core plugin. This allows it to
better coexist with other Neutron drivers within a single deployment.


Omer mentions some upcoming development work, such as a better, more
user-oriented deployment mechanism and integration with additional
projects such as Ansible, the
OpenStack Kolla
project, OpenStack Puppet,
and more. Service function chaining support is also in the works.


The Dragonflow project is seeking new contributors. You can find the
developers in the #openstack-dragonflow channel in the Freenode IRC network. Omer's nick
on Freenode is "oanson".


OVS Orbit is produced by Ben Pfaff. The
intro music in this episode is Drive,
featuring cdk and DarrylJ, copyright 2013, 2016 by Alex. The bumper
music is Yeah Ant
featuring Wired Ant and Javolenus, copyright 2013 by Speck. The outro
music is Space
Bazooka
featuring Doxen Zsigmond, copyright 2013 by Kirkoid. All
content is licensed under a Creative Commons Attribution 3.0
Unported (CC BY 3.0)
license.