MidoNet is an Open Source network virtualization system for Openstack clouds
Scala Java Python Shell Other
Permalink
Failed to load latest commit information.
docs FIP64: Updated neutron translation documentation Feb 6, 2017
gradle/wrapper Upgrade gradle to 2.12 Apr 20, 2016
midolman Hook up Metering to SimpleHTTPServer Feb 17, 2017
midonet-cluster Utils: move PortProvider to midonet-utils Feb 19, 2017
midonet-tools mm-dump: Tool to dump the heap of a running VM Jan 26, 2017
midonet-util Utils: move PortProvider to midonet-utils Feb 19, 2017
misc Fix parsing of ip namespaces listing Nov 7, 2016
netlink Netlink: Extend LinkOps to create bridge Feb 22, 2017
nsdb Merge "Transactions: filter deleted objects on getAll" Feb 22, 2017
python-midonetclient midonet-cli supports multiple addresses Feb 1, 2017
specs/2015.02 Move neutron_translation.md from specs to docs dir Feb 1, 2016
tests Increase default timeout to connect to rest api Feb 21, 2017
tools Revert "Enable the Topology API socket for devstack" Jan 11, 2017
.gitignore Add python-midonetclient/prototest to .gitignore May 11, 2016
.gitmodules CI: remove submodule and install midonet-sandbox master Apr 12, 2016
.gitreview .gitreview: point to gerrithub Nov 3, 2014
DEVELOPMENT.md DEVELOPMENT.md: Mention github issues Jun 1, 2016
LICENSE Update LICENSE and builds to 2015 Jan 14, 2015
README.md Use https to link to docs.midonet.org Nov 17, 2015
build.gradle Serialize the metrics with minimal allocation Feb 17, 2017
fpm.gradle Packaging: Add 'tar' target to gradle Apr 29, 2016
git.gradle gradle: build and package midonet Oct 30, 2014
gradlew Upgrade gradle to 2.12 Apr 20, 2016
java-code-style.xml Add akka and mockito to Scala import settings Apr 27, 2015
scalastyle_config.xml Adding scalastyle to the maven build Oct 30, 2014
settings.gradle midonet-cluster: package as single jar Sep 17, 2015
what_ci_targets.sh Packaging: Add 'tar' target to gradle Apr 29, 2016

README.md

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: http://wiki.midonet.org/MidoNet-allinone

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!