SDN based Distributed Virtual Router for OpenStack Neutron
Python Shell Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
devstack Re-add missing iptables rule for metadata service Aug 8, 2018
doc Run Docker container without the controller service Jul 16, 2018
dragonflow Merge "Rename ovs_port throughout the code" Jul 29, 2018
etc Add Docker support Jun 25, 2018
rally-jobs Adds doc8 check to pep8 Jul 13, 2018
releasenotes Add support for osprofiler in dragonflow Jan 14, 2018
tools Re-add missing iptables rule for metadata service Aug 8, 2018
vagrant Remove redundant line from vagrant All-In-One script Mar 22, 2018
zuul Add neutron_tempest_plugin to tempest dependencies Apr 8, 2018
.coveragerc Update .coveragerc after the removal of openstack directory Oct 17, 2016
.gitignore Switch to stestr Jul 5, 2018
.gitreview Update .gitreview file for project rename Jun 12, 2015
.mailmap Initial Cookiecutter Commit. Jan 29, 2015
.stestr.conf Gate fix: verify .testrepository exists before changing permissions Sep 13, 2017
.zuul.yaml add lower-constraints job Jun 12, 2018
CONTRIBUTING.rst Optimize the link address Apr 7, 2017
Dockerfile Add Docker support Jun 25, 2018
HACKING.rst Update and optimize documentation links Jul 19, 2017
LICENSE Initial Cookiecutter Commit. Jan 29, 2015
README.rst Add release note link in README Jul 10, 2018
babel.cfg Initial Cookiecutter Commit. Jan 29, 2015
lower-constraints.txt update requirements for neutron-lib 1.18.0 Jul 23, 2018
requirements.txt update requirements for neutron-lib 1.18.0 Jul 23, 2018
setup.cfg Move controller ovs functionality to a driver Jul 16, 2018
setup.py Updated from global requirements Mar 2, 2017
test-requirements.txt Adds doc8 check to pep8 Jul 13, 2018
tox.ini fix tox python3 overrides Jul 21, 2018

README.rst

Team and repository tags

Distributed SDN-based Neutron Implementation

Solution Overview

Overview

Dragonflow implements Neutron using a lightweight embedded SDN Controller.

Our project mission is to Implement advanced networking services in a manner that is efficient, elegant and resource-nimble

Distributed Dragonflow

Comprehensive agentless implementation of the Neutron APIs and advanced network services, such as fully distributed Switching, Routing, DHCP and more.

This configuration is the current focus of Dragonflow. Overview and details are available in the Distributed Dragonflow Section

Solution Overview

Mitaka Version Features

  • L2 core API

    IPv4, IPv6 GRE/VxLAN/STT/Geneve tunneling protocols L2 Population

  • Distributed L3 Virtual Router

  • Distributed DHCP

  • Distributed DNAT

  • Security Groups Using OVS and Connection tracking

  • Pluggable Distributed Database

    Supported databases:

    Stable:

    ETCD, RAMCloud, Redis, Zookeeper

    In progress:

    RethinkDB

  • Pluggable Publish-Subscribe

    ZeroMQ, Redis

  • Selective DB Distribution

    Tenant Based Selective data distribution to the compute nodes

Experimental Mitaka Features

  • Local Controller Reliability

In progress

  • IGMP Distributed application
  • Allowed Address Pairs
  • Port Security
  • DHCP DOS protection
  • Distributed Meta Data Service
  • Kuryr integration
  • Local Controller HA
  • ML2 Driver, hierarchical Port Binding
  • VLAN L2 Networking support
  • Smart broadcast/multicast

In planning

  • Distributed Load Balancing (East/West)
  • DNS service
  • Port Fault detection
  • Dynamic service chaining (service Injection)
  • SFC support
  • Distributed FWaaS
  • Distributed SNAT
  • VPNaaS

Configurations

To generate the sample dragonflow configuration files, run the following command from the top level of the dragonflow directory:

tox -e genconfig

If a 'tox' environment is unavailable, then you can run the following script instead to generate the configuration files:

./tools/generate_config_file_samples.sh