SDN based Distributed Virtual Router for OpenStack Neutron
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenDev Sysadmins c8adf28b09 OpenDev Migration Patch 4 days ago
devstack Fix broken dragonflow gates 1 month ago
doc Update cirros image version 2 months ago
dragonflow use trunk constants from neutron-lib 2 weeks ago
etc Add a packet logger application 1 month ago
rally-jobs Adds doc8 check to pep8 9 months ago
releasenotes Add dragonflow-status upgrade check command framework 6 months ago
tools Fix docker launch with bash option 6 days ago
vagrant Remove redundant line from vagrant All-In-One script 1 year ago
zuul OpenDev Migration Patch 4 days ago
.coveragerc Update .coveragerc after the removal of openstack directory 2 years ago
.gitignore Switch to stestr 9 months ago
.gitreview OpenDev Migration Patch 4 days ago
.mailmap Initial Cookiecutter Commit. 4 years ago
.stestr.conf Gate fix: verify .testrepository exists before changing permissions 1 year ago
.zuul.yaml OpenDev Migration Patch 4 days ago
CONTRIBUTING.rst Optimize the link address 2 years ago
Dockerfile Set absolute path for docker entrypoint 3 months ago
Dockerfile.fedora Set absolute path for docker entrypoint 3 months ago
HACKING.rst Update and optimize documentation links 1 year ago
LICENSE Initial Cookiecutter Commit. 4 years ago
README.rst Add release note link in README 9 months ago
babel.cfg Initial Cookiecutter Commit. 4 years ago
lower-constraints.txt Update cirros image version 2 months ago
requirements.txt Update cirros image version 2 months ago
setup.cfg Add a packet logger application 1 month ago
setup.py Updated from global requirements 2 years ago
test-requirements.txt Adds doc8 check to pep8 9 months ago
tox.ini Merge "Don't quote {posargs} in tox.ini" 5 months ago

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