SlideShare a Scribd company logo
Software-Defined Networking and
      the Floodlight controller


Mike Cohen
Big Switch Networks
Mike.cohen@bigswitch.com

Alex Reimers
Big Switch Networks
Alex.reimers@bigswitch.com
Agenda

                             Overview


                             Architecture


                             Applications


                             Demo


©2012 – Big Switch Networks Inc.
Big Switch Networks

            Overview                                    People @ Big Switch
            Big Switch Networks is a market leader in
                                                                       Guido Appenzeller
            Software-Defined Networking and a strong                   CEO, Big Switch Networks
            proponent of OpenFlow technology                           Former Consulting Assistant Professor
                                                                       at Stanford University, led the team that
                                                                       developed OpenFlow 1.0
            Open Source Projects include:
             Floodlight                                                Rob Sherwood
                                                                        MTS, Big Switch Networks
             Indigo                                                    Author of FlowVisor and key architect
             OFTest                                                    of OpenFlow 1.0

             More to come…
                                                                        Dan Talayco
                                                                        MTS, Big Switch Networks
                                                                        Former member of the Stanford
                                                                        OpenFlow Team. Led development of
            Yes, we’re hiring!                                          the Indigo reference implementation
             Contact me or careers@bigswitch.com       Others include:
                                                        Isabelle Guis, Omar Baldonado, Howie Xu, Mansour
                                                        Karam, Nick Bastin, Saurav Das, and many others…

©2012 – Big Switch Networks Inc.                                                                            3
Floodlight Overview




©2012 – Big Switch Networks Inc.
Floodlight Overview
            An Apache licensed OpenFlow Controller

             Developer friendly Apache license

             Easy to use, extensible Java development
                   environment

             Enterprise grade - Core engine used and
                   supported by Big Switch Networks (running in
                   production today)

             Supports a broad range of physical and virtual
                   OpenFlow switches

             OF 1.0 compliant today – future OF versions on
                   the way


©2012 – Big Switch Networks Inc.                                  5
Floodlight Users and Contributors




                                          Floodlight Adopters:
                                          • University research
                                          • Networking vendors
                                          • Users
                                          • Developers / startups
©2012 – Big Switch Networks Inc.                                    6
Floodlight Switch Compatibility
            A snapshot from Interop




©2012 – Big Switch Networks Inc.              7
Floodlight Growth
            Downloads of Floodlight since January launch
                7000
                                   • Over 200 mailing list posts / month
                6000               • Run rate of 1200+ downloads / month

                5000

                4000

                3000
                                                                           Mailing list
                2000                                                       posts per
                                                                           month

                1000

                        0




©2012 – Big Switch Networks Inc.                                                          8
Building Floodlight
            Fast…and easy…

            Download from Github
            $ git clone git://github.com/floodlight/floodlight.git

            $ sudo apt-get install build-essential default-jdk ant python-dev

            $ cd floodlight; ant

            $ java –jar target/floodlight.jar


            Get the VM (including mininet)
            $ wget http://floodlight.openflowhub.org/files/floodlight-vm.zip

            (login as “floodlight” user, no password)


©2012 – Big Switch Networks Inc.                                                9
Floodlight Roadmap

           Recently launched:           Roadmap:
                                         OpenFlow 1.x support
            Module system
                                         Command line interface
            Ubuntu PPA’s
                                         Persistent storage
            Quantum / OpenStack         Python / Jython support
            Web UI                      Firewall, Load balancer
                                          apps
            Performance improvements
                                         Web UI 2.0
                                         Stable northbound APIs
                                         Better Documentation
©2012 – Big Switch Networks Inc.                                    10
Programming Floodlight




©2012 – Big Switch Networks Inc.
Floodlight Architecture
            Overview
                                    FloodlightProvider
                               (IFloodlightProviderService)    Floodlight is a collection of modules
                                    TopologyManager
                               (ITopologyManagerService)

                                        LinkDiscovery          Some modules (not all) export
                                   (ILinkDiscoveryService)
                                                                services
                                         Forwarding

                                      DeviceManager            All modules in Java
                                      (IDeviceService)

                                        StorageSource
                                   (IStorageSourceService)     Rich, extensible REST API
                                         RestServer
                                      (IRestApiService)

                                    StaticFlowPusher
                               (IStaticFlowPusherService)

                                   VirtualNetworkFilter
                             (IVirtualNetworkFilterService)
