Jump to: navigation, search


< Neutron‎ | DVR
Revision as of 18:00, 3 July 2014 by Carl (talk | contribs) (Dependencies)

Full link: https://www.youtube.com/watch?v=p4BwAjLHd0M

Reviewing DVR Code

All of the DVR code can be found on the bp/neutron-ovs-dvr gerrit topic. However, if you want to review the patches that matter the most now, you'll want to read this guide. The bulk of the functionality is handled by these patches:

The work is still in progress, however a devstack patch is available to ease the merging pain and test all the patches at ones, also providing some API coverage. This is still a WIP; more to follow.

(carl_baldwin) I am maintaining a branch in github where I merge the latest version of all of the patches to openstack. The result can be found on the master branch here: [1]. I use a forced push (git push -f) to update this branch so you'll need to use fetch/reset instead of merge or pull to get updates.

Enabling Distributed Virtual Routing Functionality in OpenStack Neutron

This wiki provides information on HowTo Configure and deploy the Distributed Virtual Router functionality in the current OpenStack Neutron implementations.


First, be sure that your database is at the correct version. There are two migration scripts that need to be run using the neutron-db-manage script.

The configuration section will provide information on all the config parameters that need to be set before deploying the Distributed Virtual Router. There are Global Configurations that need to be set and as well as the Agent specific configurations that need to be set.

Note: Be sure that your firewall or security groups allows UDP traffic over the vxlan port to pass between the hosts

  • router_distributed = True
    • This sets the default for new router creation to be DVR.
    • The admin user can convert existing routers to distributed without setting this option to True.
L3 Agent.ini
  • Network host
    • centralized_snat = True
    • centralized_router = True
    • distributed_agent = True
  • Compute host
    • distributed_agent = True
    • centralized_router = False
    • centralized_snat = False
L2 Agent.ini (ml2_conf.ini)
  • ml2_conf.ini
    • ml2 section
      • append ",l2population" to mechanism_drivers
      • append ",vxlan" to type _drivers
    • agent section
      • l2_population = True
      • tunnel_types = vxlan
      • enable_distributed_routing = True

East-West Distributed Routing

East-West Distributed Routing or local routing.

Distributed Router Create

North-South Distributed Routing

North-South Distributed Routing or External Routing.

Distributed Floating IP Create
SNAT Create