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.
Lucian Petrut 305dcfafc8 Avoid mocking the same objects twice 4 weeks ago
devstack Adds devstack networking-hyperv plugin 5 years ago
doc doc: update IRC information 11 months ago
etc Add config sample to networking-hyperv docs 5 years ago
networking_hyperv Avoid mocking the same objects twice 4 weeks ago
releasenotes Update master for stable/yoga 3 months ago
.coveragerc moves to networking_hyperv namespace 5 years ago
.gitignore Switch to stestr 4 years ago
.gitreview OpenDev Migration Patch 3 years ago
.mailmap Adds cookiecutter template 7 years ago
.stestr.conf Switch to stestr 4 years ago
.zuul.yaml Add Python3 zed unit tests 3 months ago
CONTRIBUTING.rst Ussuri contributor docs community goal 2 years ago
HACKING.rst Update the URL in HACKING.rst 4 years ago
LICENSE Adds cookiecutter template 7 years ago
README.rst Use opendev repository 3 years ago
babel.cfg Adds cookiecutter template 7 years ago
requirements.txt Cleanup py27 support 2 years ago
setup.cfg setup.cfg: Replace dashes with underscores 1 year ago
setup.py Cleanup py27 support 2 years ago
test-requirements.txt Add doc/requirements 1 year ago
tox.ini Drop lower constraints 3 months 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.