©2012 – Big Switch Networks Inc.                                                                  12
Floodlight Architecture
            Module descriptions
                                    FloodlightProvider           Translates OF messages to Floodlight events
                               (IFloodlightProviderService)      Managing connections to switches via Netty

                                    TopologyManager              Computes shortest path using Dijsktra
                               (ITopologyManagerService)         Keeps switch to cluster mappings

                                        LinkDiscovery            Maintains state of links in network
                                   (ILinkDiscoveryService)       Sends out LLDPs

                                                                 Installs flow mods for end-to-end routing
                                         Forwarding
                                                                 Handles island routing
                                      DeviceManager              Tracks hosts on the network
                                      (IDeviceService)           MAC -> switch,port, MAC->IP, IP->MAC

                                        StorageSource            DB style storage (queries, etc)
                                   (IStorageSourceService)       Modules can access all data and subscribe to changes
                                         RestServer              Implements via Restlets (restlet.org)
                                      (IRestApiService)          Modules export RestletRoutable
                                    StaticFlowPusher             Supports the insertion and removal of static flows
                               (IStaticFlowPusherService)        REST-based API

                                   VirtualNetworkFilter          Create layer 2 domain defined by MAC address
                             (IVirtualNetworkFilterService)      Used for OpenStack / Quantum
©2012 – Big Switch Networks Inc.                                                                                         13
Floodlight Programming Model
            Northbound APIs

            IFloodlightModule

                  Java module that runs as part of Floodlight
                                                                                            External
                  Consumes services and events exported by                                Application
                   other modules
                           OpenFlow (ie. Packet-in)
                           Switch add / remove                                                   REST
                                                                   IFloodlight-
                           Device add /remove / move                Module
                           Link discovery

                                                                      Floodlight Controller
            External Application

                  Communicates with Floodlight via REST                     Switch
                    Quantum / Virtual networks                                                     Switch
                    Normalized network state
                                                                                      vSwitch
                    Static flows                                Switch
©2012 – Big Switch Networks Inc.                                                                         14
REST API Reference
            A moving target…but…
          Network State              Static Flows          Virtual Network   User Extensions

          List Hosts                 Add Flow              Create Network    …

          List Links                 Delete Flow           Delete Network

          List Switches              List Flows            Add Host

          GetStats (DPID)            RemoveAll Flows       Remove Host

          GetCounters
          (OFType…)



                                           Floodlight Controller

                                                  Switch
                                                                                  Switch
                            Switch
                                                              vSwitch
©2012 – Big Switch Networks Inc.                                                               15
Programming Floodlight (1)
            Using the REST API

            Fine-grained ability to
                   push flows over REST



            Access to normalized
                   topology and device state



            Extensible access to add
                   new APIs



©2012 – Big Switch Networks Inc.               16
Programming Floodlight (2)
            Creating a module

             Handle OpenFlow
                   messages directly (ie.
                   PacketIn)



             Expose services to other
                   modules



             Add new REST APIs



©2012 – Big Switch Networks Inc.            17
Cool Floodlight Applications




©2012 – Big Switch Networks Inc.
                                                        1
Programmable Patch Panel
            A Floodlight iPhone application

             A simple programmable patch panel built
                   from:
                    Floodlight
                    Pronto 3290 switch running Indigo
             Uses Static Flow Pusher API to redirect
                   traffic between two ports




             Runs remotely on the iPhone!
             Available:
                   http://virtualnow.net/2012/05/03/using-
                   an-openflow-switch-as-a-programmable-
                   patch-panel/

