RETIRED, SDN based Distributed Virtual Router for OpenStack Neutron
Go to file
Ihar Hrachyshka 475e2f3041 Remove subunit-trace fork
This makes tox use the latest version of the tool from os-testr repo,
which contains some valuable changes, like the one making the gate fail
if for some reason no tests are executed because all of them are
skipped.

Change-Id: If88be4b310d746ccc885e3d0c1db8a4dfabb2a28
2017-04-06 11:44:28 -07:00
devstack SNAT application - infra and chassis sNAT strategy 2017-03-08 13:19:27 +02:00
doc Specification for BGP dynamic routing 2017-03-31 11:32:55 +00:00
dragonflow Merge "Add hierarchical dependency to current model" 2017-04-06 09:45:31 +00:00
etc/oslo-config-generator Moved config options of metadata_service_app 2016-11-23 12:27:34 +00:00
rally-jobs Use neutron rally job 2016-11-30 05:00:56 +00:00
releasenotes Add rate limiter to icmp handler(L3 proactive app) 2017-02-16 12:53:45 +00:00
tools Remove subunit-trace fork 2017-04-06 11:44:28 -07:00
vagrant Optimize the link address for fetching git code 2017-03-20 02:44:29 +00:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 16:53:51 +05:30
.gitignore Support reno releasenotes 2017-02-09 13:41:21 +08:00
.gitreview Update .gitreview file for project rename 2015-06-12 23:12:30 +00:00
.mailmap Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
.testr.conf Seperate unit and fullstack testing in dragonflow 2015-12-08 08:40:54 +02:00
CONTRIBUTING.rst Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
HACKING.rst Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
LICENSE Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
README.rst Show team and repo badges on README 2016-11-25 16:39:09 +01:00
babel.cfg Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
requirements.txt Updated from global requirements 2017-04-05 21:01:01 +00:00
setup.cfg Merge "Remove support for py34 for dragonflow" 2017-03-13 14:07:20 +00:00
setup.py Updated from global requirements 2017-03-02 11:43:54 +00:00
test-requirements.txt Remove subunit-trace fork 2017-04-06 11:44:28 -07:00
tox.ini Remove subunit-trace fork 2017-04-06 11:44:28 -07:00

README.rst

Team and repository tags

image

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