Hyper-V L2 Agent and drivers for ML2.
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.
Zuul 7a89306ab0 Merge "Use opendev repository" 3 weeks ago
devstack Adds devstack networking-hyperv plugin 1 year ago
doc Delete the duplicate words in scale-hyperv-neutron-agent.rst 6 months ago
etc Add config sample to networking-hyperv docs 1 year ago
networking_hyperv Uses neutron_lib's rpc module 4 weeks ago
releasenotes Update master for stable/stein 1 month ago
.coveragerc moves to networking_hyperv namespace 1 year ago
.gitignore Switch to stestr 9 months ago
.gitreview OpenDev Migration Patch 1 month ago
.mailmap Adds cookiecutter template 4 years ago
.stestr.conf Switch to stestr 9 months ago
.zuul.yaml Merge "add python 3.7 unit test job" 3 weeks ago
CONTRIBUTING.rst Adds cookiecutter template 4 years ago
HACKING.rst Update the URL in HACKING.rst 7 months ago
LICENSE Adds cookiecutter template 4 years ago
README.rst Use opendev repository 4 weeks ago
babel.cfg Adds cookiecutter template 4 years ago
lower-constraints.txt Uses neutron_lib's rpc module 4 weeks ago
requirements.txt Uses neutron_lib's rpc module 4 weeks ago
setup.cfg Dropping the py35 testing 1 month ago
setup.py Updated from global requirements 2 years ago
test-requirements.txt Switch to stestr 9 months ago
tox.ini Merge "Use opendev repository" 3 weeks ago


Team and repository tags



This project tracks the work to integrate the Hyper-V networking with Neutron. This project contains the Hyper-V Neutron Agent, Security Groups Driver, and ML2 Mechanism Driver, which are used to properly bind neutron ports on a Hyper-V host.

This project resulted from the neutron core vendor decomposition.

Supports Python 2.7, Python 3.3, Python 3.4, and Python 3.5.

How to Install

Run the following command to install the agent on the system:

C:\networking-hyperv> python setup.py install

To use the neutron-hyperv-agent, the Neutron Controller will have to be properly configured. For this, the config option core_plugin in the /etc/neutron/neutron.conf file must be set as follows:

core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin

Additionally, hyperv will have to be added as a mechanism driver in the /etc/neutron/plugins/ml2/ml2_conf.ini configuration file:

mechanism_drivers = openvswitch,hyperv

In order for these changes to take effect, the neutron-server service will have to be restarted.

Finally, make sure the tenant_network_types field contains network types supported by Hyper-V: local, flat, vlan, gre.


You will have to install the test dependencies first to be able to run the tests.

C:\networking-hyperv> pip install -r requirements.txt
C:\networking-hyperv> pip install -r test-requirements.txt

You can run the unit tests with the following command.

C:\networking-hyperv> nosetests networking_hyperv\tests

How to contribute

To contribute to this project, please go through the following steps.

  1. Clone the project and keep your working tree updated.
  2. Make modifications on your working tree.
  3. Run unit tests.
  4. If the tests pass, commit your code.
  5. Submit your code via git review -v.
  6. Check that Jenkins and the Microsoft Hyper-V CI pass on your patch.
  7. If there are issues with your commit, amend, and submit it again via git review -v.
  8. Wait for the patch to be reviewed.


  • Supports Flat, VLAN, GRE / NVGRE network types.
  • Supports Neutron Security Groups.
  • Contains ML2 Mechanism Driver.
  • Parallel port processing.