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.
Vu Cong Tuan d49d70cc54 Switch to stestr 9 months ago
devstack Adds devstack networking-hyperv plugin 1 year ago
doc doc: Switch to openstackdocstheme 1 year ago
etc Add config sample to networking-hyperv docs 1 year ago
networking_hyperv Merge "use common agent topics from neutron-lib" 1 year ago
releasenotes Update reno for stable/queens 1 year ago
.coveragerc moves to networking_hyperv namespace 1 year ago
.gitignore Switch to stestr 8 months ago
.gitreview Updates project repo to openstack 3 years ago
.mailmap Adds cookiecutter template 4 years ago
.stestr.conf Switch to stestr 8 months ago
.zuul.yaml add lower-constraints job 1 year ago
CONTRIBUTING.rst Adds cookiecutter template 4 years ago
HACKING.rst Adds cookiecutter template 4 years ago
LICENSE Adds cookiecutter template 4 years ago
README.rst Add release notes link in README 9 months ago
babel.cfg Adds cookiecutter template 4 years ago
lower-constraints.txt Switch to stestr 8 months ago
requirements.txt Updating required neutron version 9 months ago
setup.cfg Add oslo.config entry point 1 year ago
setup.py Updated from global requirements 2 years ago
test-requirements.txt Switch to stestr 8 months ago
tox.ini Switch to stestr 8 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.