©2012 – Big Switch Networks Inc.                             19
vArmour: Security for OpenFlow

             Founded by security veterans
                   from NetScreen

             Security device integrated with




                                                                           Application


                                                                                         Application


                                                                                                       Application
                   the Floodlight controller

             Showcased the first SDN-capable                   Floodlight Controller

                   deep packet inspection working               Switch

                   with Floodlight at the Open                                                             Switch


                   Networking Summit                Switch


                                                             Switch


            Contact: http://www.varmour.com/



©2012 – Big Switch Networks Inc.                                                                                     20
MobiFlow: Floodlight iPad Interface

             Built be Saurabh
                   Sabnis, Georgia Tech

             Interface to view
                   switches, hosts, netwo
                   rk topology, and
                   statistics

             Access to Static Flow
                   Pusher API

             Available: Coming
                   soon

©2012 – Big Switch Networks Inc.                  21
OpenStack and Quantum




©2012 – Big Switch Networks Inc.
                                                           2
Floodlight OpenStack Integration
            Virtual Networking Support
            Components:

             RestProxy plugin runs inside Quantum                          Quantum
                   module in OpenStack
                                                                            RestProxy
             VirtualNetworkFilter implements layer 2                        Plugin
                   isolation based on MAC

            Highlights:

             Supports physical and virtual switches in             VirtualNetwork
                   OpenFlow networks                                     Filter

             Caveats:
                                                              Floodlight Controller
               No multicast and broadcast isolation
               All DHCP traffic allowed
                                                                   Switch
                                                                                        vSwitch

                                                          Switch            vSwitch

©2012 – Big Switch Networks Inc.
OpenStack / Floodlight Demo
            OpenStack-in-a-VM

            1.       Create two quantum networks        Core Processes

                                                                                              VirtualNetwork Filter
                                                                             Quantum
            2.       Launch 2 hosts in one
                     network: [10.5.5.2, 10.5.5.3]                           RestProxy         Floodlight
                                                                              Plugin           Controller

            3.       Launch 1 host in the other
                     [10.6.6.2]
                                                        OpenStack / Quantum Network
            4.       Test pings:
                                                                               Open vSwitch
                   1.       10.5.5.2 -> 10.5.5.3 [OK]
                   2.       10.6.6.2 -> 10.5.5.2 [NO]

                                                            Host52    Host53
            Each network is in an isolated layer                                                   Host62

            2 domain enforced by Floodlight’s
            VirtualNetworkFilter.                              10.5.5.0/24                       10.6.6.0/24




©2012 – Big Switch Networks Inc.                                                                                      24
OpenFlowHub and Other Open
                        Source Projects




©2012 – Big Switch Networks Inc.
Get Involved with OpenFlowHub
            Join the community!

     What it is:                                                  Get involved:

   1. A community of open source                                   Submit a project
             OpenFlow developers
                                                                   Write a blog post
   2. An OpenFlow Blog (available for
             guest authors)                                        http://www.openflowhub.org

   3. Free hosting, tools, and promotion                           Contact:
           for open source projects                                 mike.cohen@openflowhub.org
           Wiki, forums, bug tracking
             tools, logos, etc.
      Projects:




©2012 – Big Switch Networks Inc. – Proprietary and Confidential                                  26
OFTest: Validating OpenFlow Switches

             A python-based framework and set of
                   tests for OpenFlow switches

             Includes over 60 tests exercising
                   various aspects of OpenFlow

             Useful for testing new OpenFlow
                   implementations and assessing
                   standards compliance
                                                        OFTest connects to both
                                                        the data plane and control
                                                        plane of the switch to
            Available: http://oftest.openflowhub.org/   simulate and monitor
                                                        OpenFlow messages


©2012 – Big Switch Networks Inc.                                                27
LOXI
            Logical OpenFlow eXtensible Interface
           Challenge: The OF specification lives in openflow.h
                                                                          openflow.h              openflow.h
                   Tight coupling of wire format and datastructures         V1.2                    V1.1




                                                                                                                    Input
                   New version of OpenFlow 1.x == LOTS of code
                                                                          openflow.h              openflow.h
                         change                                              V1.3                    V1.0

                   Few non 1.0 switches and controllers have
                         emerged                                                         LOXI




                                                                                                                    Parser
                                                                                        Front-
         Solution: LOXI, an interface that hides OpenFlow wire                           end

         format differences
                 Write once, run across any OF version




                                                                                                                    Code Gen
                                                                        Python           Java            C
                 Support for multiple languages                       Back-end        Back-end       Back-end

                 Example: match MPLS tag XX
                   OF 1.0 – unsupported
                   OF 1.1 – fixed length match




                                                                                                                    Output
                                                                       LOXI.py         LOXI.jar        libLOXI.a
                   OF 1.2+ - OXM-style match

         Available: Coming soon…
