SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Ryu: Network Operating
          System	
Kazutaka Morita
NTT Software Innovation Center

Isaku Yamahata
VA Linux

June 6, 2012
Agenda	
²  Overview
²  How it works

²  Demo

²  Summary	




                              2	

Overview
What is Ryu?	
²    Open-sourced network operating system
      ³    Network operating system
             ®    Programmatic network control interface
             ®    Logically centralized controller for thousands of switches
                   (OVS, openflow switch)
      ³    Open source software (Apache v2)
             ®    Fully written in Python
             ®    Project site: http://www.osrg.net/ryu/


²    Ryu stands for
      ³    流 - Means “flow” in Japanese
      ³    龍 - Means “Japanese dragon”, one of water gods

                                                                            4	

Overview	
                              Ryu network controllers	

                                                          RESTful
                                app	
 app	
 app	
                                                          management API	
 Programmatic network                                                         Administrator	
 control interface
・ We can implement
  network management
  applications on top of                                     Logically centralized
  the Ryu                                                    controller
                                                            ・ Decouples virtual networks
                                                              from the physical network
                                                            ・Supports OpenFlow 1.0
                                                              (including Nicira Extension)



          ovs	
      Openflow switch	

                                               ovs	

                                                               Openflow switch	
       5	

Goals	
²    De facto OSS network operating system
²    High quality enough for use in large
      production environment
      ³    Code quality
      ³    Functionality
      ³    Usability
²    Become the standard network controller of
      cloud software (e.g. OpenStack)
      ³    Ryu plugin is merged into OpenStack Essex
²    Default Controller for fedora/debian/
      ubuntu	
                                                        6	

What does Ryu provide?	
²    Ryu applications
      ³  GRE tunneling
      ³  VLAN support

      ³  Topology discovery

      ³  MAC based segregation


²    We can use these features with only
      commodity hardware	


                                            7	

How it works
Integrate with OpenStack	
²    OpenStack
      ³    Open source software for building
            private and public clouds
²    What does Ryu bring to OpenStack?
      ³  Flat L2 networks regardless of the
          underlying physical network
      ³  Scalable multi-tenant isolations

            ®  Ryu provides tunneling based isolations
            ®  VLAN doesn’t scale larger than 4096

            ®  We don’t need high-end switches


                                                          9	

OpenStack	
²    Nova: cloud management system
      ³    Nova compute node
             ®    Physical machine that runs guest VM instances
      ³    Nova network node
             ®    Physical machine that runs networks gateway to the outside network
²    Quantum: network management system
      ³    Quantum server
             ®    Manages network configuration
             ®    Nova requests quantum-server for network configuration
      ³    Quantum agent
             ®    It runs on nova compute/network node
      ³    Quantum plugin
             ®    Plugin for each network technology
             ®    Ryu plugin	



                                                                                   10	

How Ryu works with OpenStack
  Quantum-­‐node:	
  somewhere	
  where	
  
  compute/network	
  can	
  communicate.	
                        Ryu-­‐node:	
  somewhere	
  where	
  
  Typically	
  on	
  network-­‐node	
                             compute/network/quantum	
  can	
  communicate	
  
                                                                  Typically	
  on	
  network-­‐node	
  

    Quantum	
  db:	
                                                              Ryu	
  db	
  (in	
  memory)	
  
    	
  (datapath	
  id,	
  Tunnel	
  ip)	
                                      (Tenant	
  id,	
  tunnel	
  id)	
  
    	
  (network	
  uuid,	
  tunnel	
  key)	
                               (dpid,	
  port,	
  tenant	
  id,	
  mac	
  addr)	
  
                                                        REST	
  API	
          (dpid,	
  port,	
  remote_dpid)	
  
     Quantum	
  
      server	
                                                                          Ryu	
  


Quantum	
   DB	
  
                                                                                                                          OpenFlow	
  
API	
       access	
  

    Vif	
  driver	
       Ryu	
  agent	
      OVS	
                 linux_net	
  driver	
            Ryu	
  agent	
       OVS	
  
    Create	
            Create	
  
    Tap	
  port	
       Tunnel	
  port	
  


          compute-­‐node	
                                                       Network-­‐node	
  
