Slide 1

Slide 1 text

Introduction to midonet Taku Fukushima

Slide 2

Slide 2 text

Agenda 1. What is MidoNet? 2. Architecture 3. Community 4. Summary

Slide 3

Slide 3 text

What is MidoNet?

Slide 4

Slide 4 text

Why do we need MidoNet? • Demands for the virtualised networking • Faster and more flexible provisioning • Cloud IaaS requires virtualised networking • Multi-tenancy • Complete software-based solution

Slide 5

Slide 5 text

MidoNet Features • L2- L3 Logical Switching • Logical Routing • State-less and Stateful NAT • Logical and distributed Firewall • L4 Load Balancing • BGP and its ECMP multiplexing • GRE and VXLAN tunneling

Slide 6

Slide 6 text

MidoNet Features • OpenStack Neutron integration and MidoStack • REST API • VTEP support with OVSDB protocol • Partial Docker integration

Slide 7

Slide 7 text

History of MidoNet (a dev’s perspective) • Started with Midolman written in Python, OpenStack Austin, Open vSwitch (including userland features) • MidoNet 1.x • Re-written with Java • Scala was partially introduced • Open-sourced in Nov, 2014 New! • MidoNet 2.0 (WIP)

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Architecture

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Architecture Overview

Slide 12

Slide 12 text

Datapath control via Netlink by Midolman Open vSwitch Datapath IF IF Interfaces on the host IF VM VM VM Midolman (MidoNet agent) Flow Table Watch/modify Add/remove flows Host Cache Store virtu Nova compute

Slide 13

Slide 13 text

GRE/VXLAN Tunneling NSDB NSDB NSDB Private Network Host Midol man Cache Datapath VM VM VM Flow Table Nova compute MidoNet API Nova API Neutron API MidoNet Plugin Host Midol man Cache Datapath VM VM VM Flow Table Nova compute BGP Gateway Midol man Datapath Flow Table BGP Gateway Midol man Datapath Flow Table GRE/VXLAN Tunneling Internet

Slide 14

Slide 14 text

NSDB and Cluster API NSDB NSDB NSDB dd/remove flows Store virtual topology information NSDB and Cluster API

Slide 15

Slide 15 text

OpenStack integration and APIs NSDB NSDB Network MidoNet API Nova API Horizon MidoNet CLI Add/remove flows Neutron API MidoNet Plugin Host Clients / Users OpenStack integration and MidoNet API

Slide 16

Slide 16 text

BGP with ECMP NSDB NSDB NSDB Private Network Host Midol man Cache Datapath VM VM VM Flow Table Nova compute MidoNet API Nova API Neutron API MidoNet Plugin Host Midol man Cache Datapath VM VM VM Flow Table Nova compute BGP Gateway Midol man Datapath Flow Table BGP Gateway Midol man Datapath Flow Table GRE/VXLAN Tunneling Internet

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Community

Slide 20

Slide 20 text

Entering MidoNet community • Slack (midonet.slack.com) • Mailing list • Midolman code walkthrough • Code walk-through videos • GerritHub • Code review + CI with several tests

Slide 21

Slide 21 text

Documentation and help • Wiki • wiki.midonet.org • Documentations • docs.midonet.org • JIRA (Issue Tracker) • https://midonet.atlassian.net/

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

http://lists.midonet.org/pipermail/midonet-dev/

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Summary

Slide 27

Slide 27 text

MidoNet rocks • True distributed architecture • Intelligence at the edge • Open-sourced under Apache License v2 • Growing community and ecosystem

Slide 28

Slide 28 text

The end of slides. Any questions?