©2012 – Big Switch Networks Inc.                                                                                   28
Indigo
            An OpenFlow switch reference implementation
           Version 1:
                   Designed for hardware switches and
                         released under OpenFlow license in 2009
                   Support for 1G and 10G Broadcom chips


         Version 2.0 (coming soon):
                 Based on LOXI – OF 1.x support for free
                 Apache 2.0 license
                 Support for multiple datapaths, both
                       hardware and software
                 Config abstraction layer for easily
                       integrating UI’s


         Available (1.0): http://indigo.openflowhub.org

©2012 – Big Switch Networks Inc.                                   29
Interested in Learning More?

             Check out the website
               http://floodlight.openflowhub.org


             Join the mailing list:
               http://groups.google.com/a/openflowhub.org/group/floo
                     dlight-dev/topics
                    Or just email floodlight-dev@openflowhub.org


             Get the code:
               http://floodlight.openflowhub.org/download

©2012 – Big Switch Networks Inc.                                        30
Thanks!
                                             Mike Cohen
                                     Mike.cohen@bigswitch.com
                                        Big Switch Networks

                                            Alex Reimers
                                    Alex.reimers@bigswitch.com
                                        Big Switch Networks

                                         Floodlight mailing list:
                                   floodlight-dev@openflowhub.org


©2012 – Big Switch Networks Inc.

More Related Content

What's hot

Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
JAX London
 
STPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSTPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has Arrived
SOASTA
 
Open Stack China Trip Sz0922
Open Stack China Trip Sz0922Open Stack China Trip Sz0922
Open Stack China Trip Sz0922
OpenCity Community
 
Track2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacTrack2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacOpenCity Community
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Samuel Dratwa
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Stefane Fermigier
 
Cloud computing bringing the dark side of enterprise apps into the light by...
Cloud computing   bringing the dark side of enterprise apps into the light by...Cloud computing   bringing the dark side of enterprise apps into the light by...
Cloud computing bringing the dark side of enterprise apps into the light by...Khazret Sapenov
 

What's hot (7)

Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
Achieving genuine elastic multitenancy with the Waratek Cloud VM for Java : J...
 
STPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has ArrivedSTPCon fall 2012: The Testing Renaissance Has Arrived
STPCon fall 2012: The Testing Renaissance Has Arrived
 
Open Stack China Trip Sz0922
Open Stack China Trip Sz0922Open Stack China Trip Sz0922
Open Stack China Trip Sz0922
 
Track2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacTrack2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apac
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
 
Cloud computing bringing the dark side of enterprise apps into the light by...
Cloud computing   bringing the dark side of enterprise apps into the light by...Cloud computing   bringing the dark side of enterprise apps into the light by...
Cloud computing bringing the dark side of enterprise apps into the light by...
 

Similar to Floodlight Overview

Floodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated OverviewFloodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated Overview
openflowhub
 
2nd sdn interest group session1 (121218)
2nd sdn interest group   session1 (121218)2nd sdn interest group   session1 (121218)
2nd sdn interest group session1 (121218)
NAIM Networks, Inc.
 
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
David Meyer
 
Software Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectSoftware Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight Project
Great Wide Open
 
OpenFlowHub Webinar - Indigo v2.0 and LOXI
OpenFlowHub Webinar - Indigo v2.0 and LOXIOpenFlowHub Webinar - Indigo v2.0 and LOXI
OpenFlowHub Webinar - Indigo v2.0 and LOXI
openflowhub
 