Demo
Ryu demo (GRE tunneling)	
           ping          ping           ping               ping     ping           ping

          Linux         Linux          Linux             Linux    Linux         Linux


       Qemu/KVM Qemu/KVM              Qemu/KVM         Qemu/KVM   Qemu/KVM     Qemu/KVM


 ryu                          Nova
                  OVS       compute            OVS        Nova        OVS        Nova
Quantum                                                 compute                compute
 server                     Quantum
                             agent
 Nova                                                   Quantum                Quantum
network                   Openstack      Linux           agent     Linux        agent
            Linux          servers

  KVM                                                KVM                     KVM

                    GRE tunnel                     GRE tunnel              GRE tunnel

                                          bridge
Linux (phyisical machine)                                                               13	

Ryu demo (GRE tunneling)	
             Host	
  1	

Tenant A     Tenant A      Tenant B                              Tenant A ID -> 3
  VM 1	
      VM 2	
        VM 1	
                               Tenant B ID -> 4	

                                        GRE tunnel 1-3	
        Host 3	
              OVS 1	

                                                Tenant A        Tenant B     Tenant B
                                                 VM 4	
          VM 4	
       VM 5	

                 GRE tunnel 1-2	
                                                                 OVS 3	
                Host 2	


  Tenant A     Tenant B      Tenant B        GRE tunnel 2-3	
   VM 3	
       VM 2	
        VM 3	


                 OVS 2	
                                                                                      14	

Summary
Future items	
²    Integration with Quantum IPAM and L3
      API
²    Firewall
²    Virtual network to physical network, and
      vice versa
      ³    Convert among GRE key, VLAN tag, …
²    Distributed controllers
      ³    No single point of failure
      ³    Datacenter-wide scalability	

                                                 16	

Summary	
²    Ryu is an open-sourced network operating
      system licensed under Apache License v2.
       ³  Site: http://www.osrg.net/ryu/

       ³  ML: ryu-devel@lists.sourceforge.net




²    Set up Ryu environment with VM images
      ³    https://github.com/osrg/ryu/wiki/RYU-
            OpenStack-environment-VM-image-file-
            HOWTO
                                                    17	

Thank you! Any questions?	




                              18	

Appendix
Block diagram of Ryu	


  ...            RyuApp
                GREtunnel
                                   RyuApp
                                  Discovery
                                                  RyuApp
                                                   VLAN
                                                                   REST API



             Higher level event


        Switch management/OFP event
                                              Storage    RyuApp    HTTP server
                                              Memory    magement     (WSGI)

Openflow protocol
                    Event queue/dispatcher
Parser/serializer


                                                                         20	

OpenStack basics	
²    OpenStack
      ³    Nova: cloud management system
      ³    Quantum: network management system
²    Nova compute node
      ³    Physical machine that runs guest VM instances
²    Nova network node
      ³    Physical machine that runs networks gateway to the outside network
²    Quantum server
      ³    Manages network configuration
      ³    Nova requests quantum-server for network configuration
²    Quantum agent
      ³    It runs on nova compute/network node
²    Quantum plugin
      ³    Plugin for each network technology
      ³    Ryu plugin	


                                                                            21	

GRE tunneling with openstack
l    Network Tenant creation
      l    GRE key assignment
      l    Gateway creation
l    Guest VM instance creation
      l    Port creation
            -    tenant ↔ key ↔ port relationship
      l    Setting flow to the VM port
l    Tunnel port management
      l    Tunnel port creation/deletion
            -    Track physical compute node
      l    Setting flow to the tunnel port
