MidoNet is an Open Source network virtualization system for Openstack clouds
Scala Java C++ Python Shell C Other
Switch branches/tags
Clone or download
yamt DatapathPortEntanglerTest: make it easier to read for me
Just a style change.

Signed-off-by: YAMAMOTO Takashi <yamamoto@midokura.com>
Change-Id: Ic16f71c3b3eb6cd51264762b4fd951ef0c2dbf82
Latest commit b6289b2 Jun 29, 2018
Failed to load latest commit information.
docs doc: Update fast-path.md Dec 21, 2017
gradle/wrapper Upgrade Gradle to 3.5.1 Jan 7, 2018
midolman DatapathPortEntanglerTest: make it easier to read for me Jul 25, 2018
midonet-cluster Rules targeting non-existing ip address groups were not deleted in Se… Jun 11, 2018
midonet-tools Support SLES in gradlew Jul 26, 2017
midonet-util Add a missing include Jun 5, 2018
misc Update gerrit dashboard for 5.6 Oct 25, 2017
netlink FlowMatch: avoid setting fieldSeen unnecessarily Jul 20, 2018
nsdb Fixed flaky unit test Mar 1, 2018
python-midonetclient Upgrade Gradle to 3.5.1 Jan 7, 2018
specs/2015.02 Move neutron_translation.md from specs to docs dir Feb 1, 2016
tests Re-enable test_bgp_ip Jun 5, 2018
tools Replace OS X libgtest.a with what works on my environment Apr 2, 2018
.gitignore .gitignore: Tighten the pattern for JNI generated headers Apr 2, 2018
.gitmodules CI: remove submodule and install midonet-sandbox master Apr 12, 2016
.gitreview Fix .gitreview to point to the correct repo Jul 26, 2017
DEVELOPMENT.md DEVELOPMENT.md: Mention required python packages Jun 27, 2018
LICENSE edit MidoNet license info for GitHub and Licensee May 29, 2018
README.md Change wiki links from wiki.midonet.org to github wiki Jun 5, 2018
build.gradle Merge "Added build support on ARM v8" Mar 1, 2018
fpm.gradle Packaging: Add 'tar' target to gradle Apr 29, 2016
git.gradle gradle: build and package midonet Oct 30, 2014
gradlew Support SLES in gradlew Jul 26, 2017
java-code-style.xml Add akka and mockito to Scala import settings Apr 27, 2015
scalastyle_config.xml Do not force type annotation on overriden methods Jul 26, 2017
settings.gradle midonet-cluster: package as single jar Sep 17, 2015
what_ci_targets.sh Remove devmido Jul 26, 2017


Virtualized networking for public and private clouds

MidoNet is a network platform that can be used to build arbitrary network topologies on top of an existing IP network without having to modify it.

Today most people use MidoNet with OpenStack, but some are using MidoNet with vanilla Linux hosts, others are working with container platforms like Docker, Mesos, etc.

You do not need special hardware for using MidoNet, it is all based on software.

MidoNet in Neutron

Network virtualization technology is used at cloud service providers and in private clouds to encourage more dynamic and faster network usage and thus allowing faster time to market for the applications of your customers running in containers and/or virtual machines.

Tenant Router Model

MidoNet allows you to directly connect to existing physical networks using either special switch hardware containing an L2 hardware gateway software (VTEP), or an L2 software gateway in MidoNet, which also support VLAN IDs.

MidoNet L2 Gateway

The most interesting side effect of using a scalable, distributed system is the economical savings in electricity and air conditioning.

Instead of sending all traffic through large proprietary boxes, the decisions about the traffic of virtual machines are computed on the hypervisor where the VM is located and traffic that should go to the Internet moves through commodity servers acting as L3 gateways and L4 load balancers.

This way a cloud operator can scale out compute nodes and gateways while at the same time being respectful to nature and the environment, avoiding wasted energy and unnecessary cooling of large, often underutilized network appliances.

About MidoNet

MidoNet supports virtual L2 switches, virtual L3 routing, distributed, stateful source NAT and distributed stateful L4 TCP load balancing.

The core of the software is a flow simulator agent that gets installed on each hypervisor and on gateway nodes responsible for north-south traffic.

While the agent uses the datapath from Open vSwitch, all other Open vSwitch userland components are replaced and obsoleted by using MidoNet.

The traffic between virtual machines is encapsulated in tunnels (GRE or VXLAN) which means the existing network does not have to be changed to use MidoNet's network virtualization technology.

Quick Installation

For a quick installation using a simple downloadable script, refer to this website: http://www.midonet.org/#quickstart

If you want to see how everything works together, this website will show you how to build a simple dev environment on your machine with MidoNet and OpenStack: https://github.com/midonet/midonet/wiki/OpenStack-All-in-One

Find out more

You can find out more about the MidoNet community at the following websites:

If you are completely new to Neutron and network virtualization, this blog article is a good start: http://blog.midonet.org/introduction-mns-overlay-network-models-part-1-provider-router/

It's a series of articles, they are all recommended for reading to learn more about the architecture of MidoNet.

Get in touch with us

Our developers are always happy to talk to new faces.

Visit our Slack channel and take part in the mailing list discussions about the future of the solution and new features.

Your input is appreciated and welcome, we are very glad to learn about new innovations and ideas from our community!


MidoNet is licensed under the Apache license. Please see LICENSE for details.

Copyright 2018 Midokura SARL