Eclipse Paho - MQTT and the Internet of Things
Eclipse Paho - MQTT and the Internet of ThingsEclipse Paho - MQTT and the Internet of Things
Eclipse Paho - MQTT and the Internet of Things
Andy Piper
 
Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau
scoopnewsgroup
 
Accelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayAccelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is Today
John Duimovich
 
Cloudware initiative-ow2-conference-nov10
Cloudware initiative-ow2-conference-nov10Cloudware initiative-ow2-conference-nov10
Cloudware initiative-ow2-conference-nov10OW2
 
Why SDN and ON.Lab are hot topics in networking
Why SDN and ON.Lab are hot topics in networkingWhy SDN and ON.Lab are hot topics in networking
Why SDN and ON.Lab are hot topics in networking
ON.Lab
 
Floodlight tutorial - Clemson / Georgia Tech
Floodlight   tutorial - Clemson / Georgia TechFloodlight   tutorial - Clemson / Georgia Tech
Floodlight tutorial - Clemson / Georgia Tech
openflowhub
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015
Ian Skerrett
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Mainframe Project
 
MidoNet Differentiation and Overview
MidoNet Differentiation and OverviewMidoNet Differentiation and Overview
MidoNet Differentiation and Overview
Midokura
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
Mark Hinkle
 
Building managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitBuilding managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummit
matsunota
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
NodejsFoundation
 
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
Open Networking Summits
 
The lessons of Open Source for the Open Cloud
The lessons of Open Source for the Open CloudThe lessons of Open Source for the Open Cloud
The lessons of Open Source for the Open Cloud
Stefano Maffulli
 
Presentation11
Presentation11Presentation11
Presentation11KellyCheah
 

Similar to Floodlight Overview (20)

Floodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated OverviewFloodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated Overview
 
2nd sdn interest group session1 (121218)
2nd sdn interest group   session1 (121218)2nd sdn interest group   session1 (121218)
2nd sdn interest group session1 (121218)
 
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
Introduction to OpenDaylight and Hydrogen, Learnings from the Year, What's Ne...
 
Software Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight ProjectSoftware Defined Networking: The OpenDaylight Project
Software Defined Networking: The OpenDaylight Project
 
OpenFlowHub Webinar - Indigo v2.0 and LOXI
OpenFlowHub Webinar - Indigo v2.0 and LOXIOpenFlowHub Webinar - Indigo v2.0 and LOXI
OpenFlowHub Webinar - Indigo v2.0 and LOXI
 
Eclipse Paho - MQTT and the Internet of Things
Eclipse Paho - MQTT and the Internet of ThingsEclipse Paho - MQTT and the Internet of Things
Eclipse Paho - MQTT and the Internet of Things
 
Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau Delivering Network Innovation with SDN - Tom Nadeau
Delivering Network Innovation with SDN - Tom Nadeau
 
Accelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayAccelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is Today
 
Cloudware initiative-ow2-conference-nov10
Cloudware initiative-ow2-conference-nov10Cloudware initiative-ow2-conference-nov10
Cloudware initiative-ow2-conference-nov10
 
Why SDN and ON.Lab are hot topics in networking
Why SDN and ON.Lab are hot topics in networkingWhy SDN and ON.Lab are hot topics in networking
Why SDN and ON.Lab are hot topics in networking
 
Floodlight tutorial - Clemson / Georgia Tech
Floodlight   tutorial - Clemson / Georgia TechFloodlight   tutorial - Clemson / Georgia Tech
Floodlight tutorial - Clemson / Georgia Tech
 
Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015Defining an Open IoT Stack - Presented at IoT World 2015
Defining an Open IoT Stack - Presented at IoT World 2015
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
MidoNet Differentiation and Overview
MidoNet Differentiation and OverviewMidoNet Differentiation and Overview
MidoNet Differentiation and Overview
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
 
Building managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummitBuilding managedprivatecloud kvh_vancouversummit
Building managedprivatecloud kvh_vancouversummit
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
 
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
SDN/OPENFLOW - THE END OF THE WORLD AS WE KNOW IT?
 