Quantum	
  db:	
                                                                                      Ryu	
  db	
  (in	
  memory)	
  
 Quantum	
                                                                                                                   (Tenant	
  id,	
  tunnel	
  id)	
  
                        	
  (datapath	
  id,	
  Tunnel	
  ip)	
  
  server	
                                                                                                              (dpid,	
  port,	
  tenant	
  id,	
  mac	
  addr)	
  
                                          Network	
  id(uuid)	
  creation/deletionq	
  
                                          On	
  vm	
  creation:	
  port	
  uuid,	
  mac	
  address	
                    (dpid,	
  port,	
  local_ip,	
  remote_ip)	
  
     Tunnel	
  id	
  

                                              VM	
  Port:	
  (dpid,	
  Tenant	
  uuid,	
  mac	
  addr)	
  
                                              Tunnel	
  port:	
  (dpid,	
  local_ip,	
  remote_ip)	
                                        Data`low	
  
The	
  Agent	
  polls	
  db:	
  
                                                                                                                            Ryu	
  
	
  	
  Create	
  vport-­‐gre	
                                    (tenant	
  uuid,	
  
                                                                   tunnel_id)	
                              (tenant,	
  
	
  	
  Update	
  port	
  status	
                                                                           tunnel)	
  

                                                                                vm	
  port(dpid,	
  
                                                                                tenant	
  uuid,	
  mac	
  addr)	
  
                      Ryu	
  agent	
  
                                                  OVS	
  
                      Vif	
  driver	
  
                                                                                                  OVS	
   Vif	
  driver	
  
                     vport-­‐gre:	
                                                                       Ryu	
  agent	
  
                     remote_ip=xxx,	
  
                     local_ip=yyy,	
                                                  Vif	
  driver	
  creates	
  vm	
  port	
  
                                                                                                                              Gw	
  port(dpid,	
                    (tenant	
  uuid,	
  
                     key=0	
                                                                                                  Tenant	
  uuid,	
  mac	
  addr)	
     tunnel_id)	
  


                                                                                                                 OVS	
                 linux_net	
  driver	
  
                 Vif	
  driver	
               OVS	
  
                                                                                                                                 Ryu	
  agent	
  
                 Ryu	
  agent	
  
                                                                                                         Linux_net	
  driver	
  creates	
  gw	
  ports	
  
Network Creation
                                  8	
  (network_id,	
  dpid,	
  port,	
  mac)	
  
              Quantum	
  
               server	
                                                                                   Ryu	
  
7.	
  	
                                     3.	
  Network	
  uuid,Tunnel	
  key	
  
(tenant_id,	
  
network_id,	
  
dpid,	
                                                                                      9.	
  set	
  `low	
  entryies	
  
Port,	
                                                   2.	
  Create	
  net	
  
mac)	
                              4.	
  uuid	
  

                                                     nova-­‐network	
  
           1.	
  create	
  network	
  
                                                      5.plug	
  
                                                                                    6.	
  Create	
  gw-­‐xxx	
       OVS	
  
                                                        linux_net	
  driver	
  


                                                                                                Network-­‐node	
  
