RETIRED, SDN based Distributed Virtual Router for OpenStack Neutron
Go to file
Omer Anson 491ff53f40 Models are no longer 'types'
In jsonmodels, the metaclass for models was changed. Therefore, a model
is no longer a type. Checks of the form type(x) == type fail, and are
replaced with inspect.isclass(x).

Change-Id: Ib8de32e47db8b44735c95b552835ce85b24e2b88
Closes-Bug: #1753244
2018-03-04 21:25:36 +02:00
devstack Disable tempest test TestSecurityGroupsBasicOps.test_cross_tenant_traffic 2018-02-05 14:20:37 +02:00
doc fix misspelling of 'neutron' 2018-02-22 11:27:51 +08:00
dragonflow Models are no longer 'types' 2018-03-04 21:25:36 +02:00
etc Added more rootwrap filters for dragonflow debug 2017-12-29 13:36:32 +00:00
rally-jobs Increase the maximum allowed time for list-ports 2017-12-11 12:22:49 +02:00
releasenotes Add support for osprofiler in dragonflow 2018-01-14 13:27:55 +00:00
tools Added a script to create add_table_names script 2018-01-03 11:16:39 +02:00
vagrant Fix vagrant scripts to add IPv6 correctly 2018-01-27 16:18:12 +02:00
zuul Re-organize the gaterc files to prevent errors 2017-12-26 13:27:41 +02:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-10-17 16:53:51 +05:30
.gitignore Add .stestr to .gitignore 2017-10-20 13:26:39 +03: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
.stestr.conf Gate fix: verify .testrepository exists before changing permissions 2017-09-13 05:41:22 +03:00
.zuul.yaml Update zuul.yaml 2018-01-21 19:49:18 +01:00
CONTRIBUTING.rst Optimize the link address 2017-04-07 10:52:28 +08:00
HACKING.rst Update and optimize documentation links 2017-07-19 10:58:45 +00:00
LICENSE Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
README.rst Update and optimize documentation links 2017-07-19 10:58:45 +00:00
babel.cfg Initial Cookiecutter Commit. 2015-01-29 16:46:27 +02:00
requirements.txt Updated from global requirements 2018-02-14 12:02:08 +00:00
setup.cfg Add dragonflow model printers - first stage 2017-11-29 17:30:59 +02:00
setup.py Updated from global requirements 2017-03-02 11:43:54 +00:00
test-requirements.txt Updated from global requirements 2018-02-17 09:25:24 +00:00
tox.ini Enable hacking-extensions H204, H205 2018-02-01 09:56:13 +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