The lessons of Open Source for the Open Cloud
The lessons of Open Source for the Open CloudThe lessons of Open Source for the Open Cloud
The lessons of Open Source for the Open Cloud
 
Presentation11
Presentation11Presentation11
Presentation11
 

Recently uploaded

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 

Recently uploaded (20)

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 

Floodlight Overview

  • 1. Software-Defined Networking and the Floodlight controller Mike Cohen Big Switch Networks Mike.cohen@bigswitch.com Alex Reimers Big Switch Networks Alex.reimers@bigswitch.com
  • 2. Agenda  Overview  Architecture  Applications  Demo ©2012 – Big Switch Networks Inc.
  • 3. Big Switch Networks Overview People @ Big Switch Big Switch Networks is a market leader in Guido Appenzeller Software-Defined Networking and a strong CEO, Big Switch Networks proponent of OpenFlow technology Former Consulting Assistant Professor at Stanford University, led the team that developed OpenFlow 1.0 Open Source Projects include:  Floodlight Rob Sherwood MTS, Big Switch Networks  Indigo Author of FlowVisor and key architect  OFTest of OpenFlow 1.0  More to come… Dan Talayco MTS, Big Switch Networks Former member of the Stanford OpenFlow Team. Led development of Yes, we’re hiring! the Indigo reference implementation  Contact me or careers@bigswitch.com Others include: Isabelle Guis, Omar Baldonado, Howie Xu, Mansour Karam, Nick Bastin, Saurav Das, and many others… ©2012 – Big Switch Networks Inc. 3
  • 4. Floodlight Overview ©2012 – Big Switch Networks Inc.
  • 5. Floodlight Overview An Apache licensed OpenFlow Controller  Developer friendly Apache license  Easy to use, extensible Java development environment  Enterprise grade - Core engine used and supported by Big Switch Networks (running in production today)  Supports a broad range of physical and virtual OpenFlow switches  OF 1.0 compliant today – future OF versions on the way ©2012 – Big Switch Networks Inc. 5
  • 6. Floodlight Users and Contributors Floodlight Adopters: • University research • Networking vendors • Users • Developers / startups ©2012 – Big Switch Networks Inc. 6
  • 7. Floodlight Switch Compatibility A snapshot from Interop ©2012 – Big Switch Networks Inc. 7
  • 8. Floodlight Growth Downloads of Floodlight since January launch 7000 • Over 200 mailing list posts / month 6000 • Run rate of 1200+ downloads / month 5000 4000 3000 Mailing list 2000 posts per month 1000 0 ©2012 – Big Switch Networks Inc. 8
  • 9. Building Floodlight Fast…and easy… Download from Github $ git clone git://github.com/floodlight/floodlight.git $ sudo apt-get install build-essential default-jdk ant python-dev $ cd floodlight; ant $ java –jar target/floodlight.jar Get the VM (including mininet) $ wget http://floodlight.openflowhub.org/files/floodlight-vm.zip (login as “floodlight” user, no password) ©2012 – Big Switch Networks Inc. 9
  • 10. Floodlight Roadmap Recently launched: Roadmap:  OpenFlow 1.x support  Module system  Command line interface  Ubuntu PPA’s  Persistent storage  Quantum / OpenStack  Python / Jython support  Web UI  Firewall, Load balancer apps  Performance improvements  Web UI 2.0  Stable northbound APIs  Better Documentation ©2012 – Big Switch Networks Inc. 10
  • 11. Programming Floodlight ©2012 – Big Switch Networks Inc.
  • 12. Floodlight Architecture Overview FloodlightProvider (IFloodlightProviderService)  Floodlight is a collection of modules TopologyManager (ITopologyManagerService) LinkDiscovery  Some modules (not all) export (ILinkDiscoveryService) services Forwarding DeviceManager  All modules in Java (IDeviceService) StorageSource (IStorageSourceService)  Rich, extensible REST API RestServer (IRestApiService) StaticFlowPusher (IStaticFlowPusherService) VirtualNetworkFilter (IVirtualNetworkFilterService) ©2012 – Big Switch Networks Inc. 12
  • 13. Floodlight Architecture Module descriptions FloodlightProvider  Translates OF messages to Floodlight events (IFloodlightProviderService)  Managing connections to switches via Netty TopologyManager  Computes shortest path using Dijsktra (ITopologyManagerService)  Keeps switch to cluster mappings LinkDiscovery  Maintains state of links in network (ILinkDiscoveryService)  Sends out LLDPs  Installs flow mods for end-to-end routing Forwarding  Handles island routing DeviceManager  Tracks hosts on the network (IDeviceService)  MAC -> switch,port, MAC->IP, IP->MAC StorageSource  DB style storage (queries, etc) (IStorageSourceService)  Modules can access all data and subscribe to changes RestServer  Implements via Restlets (restlet.org) (IRestApiService)  Modules export RestletRoutable StaticFlowPusher  Supports the insertion and removal of static flows (IStaticFlowPusherService)  REST-based API VirtualNetworkFilter  Create layer 2 domain defined by MAC address (IVirtualNetworkFilterService)  Used for OpenStack / Quantum ©2012 – Big Switch Networks Inc. 13
  • 14. Floodlight Programming Model Northbound APIs IFloodlightModule  Java module that runs as part of Floodlight External  Consumes services and events exported by Application other modules  OpenFlow (ie. Packet-in)  Switch add / remove REST IFloodlight-  Device add /remove / move Module  Link discovery Floodlight Controller External Application  Communicates with Floodlight via REST Switch  Quantum / Virtual networks Switch  Normalized network state vSwitch  Static flows Switch ©2012 – Big Switch Networks Inc. 14
  • 15. REST API Reference A moving target…but… Network State Static Flows Virtual Network User Extensions List Hosts Add Flow Create Network … List Links Delete Flow Delete Network List Switches List Flows Add Host GetStats (DPID) RemoveAll Flows Remove Host GetCounters (OFType…) Floodlight Controller Switch Switch Switch vSwitch ©2012 – Big Switch Networks Inc. 15
  • 16. Programming Floodlight (1) Using the REST API  Fine-grained ability to push flows over REST  Access to normalized topology and device state  Extensible access to add new APIs ©2012 – Big Switch Networks Inc. 16
  • 17. Programming Floodlight (2) Creating a module  Handle OpenFlow messages directly (ie. PacketIn)  Expose services to other modules  Add new REST APIs ©2012 – Big Switch Networks Inc. 17
  • 18. Cool Floodlight Applications ©2012 – Big Switch Networks Inc. 1
  • 19. Programmable Patch Panel A Floodlight iPhone application  A simple programmable patch panel built from:  Floodlight  Pronto 3290 switch running Indigo  Uses Static Flow Pusher API to redirect traffic between two ports  Runs remotely on the iPhone!  Available: http://virtualnow.net/2012/05/03/using- an-openflow-switch-as-a-programmable- patch-panel/ ©2012 – Big Switch Networks Inc. 19
  • 20. vArmour: Security for OpenFlow  Founded by security veterans from NetScreen  Security device integrated with Application Application Application the Floodlight controller  Showcased the first SDN-capable Floodlight Controller deep packet inspection working Switch with Floodlight at the Open Switch Networking Summit Switch Switch Contact: http://www.varmour.com/ ©2012 – Big Switch Networks Inc. 20
  • 21. MobiFlow: Floodlight iPad Interface  Built be Saurabh Sabnis, Georgia Tech  Interface to view switches, hosts, netwo rk topology, and statistics  Access to Static Flow Pusher API  Available: Coming soon ©2012 – Big Switch Networks Inc. 21
  • 22. OpenStack and Quantum ©2012 – Big Switch Networks Inc. 2
  • 23. Floodlight OpenStack Integration Virtual Networking Support Components:  RestProxy plugin runs inside Quantum Quantum module in OpenStack RestProxy  VirtualNetworkFilter implements layer 2 Plugin isolation based on MAC Highlights:  Supports physical and virtual switches in VirtualNetwork OpenFlow networks Filter  Caveats: Floodlight Controller  No multicast and broadcast isolation  All DHCP traffic allowed Switch vSwitch Switch vSwitch ©2012 – Big Switch Networks Inc.
  • 24. OpenStack / Floodlight Demo OpenStack-in-a-VM 1. Create two quantum networks Core Processes VirtualNetwork Filter Quantum 2. Launch 2 hosts in one network: [10.5.5.2, 10.5.5.3] RestProxy Floodlight Plugin Controller 3. Launch 1 host in the other [10.6.6.2] OpenStack / Quantum Network 4. Test pings: Open vSwitch 1. 10.5.5.2 -> 10.5.5.3 [OK] 2. 10.6.6.2 -> 10.5.5.2 [NO] Host52 Host53 Each network is in an isolated layer Host62 2 domain enforced by Floodlight’s VirtualNetworkFilter. 10.5.5.0/24 10.6.6.0/24 ©2012 – Big Switch Networks Inc. 24
  • 25. OpenFlowHub and Other Open Source Projects ©2012 – Big Switch Networks Inc.
  • 26. Get Involved with OpenFlowHub Join the community! What it is: Get involved: 1. A community of open source  Submit a project OpenFlow developers  Write a blog post 2. An OpenFlow Blog (available for guest authors)  http://www.openflowhub.org 3. Free hosting, tools, and promotion  Contact: for open source projects mike.cohen@openflowhub.org  Wiki, forums, bug tracking tools, logos, etc. Projects: ©2012 – Big Switch Networks Inc. – Proprietary and Confidential 26
  • 27. OFTest: Validating OpenFlow Switches  A python-based framework and set of tests for OpenFlow switches  Includes over 60 tests exercising various aspects of OpenFlow  Useful for testing new OpenFlow implementations and assessing standards compliance OFTest connects to both the data plane and control plane of the switch to Available: http://oftest.openflowhub.org/ simulate and monitor OpenFlow messages ©2012 – Big Switch Networks Inc. 27
  • 28. LOXI Logical OpenFlow eXtensible Interface Challenge: The OF specification lives in openflow.h openflow.h openflow.h  Tight coupling of wire format and datastructures V1.2 V1.1 Input  New version of OpenFlow 1.x == LOTS of code openflow.h openflow.h change V1.3 V1.0  Few non 1.0 switches and controllers have emerged LOXI Parser Front- Solution: LOXI, an interface that hides OpenFlow wire end format differences  Write once, run across any OF version Code Gen Python Java C  Support for multiple languages Back-end Back-end Back-end  Example: match MPLS tag XX  OF 1.0 – unsupported  OF 1.1 – fixed length match Output LOXI.py LOXI.jar libLOXI.a  OF 1.2+ - OXM-style match Available: Coming soon… ©2012 – Big Switch Networks Inc. 28
  • 29. Indigo An OpenFlow switch reference implementation Version 1:  Designed for hardware switches and released under OpenFlow license in 2009  Support for 1G and 10G Broadcom chips Version 2.0 (coming soon):  Based on LOXI – OF 1.x support for free  Apache 2.0 license  Support for multiple datapaths, both hardware and software  Config abstraction layer for easily integrating UI’s Available (1.0): http://indigo.openflowhub.org ©2012 – Big Switch Networks Inc. 29
  • 30. Interested in Learning More?  Check out the website  http://floodlight.openflowhub.org  Join the mailing list:  http://groups.google.com/a/openflowhub.org/group/floo dlight-dev/topics  Or just email floodlight-dev@openflowhub.org  Get the code:  http://floodlight.openflowhub.org/download ©2012 – Big Switch Networks Inc. 30
  • 31. Thanks! Mike Cohen Mike.cohen@bigswitch.com Big Switch Networks Alex Reimers Alex.reimers@bigswitch.com Big Switch Networks Floodlight mailing list: floodlight-dev@openflowhub.org ©2012 – Big Switch Networks Inc.

Editor's Notes

  1. Our topology, device manager know about host attachment points and make it possible to deal with integrating openflow and non openflow networks.
  2. Our topology, device manager know about host attachment points and make it possible to deal with integrating openflow and non openflow networks.