Instance Creation
       6.	
  	
                                         7.	
  (network_id,	
  dpid,	
  port,	
  mac)	
  
       (tenant_id,	
  
       network_id,	
             Quantum	
  
                                  server	
                                                                  Ryu	
  
       dpid,	
  
       Port,	
  
       mac)	
                                                                                       8.	
  set	
  `low	
  entryies	
  
                                3.	
  uuid	
        2.	
  Create	
  port	
  



                                    nova-­‐compute	
  
1.	
  create	
  instance	
  
                                       4.plug	
  
                                                                           5.	
  Create	
  tap-­‐xxx	
     OVS	
  
                                                 vif	
  driver	
  

                                                                                           compute-­‐node	
  
Node boot up

     Quantum	
                                                                             Ryu	
  
                            Quantum	
  db	
  
      server	
  

                                          2.	
  Register	
  
     3.	
  Get	
  list	
  of	
  
                                          (dpid,	
  ipaddress)	
                5.	
  register	
  
     (dpid,	
  ip	
  address)	
  
     (and	
  polling)	
                                                         (dpid,	
  port-­‐id,	
  remote_dpid)	
  



4.	
  Create	
  vport-­‐gre	
       Ryu	
  agent	
  
to	
  ip	
  address	
                                  1.	
  Get	
  IP	
  address	
  

                       OVS	
                     ryu_v2.ini	
  

        Compute/Network-­‐node	
  
Flow Table Usage
                              Src	
  table	
                    Tunnel	
  out	
                                   Local	
  out	
  

 In	
  port	
                 Table	
  0	
                        Table	
  1	
                                     Table	
  2	
  
                    match	
             action	
             match	
                    action	
       match	
                 action	
  


                  in_port	
   set_tunnel	
                tunnel_id	
   output(tunnel)	
  
                  src	
  mac	
   goto	
  table	
  1	
     dst	
  mac	
   goto	
  table	
  2	
  
VM	
  port	
  
                   in_port	
   drop	
                     tunnel_id	
       goto	
  table	
  2	
  
                                                                                                      tunnel_id	
   output(vm)	
  
                                                                                                      dst	
  mac	
  
Tunnel	
  
           in_port	
   goto	
  table	
  2	
                                                           tunnel_id	
            drop	
  
port	
  
           tunnel_id	
  

                  in_port	
                drop	
                                                                                   VM1	
  
                                                               GRE	
  tunnel	
                          OVS	
  
                                                                                         tunnel	
                                   VM2	
  
                                                                                         port	
  
                                                                                                              VM	
  port	
  

Contenu connexe

Tendances

2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge MigrationJames Denton
 
Linux Tag 2014 OpenStack Networking
Linux Tag 2014 OpenStack NetworkingLinux Tag 2014 OpenStack Networking
Linux Tag 2014 OpenStack Networkingyfauser
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantumMiguel Lavalle
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorialmestery
 
Open stack networking_101_part-2_tech_deep_dive
Open stack networking_101_part-2_tech_deep_diveOpen stack networking_101_part-2_tech_deep_dive
Open stack networking_101_part-2_tech_deep_diveyfauser
 
Open stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsOpen stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsyfauser
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep diveTrinath Somanchi
 
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Dave Neary
 
Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenesinbroker
 
Open Source Backends for OpenStack Neutron
Open Source Backends for OpenStack NeutronOpen Source Backends for OpenStack Neutron
Open Source Backends for OpenStack Neutronmestery
 
Open stack networking_101_part-1
Open stack networking_101_part-1Open stack networking_101_part-1
Open stack networking_101_part-1yfauser
 
Openstack Quantum Security Groups Session
Openstack Quantum Security Groups SessionOpenstack Quantum Security Groups Session
Openstack Quantum Security Groups SessionDavid Lapsley
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_updateAkihiro Motoki
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouverMason Mei
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, greSim Janghoon
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronSana Khan
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016Phil Estes
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauseryfauser
 

Tendances (20)

2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
2014 OpenStack Summit - Neutron OVS to LinuxBridge Migration
 
Linux Tag 2014 OpenStack Networking
Linux Tag 2014 OpenStack NetworkingLinux Tag 2014 OpenStack Networking
Linux Tag 2014 OpenStack Networking
 
Network virtualization with open stack quantum
Network virtualization with open stack quantumNetwork virtualization with open stack quantum
Network virtualization with open stack quantum
 
OpenStack Neutron Tutorial
OpenStack Neutron TutorialOpenStack Neutron Tutorial
OpenStack Neutron Tutorial
 
Open stack networking_101_part-2_tech_deep_dive
Open stack networking_101_part-2_tech_deep_diveOpen stack networking_101_part-2_tech_deep_dive
Open stack networking_101_part-2_tech_deep_dive
 
Open stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetupsOpen stack networking_101_update_2014-os-meetups
Open stack networking_101_update_2014-os-meetups
 
Training open stack networking -neutron
Training open stack networking -neutronTraining open stack networking -neutron
Training open stack networking -neutron
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
Networking in OpenStack for non-networking people: Neutron, Open vSwitch and ...
 
Neutron behind the scenes
Neutron   behind the scenesNeutron   behind the scenes
Neutron behind the scenes
 
Open Source Backends for OpenStack Neutron
Open Source Backends for OpenStack NeutronOpen Source Backends for OpenStack Neutron
Open Source Backends for OpenStack Neutron
 
Open stack networking_101_part-1
Open stack networking_101_part-1Open stack networking_101_part-1
Open stack networking_101_part-1
 
rtnetlink
rtnetlinkrtnetlink
rtnetlink
 
Openstack Quantum Security Groups Session
Openstack Quantum Security Groups SessionOpenstack Quantum Security Groups Session
Openstack Quantum Security Groups Session
 
neutron_icehouse_update
neutron_icehouse_updateneutron_icehouse_update
neutron_icehouse_update
 
Ovn vancouver
Ovn vancouverOvn vancouver
Ovn vancouver
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack Neutron
 
"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016"One network to rule them all" - OpenStack Summit Austin 2016
"One network to rule them all" - OpenStack Summit Austin 2016
 
Osdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauserOsdc2014 openstack networking yves_fauser
Osdc2014 openstack networking yves_fauser
 

En vedette

Characteristics of a network operating system
Characteristics of a network operating systemCharacteristics of a network operating system
Characteristics of a network operating systemRon McGary
 
INTRODUCTION TO NETWORK OS
INTRODUCTION TO NETWORK OSINTRODUCTION TO NETWORK OS
INTRODUCTION TO NETWORK OSkinish kumar
 
Network operating systems
Network operating systemsNetwork operating systems
Network operating systemsrahmanitayulia
 
Network Operating System
Network Operating SystemNetwork Operating System
Network Operating Systemisma ishak
 
Network operating systems
Network operating systems Network operating systems
Network operating systems Sachin Awasthi
 
Network operating system
Network operating systemNetwork operating system
Network operating systemMuhammad Shahid
 
Introduction to operating system
Introduction to operating systemIntroduction to operating system
Introduction to operating systemAsif ALI
 
Basic construction of c
Basic construction of cBasic construction of c
Basic construction of ckinish kumar
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scriptingkinish kumar
 
Network Security Threats and Solutions
Network Security Threats and SolutionsNetwork Security Threats and Solutions
Network Security Threats and SolutionsColin058
 

En vedette (12)

Network operating system
Network operating systemNetwork operating system
Network operating system
 
Characteristics of a network operating system
Characteristics of a network operating systemCharacteristics of a network operating system
Characteristics of a network operating system
 
INTRODUCTION TO NETWORK OS
INTRODUCTION TO NETWORK OSINTRODUCTION TO NETWORK OS
INTRODUCTION TO NETWORK OS
 
Network operating systems
Network operating systemsNetwork operating systems
Network operating systems
 
Network Operating System
Network Operating SystemNetwork Operating System
Network Operating System
 
Network operating systems
Network operating systems Network operating systems
Network operating systems
 
Network operating system
Network operating systemNetwork operating system
Network operating system
 
Introduction to operating system
Introduction to operating systemIntroduction to operating system
Introduction to operating system
 
Basic construction of c
Basic construction of cBasic construction of c
Basic construction of c
 
Network operating system
Network operating systemNetwork operating system
Network operating system
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
 
Network Security Threats and Solutions
Network Security Threats and SolutionsNetwork Security Threats and Solutions
Network Security Threats and Solutions
 

Similaire à Ryu: network operating system

Am 04 track1--salvatore orlando--openstack-apac-2012-final
Am 04 track1--salvatore orlando--openstack-apac-2012-finalAm 04 track1--salvatore orlando--openstack-apac-2012-final
Am 04 track1--salvatore orlando--openstack-apac-2012-finalOpenCity Community
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNTe-Yen Liu
 
Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Dan Wendlandt
 
Docker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMDocker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMNeependra Khare
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstacksalv_orlando
 
OWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovanceOWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovanceParis Open Source Summit
 
Open stack in action enovance-quantum in action
Open stack in action enovance-quantum in actionOpen stack in action enovance-quantum in action
Open stack in action enovance-quantum in actioneNovance
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practiceOpenCity Community
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012Dan Wendlandt
 
Quantum grizzly summit
Quantum   grizzly summitQuantum   grizzly summit
Quantum grizzly summitDan Wendlandt
 
Quantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxQuantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxOpenStack Foundation
 
Nvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayNvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayyfauser
 
Quantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewQuantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewDan Wendlandt
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiHui Cheng
 
Quantum - The Network Mechanics
Quantum - The Network MechanicsQuantum - The Network Mechanics
Quantum - The Network MechanicsKiran Murari
 
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundSDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundChef Software, Inc.
 

Similaire à Ryu: network operating system (20)

Am 04 track1--salvatore orlando--openstack-apac-2012-final
Am 04 track1--salvatore orlando--openstack-apac-2012-finalAm 04 track1--salvatore orlando--openstack-apac-2012-final
Am 04 track1--salvatore orlando--openstack-apac-2012-final
 
OpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDNOpenStack 2012 fall summit observation - Quantum/SDN
OpenStack 2012 fall summit observation - Quantum/SDN
 
Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13Openstack Quantum yahoo meetup 1 23-13
Openstack Quantum yahoo meetup 1 23-13
 
Docker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBMDocker Multi Host Networking, Rachit Arora, IBM
Docker Multi Host Networking, Rachit Arora, IBM
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
 
OWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovanceOWF12/Open Cloud Strategies Openstackinaction enovance
OWF12/Open Cloud Strategies Openstackinaction enovance
 
Open stack in action enovance-quantum in action
Open stack in action enovance-quantum in actionOpen stack in action enovance-quantum in action
Open stack in action enovance-quantum in action
 
CloudStack and SDN
CloudStack and SDNCloudStack and SDN
CloudStack and SDN
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practice
 
OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012OpenStack Quantum: Cloud Carrier Summit 2012
OpenStack Quantum: Cloud Carrier Summit 2012
 
Quantum grizzly summit
Quantum   grizzly summitQuantum   grizzly summit
Quantum grizzly summit
 
Quantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptxQuantum PTL Update - Grizzly Summit.pptx
Quantum PTL Update - Grizzly Summit.pptx
 
Deep Dive Into Quantum
Deep Dive Into QuantumDeep Dive Into Quantum
Deep Dive Into Quantum
 
Nvp deep dive_session_cee-day
Nvp deep dive_session_cee-dayNvp deep dive_session_cee-day
Nvp deep dive_session_cee-day
 
Quantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewQuantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer Overview
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
 
Quantum - The Network Mechanics
Quantum - The Network MechanicsQuantum - The Network Mechanics
Quantum - The Network Mechanics
 
OpenStack Quantum
OpenStack QuantumOpenStack Quantum
OpenStack Quantum
 
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundSDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
 

Dernier

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 

Dernier (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 

Ryu: network operating system

  • 1. Ryu: Network Operating System Kazutaka Morita NTT Software Innovation Center Isaku Yamahata VA Linux June 6, 2012
  • 2. Agenda ²  Overview ²  How it works ²  Demo ²  Summary 2 
  • 4. What is Ryu? ²  Open-sourced network operating system ³  Network operating system ®  Programmatic network control interface ®  Logically centralized controller for thousands of switches (OVS, openflow switch) ³  Open source software (Apache v2) ®  Fully written in Python ®  Project site: http://www.osrg.net/ryu/ ²  Ryu stands for ³  流 - Means “flow” in Japanese ³  龍 - Means “Japanese dragon”, one of water gods 4 
  • 5. Overview Ryu network controllers RESTful app app app management API Programmatic network Administrator control interface ・ We can implement network management applications on top of Logically centralized the Ryu controller ・ Decouples virtual networks from the physical network ・Supports OpenFlow 1.0 (including Nicira Extension) ovs Openflow switch ovs Openflow switch 5 
  • 6. Goals ²  De facto OSS network operating system ²  High quality enough for use in large production environment ³  Code quality ³  Functionality ³  Usability ²  Become the standard network controller of cloud software (e.g. OpenStack) ³  Ryu plugin is merged into OpenStack Essex ²  Default Controller for fedora/debian/ ubuntu 6 
  • 7. What does Ryu provide? ²  Ryu applications ³  GRE tunneling ³  VLAN support ³  Topology discovery ³  MAC based segregation ²  We can use these features with only commodity hardware 7 
  • 9. Integrate with OpenStack ²  OpenStack ³  Open source software for building private and public clouds ²  What does Ryu bring to OpenStack? ³  Flat L2 networks regardless of the underlying physical network ³  Scalable multi-tenant isolations ®  Ryu provides tunneling based isolations ®  VLAN doesn’t scale larger than 4096 ®  We don’t need high-end switches 9 
  • 10. OpenStack ²  Nova: cloud management system ³  Nova compute node ®  Physical machine that runs guest VM instances ³  Nova network node ®  Physical machine that runs networks gateway to the outside network ²  Quantum: network management system ³  Quantum server ®  Manages network configuration ®  Nova requests quantum-server for network configuration ³  Quantum agent ®  It runs on nova compute/network node ³  Quantum plugin ®  Plugin for each network technology ®  Ryu plugin 10 
  • 11. How Ryu works with OpenStack Quantum-­‐node:  somewhere  where   compute/network  can  communicate.   Ryu-­‐node:  somewhere  where   Typically  on  network-­‐node   compute/network/quantum  can  communicate   Typically  on  network-­‐node   Quantum  db:   Ryu  db  (in  memory)    (datapath  id,  Tunnel  ip)   (Tenant  id,  tunnel  id)    (network  uuid,  tunnel  key)   (dpid,  port,  tenant  id,  mac  addr)   REST  API   (dpid,  port,  remote_dpid)   Quantum   server   Ryu   Quantum   DB   OpenFlow   API   access   Vif  driver   Ryu  agent   OVS   linux_net  driver   Ryu  agent   OVS   Create   Create   Tap  port   Tunnel  port   compute-­‐node   Network-­‐node  
  • 12. Demo
  • 13. Ryu demo (GRE tunneling) ping ping ping ping ping ping Linux Linux Linux Linux Linux Linux Qemu/KVM Qemu/KVM Qemu/KVM Qemu/KVM Qemu/KVM Qemu/KVM ryu Nova OVS compute OVS Nova OVS Nova Quantum compute compute server Quantum agent Nova Quantum Quantum network Openstack Linux agent Linux agent Linux servers KVM KVM KVM GRE tunnel GRE tunnel GRE tunnel bridge Linux (phyisical machine) 13 
  • 14. Ryu demo (GRE tunneling) Host  1 Tenant A Tenant A Tenant B Tenant A ID -> 3 VM 1 VM 2 VM 1 Tenant B ID -> 4 GRE tunnel 1-3 Host 3 OVS 1 Tenant A Tenant B Tenant B VM 4 VM 4 VM 5 GRE tunnel 1-2 OVS 3 Host 2 Tenant A Tenant B Tenant B GRE tunnel 2-3 VM 3 VM 2 VM 3 OVS 2 14 
  • 16. Future items ²  Integration with Quantum IPAM and L3 API ²  Firewall ²  Virtual network to physical network, and vice versa ³  Convert among GRE key, VLAN tag, … ²  Distributed controllers ³  No single point of failure ³  Datacenter-wide scalability 16 
  • 17. Summary ²  Ryu is an open-sourced network operating system licensed under Apache License v2. ³  Site: http://www.osrg.net/ryu/ ³  ML: ryu-devel@lists.sourceforge.net ²  Set up Ryu environment with VM images ³  https://github.com/osrg/ryu/wiki/RYU- OpenStack-environment-VM-image-file- HOWTO 17 
  • 18. Thank you! Any questions? 18 
  • 20. Block diagram of Ryu ... RyuApp GREtunnel RyuApp Discovery RyuApp VLAN REST API Higher level event Switch management/OFP event Storage RyuApp HTTP server Memory magement (WSGI) Openflow protocol Event queue/dispatcher Parser/serializer 20 
  • 21. OpenStack basics ²  OpenStack ³  Nova: cloud management system ³  Quantum: network management system ²  Nova compute node ³  Physical machine that runs guest VM instances ²  Nova network node ³  Physical machine that runs networks gateway to the outside network ²  Quantum server ³  Manages network configuration ³  Nova requests quantum-server for network configuration ²  Quantum agent ³  It runs on nova compute/network node ²  Quantum plugin ³  Plugin for each network technology ³  Ryu plugin 21 
  • 22. GRE tunneling with openstack l  Network Tenant creation l  GRE key assignment l  Gateway creation l  Guest VM instance creation l  Port creation -  tenant ↔ key ↔ port relationship l  Setting flow to the VM port l  Tunnel port management l  Tunnel port creation/deletion -  Track physical compute node l  Setting flow to the tunnel port
  • 23. Quantum  db:   Ryu  db  (in  memory)   Quantum   (Tenant  id,  tunnel  id)    (datapath  id,  Tunnel  ip)   server   (dpid,  port,  tenant  id,  mac  addr)   Network  id(uuid)  creation/deletionq   On  vm  creation:  port  uuid,  mac  address   (dpid,  port,  local_ip,  remote_ip)   Tunnel  id   VM  Port:  (dpid,  Tenant  uuid,  mac  addr)   Tunnel  port:  (dpid,  local_ip,  remote_ip)   Data`low   The  Agent  polls  db:   Ryu      Create  vport-­‐gre   (tenant  uuid,   tunnel_id)   (tenant,      Update  port  status   tunnel)   vm  port(dpid,   tenant  uuid,  mac  addr)   Ryu  agent   OVS   Vif  driver   OVS   Vif  driver   vport-­‐gre:   Ryu  agent   remote_ip=xxx,   local_ip=yyy,   Vif  driver  creates  vm  port   Gw  port(dpid,   (tenant  uuid,   key=0   Tenant  uuid,  mac  addr)   tunnel_id)   OVS   linux_net  driver   Vif  driver   OVS   Ryu  agent   Ryu  agent   Linux_net  driver  creates  gw  ports  
  • 24. Network Creation 8  (network_id,  dpid,  port,  mac)   Quantum   server   Ryu   7.     3.  Network  uuid,Tunnel  key   (tenant_id,   network_id,   dpid,   9.  set  `low  entryies   Port,   2.  Create  net   mac)   4.  uuid   nova-­‐network   1.  create  network   5.plug   6.  Create  gw-­‐xxx   OVS   linux_net  driver   Network-­‐node  
  • 25. Instance Creation 6.     7.  (network_id,  dpid,  port,  mac)   (tenant_id,   network_id,   Quantum   server   Ryu   dpid,   Port,   mac)   8.  set  `low  entryies   3.  uuid   2.  Create  port   nova-­‐compute   1.  create  instance   4.plug   5.  Create  tap-­‐xxx   OVS   vif  driver   compute-­‐node  
  • 26. Node boot up Quantum   Ryu   Quantum  db   server   2.  Register   3.  Get  list  of   (dpid,  ipaddress)   5.  register   (dpid,  ip  address)   (and  polling)   (dpid,  port-­‐id,  remote_dpid)   4.  Create  vport-­‐gre   Ryu  agent   to  ip  address   1.  Get  IP  address   OVS   ryu_v2.ini   Compute/Network-­‐node  
  • 27. Flow Table Usage Src  table   Tunnel  out   Local  out   In  port   Table  0   Table  1   Table  2   match   action   match   action   match   action   in_port   set_tunnel   tunnel_id   output(tunnel)   src  mac   goto  table  1   dst  mac   goto  table  2   VM  port   in_port   drop   tunnel_id   goto  table  2   tunnel_id   output(vm)   dst  mac   Tunnel   in_port   goto  table  2   tunnel_id   drop   port   tunnel_id   in_port   drop   VM1   GRE  tunnel   OVS   tunnel   VM2   port   VM  port