SlideShare uma empresa Scribd logo
1 de 9
Floodlight: A Java-based OpenFlow
Controller

            Michael Cohen
               11/11/11
Floodlight Overview



   Floodlight is a completely open, free, Apache-
   licensed Java-based OpenFlow controller.




The Floodlight projected emerged from
Beacon, a project created by David Erickson of
Stanford.
Why Floodlight?
• Java-based (forked from Beacon)

• Apache Licensed
   – A solid foundation for *any* purpose

• Pure java (no OSGI know how required)
   – Eclipse supported but not required

• Dead simple to build and run.
   – “ant” + “java –jar floodlight.jar”

• Tested and hardened in real environments
   – Physical OpenFlow switches and real networks
   – Code included in a commercial product from Big Switch Networks
Floodlight Programming Model
                                 Application
                                                  • Java Event
                                                    Listeners for
 Application    Application
                                                    OpenFlow
                              REST APIs
                              • switch stats        events
    PACKET_IN                 • counter values
    PACKET_OUT                • static flow add
    FLOW_MOD                    /remove
    FLOW_REMOVED
    …
                                                  • Extensible
    SwitchListener
                                                    REST APIs

               Floodlight
               Controller
Floodlight Architecture                                                                     REST APIs


Topology - Tracks links between hosts and
switches                                                           Java Listeners
Device Manager - Tracks devices in the network         Learning                        Static
(MACs, IPs, etc.)                                                       Hub
                                                        Switch                      FlowPusher
Storage - Abstraction layer for storing controller
storage. Memory is used today

Counter Store – Openflow + Floodlight stats

Routing / Forwarding – Core engine for                   Counter       Routing /
                                                                                         Web
storing, calculating paths and installing flows.          Store        Forward

Web - Rest APIs
                                                                         Device
Learning Switch - Example learning switch               Topology                       Storage
                                                                        Manager
application. Can replace Routing / Forwarding

Hub - Example hub application. Can replace           Floodlight
routing / forwarding
Example: A Simple Hub (pseudo-code)
public class Hub {

      public void startup() {
            Add Listener(PACKET_IN);
      }

      public void shutdown() {
            Remove Listener(PACKET_IN);
      }

      public Command receive (…) [
            Setup OFPP_FLOOD action;
            Write action to switch socket;
            return Command.CONTINUE;
      }

      public boolean isCallbackOrdering Preqreq(…) {
            // does anything need to be called before me?
            return False;
      }
}
Building and Running Floodlight
• Build
   – $ cd openflowj; ant;
   – $ cd ../floodlight; ant;


• Run
   – java –jar floodlight.jar



• That’s all there is to it…
Floodlight Roadmap
• Persistent storage

• Multi language support

• Static Flow Addition / Removal

• Richer API layer (both REST and Java event-
  based)
Interested in Learning More?
• Check out the website:
   – http://floodlight.openflowhub.org


• Join the mailing list:
   – http://groups.google.com/a/openflowhub.org/group/f
     loodlight-dev/topics
   – Or just email floodlight-dev@openflowhub.org

• Get the code:
   – http://floodlight.openflowhub.org/display/Floodlight/
     Floodlight+Downloads

Mais conteúdo relacionado

Mais procurados

OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Diverajdeep
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & EcosystemKingston Smiler
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
OpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGOpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGTail-f Systems
 
IBTA Releases Updated Specification for RoCEv2
IBTA Releases Updated Specification for RoCEv2IBTA Releases Updated Specification for RoCEv2
IBTA Releases Updated Specification for RoCEv2inside-BigData.com
 
Waris l2vpn-tutorial
Waris l2vpn-tutorialWaris l2vpn-tutorial
Waris l2vpn-tutorialrakiva29
 
20170925 onos and p4
20170925 onos and p420170925 onos and p4
20170925 onos and p4Yi Tseng
 
CCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingCCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingVuz Dở Hơi
 
What is LoRaWaN
What is LoRaWaNWhat is LoRaWaN
What is LoRaWaNTom Zamir
 
GRE (generic routing encapsulation)
GRE (generic routing encapsulation)GRE (generic routing encapsulation)
GRE (generic routing encapsulation)Netwax Lab
 
Wireshark - Basics
Wireshark - BasicsWireshark - Basics
Wireshark - BasicsYoram Orzach
 
CCNAv5 - S2: Chapter4 Routing Concepts
CCNAv5 - S2: Chapter4 Routing ConceptsCCNAv5 - S2: Chapter4 Routing Concepts
CCNAv5 - S2: Chapter4 Routing ConceptsVuz Dở Hơi
 
Network Security - Fortinet, Dublin June 2017
Network Security - Fortinet, Dublin June 2017Network Security - Fortinet, Dublin June 2017
Network Security - Fortinet, Dublin June 2017Novosco
 

Mais procurados (20)

OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
Ospf.ppt
Ospf.pptOspf.ppt
Ospf.ppt
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
OpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGOpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANG
 
IBTA Releases Updated Specification for RoCEv2
IBTA Releases Updated Specification for RoCEv2IBTA Releases Updated Specification for RoCEv2
IBTA Releases Updated Specification for RoCEv2
 
Waris l2vpn-tutorial
Waris l2vpn-tutorialWaris l2vpn-tutorial
Waris l2vpn-tutorial
 
GTP Overview
GTP OverviewGTP Overview
GTP Overview
 
Vlan
Vlan Vlan
Vlan
 
20170925 onos and p4
20170925 onos and p420170925 onos and p4
20170925 onos and p4
 
SD WAN
SD WANSD WAN
SD WAN
 
VLAN
VLANVLAN
VLAN
 
Private VLANs
Private VLANsPrivate VLANs
Private VLANs
 
Automating Network Infrastructure : Ansible
Automating Network Infrastructure : AnsibleAutomating Network Infrastructure : Ansible
Automating Network Infrastructure : Ansible
 
CCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingCCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan Routing
 
What is LoRaWaN
What is LoRaWaNWhat is LoRaWaN
What is LoRaWaN
 
GRE (generic routing encapsulation)
GRE (generic routing encapsulation)GRE (generic routing encapsulation)
GRE (generic routing encapsulation)
 
Wireshark - Basics
Wireshark - BasicsWireshark - Basics
Wireshark - Basics
 
CCNAv5 - S2: Chapter4 Routing Concepts
CCNAv5 - S2: Chapter4 Routing ConceptsCCNAv5 - S2: Chapter4 Routing Concepts
CCNAv5 - S2: Chapter4 Routing Concepts
 
Network Security - Fortinet, Dublin June 2017
Network Security - Fortinet, Dublin June 2017Network Security - Fortinet, Dublin June 2017
Network Security - Fortinet, Dublin June 2017
 

Destaque

Floodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated OverviewFloodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated Overviewopenflowhub
 
Floodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huangFloodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huangPatrick Huang
 
OpenFlow Controllers and Tools
OpenFlow Controllers and ToolsOpenFlow Controllers and Tools
OpenFlow Controllers and Toolsrjain51
 
Floodlight tutorial - Clemson / Georgia Tech
Floodlight   tutorial - Clemson / Georgia TechFloodlight   tutorial - Clemson / Georgia Tech
Floodlight tutorial - Clemson / Georgia Techopenflowhub
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDNVenkata Naga Ravi
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)rjain51
 

Destaque (7)

Floodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated OverviewFloodlight OpenFlow Contoller - Updated Overview
Floodlight OpenFlow Contoller - Updated Overview
 
Floodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huangFloodlight overview & performance comparison by patrick huang
Floodlight overview & performance comparison by patrick huang
 
OpenFlow Controllers and Tools
OpenFlow Controllers and ToolsOpenFlow Controllers and Tools
OpenFlow Controllers and Tools
 
Floodlight tutorial - Clemson / Georgia Tech
Floodlight   tutorial - Clemson / Georgia TechFloodlight   tutorial - Clemson / Georgia Tech
Floodlight tutorial - Clemson / Georgia Tech
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDN
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Sdn ppt
Sdn pptSdn ppt
Sdn ppt
 

Semelhante a Floodlight: An Open-Source Java-Based OpenFlow Controller

eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introductionvstorm83
 
XSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata TutorialXSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata Tutorialmarpierc
 
Java Library for High Speed Streaming Data
Java Library for High Speed Streaming Data Java Library for High Speed Streaming Data
Java Library for High Speed Streaming Data Oracle Developers
 
ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?Dominik Renzel
 
Introduction of OpenStack cascading solution
Introduction of OpenStack cascading solutionIntroduction of OpenStack cascading solution
Introduction of OpenStack cascading solutionJoe Huang
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionCcie Light
 
Java dev mar_2021_keynote
Java dev mar_2021_keynoteJava dev mar_2021_keynote
Java dev mar_2021_keynoteSuyash Joshi
 
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllersIsaku Yamahata
 
Manila, an update from Liberty, OpenStack Summit - Tokyo
Manila, an update from Liberty, OpenStack Summit - TokyoManila, an update from Liberty, OpenStack Summit - Tokyo
Manila, an update from Liberty, OpenStack Summit - TokyoSean Cohen
 
Hello OpenStack, Meet Hadoop
Hello OpenStack, Meet HadoopHello OpenStack, Meet Hadoop
Hello OpenStack, Meet HadoopDataWorks Summit
 
Openwhisk - Colorado Meetups
Openwhisk - Colorado MeetupsOpenwhisk - Colorado Meetups
Openwhisk - Colorado MeetupsUpkar Lidder
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckEdward Burns
 
A look at Apache OODT Balance framework
A look at Apache OODT Balance frameworkA look at Apache OODT Balance framework
A look at Apache OODT Balance frameworkskhudiky
 
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...Provectus
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewKris Rice
 
LarKC Tutorial at ISWC 2009 - Introduction
LarKC Tutorial at ISWC 2009 - IntroductionLarKC Tutorial at ISWC 2009 - Introduction
LarKC Tutorial at ISWC 2009 - IntroductionLarKC
 
An overview of OpenStack for the VMware community
An overview of OpenStack for the VMware communityAn overview of OpenStack for the VMware community
An overview of OpenStack for the VMware communityAnthony Chow
 
Music city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lakeMusic city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lakeTimothy Spann
 

Semelhante a Floodlight: An Open-Source Java-Based OpenFlow Controller (20)

eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
 
XSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata TutorialXSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata Tutorial
 
Java Library for High Speed Streaming Data
Java Library for High Speed Streaming Data Java Library for High Speed Streaming Data
Java Library for High Speed Streaming Data
 
ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?ROLE Technologies – A possible contribution to Apache Rave?
ROLE Technologies – A possible contribution to Apache Rave?
 
Introduction of OpenStack cascading solution
Introduction of OpenStack cascading solutionIntroduction of OpenStack cascading solution
Introduction of OpenStack cascading solution
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
 
Java dev mar_2021_keynote
Java dev mar_2021_keynoteJava dev mar_2021_keynote
Java dev mar_2021_keynote
 
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllerssoftware defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
 
Manila, an update from Liberty, OpenStack Summit - Tokyo
Manila, an update from Liberty, OpenStack Summit - TokyoManila, an update from Liberty, OpenStack Summit - Tokyo
Manila, an update from Liberty, OpenStack Summit - Tokyo
 
Hello OpenStack, Meet Hadoop
Hello OpenStack, Meet HadoopHello OpenStack, Meet Hadoop
Hello OpenStack, Meet Hadoop
 
TAO DAYS - API (IT Session)
TAO DAYS - API (IT Session)TAO DAYS - API (IT Session)
TAO DAYS - API (IT Session)
 
Openwhisk - Colorado Meetups
Openwhisk - Colorado MeetupsOpenwhisk - Colorado Meetups
Openwhisk - Colorado Meetups
 
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
 
A look at Apache OODT Balance framework
A look at Apache OODT Balance frameworkA look at Apache OODT Balance framework
A look at Apache OODT Balance framework
 
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
 
Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
 
LarKC Tutorial at ISWC 2009 - Introduction
LarKC Tutorial at ISWC 2009 - IntroductionLarKC Tutorial at ISWC 2009 - Introduction
LarKC Tutorial at ISWC 2009 - Introduction
 
An overview of OpenStack for the VMware community
An overview of OpenStack for the VMware communityAn overview of OpenStack for the VMware community
An overview of OpenStack for the VMware community
 
OpenStack Murano
OpenStack MuranoOpenStack Murano
OpenStack Murano
 
Music city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lakeMusic city data Hail Hydrate! from stream to lake
Music city data Hail Hydrate! from stream to lake
 

Último

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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!
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Floodlight: An Open-Source Java-Based OpenFlow Controller

  • 1. Floodlight: A Java-based OpenFlow Controller Michael Cohen 11/11/11
  • 2. Floodlight Overview Floodlight is a completely open, free, Apache- licensed Java-based OpenFlow controller. The Floodlight projected emerged from Beacon, a project created by David Erickson of Stanford.
  • 3. Why Floodlight? • Java-based (forked from Beacon) • Apache Licensed – A solid foundation for *any* purpose • Pure java (no OSGI know how required) – Eclipse supported but not required • Dead simple to build and run. – “ant” + “java –jar floodlight.jar” • Tested and hardened in real environments – Physical OpenFlow switches and real networks – Code included in a commercial product from Big Switch Networks
  • 4. Floodlight Programming Model Application • Java Event Listeners for Application Application OpenFlow REST APIs • switch stats events PACKET_IN • counter values PACKET_OUT • static flow add FLOW_MOD /remove FLOW_REMOVED … • Extensible SwitchListener REST APIs Floodlight Controller
  • 5. Floodlight Architecture REST APIs Topology - Tracks links between hosts and switches Java Listeners Device Manager - Tracks devices in the network Learning Static (MACs, IPs, etc.) Hub Switch FlowPusher Storage - Abstraction layer for storing controller storage. Memory is used today Counter Store – Openflow + Floodlight stats Routing / Forwarding – Core engine for Counter Routing / Web storing, calculating paths and installing flows. Store Forward Web - Rest APIs Device Learning Switch - Example learning switch Topology Storage Manager application. Can replace Routing / Forwarding Hub - Example hub application. Can replace Floodlight routing / forwarding
  • 6. Example: A Simple Hub (pseudo-code) public class Hub { public void startup() { Add Listener(PACKET_IN); } public void shutdown() { Remove Listener(PACKET_IN); } public Command receive (…) [ Setup OFPP_FLOOD action; Write action to switch socket; return Command.CONTINUE; } public boolean isCallbackOrdering Preqreq(…) { // does anything need to be called before me? return False; } }
  • 7. Building and Running Floodlight • Build – $ cd openflowj; ant; – $ cd ../floodlight; ant; • Run – java –jar floodlight.jar • That’s all there is to it…
  • 8. Floodlight Roadmap • Persistent storage • Multi language support • Static Flow Addition / Removal • Richer API layer (both REST and Java event- based)
  • 9. Interested in Learning More? • Check out the website: – http://floodlight.openflowhub.org • Join the mailing list: – http://groups.google.com/a/openflowhub.org/group/f loodlight-dev/topics – Or just email floodlight-dev@openflowhub.org • Get the code: – http://floodlight.openflowhub.org/display/Floodlight/ Floodlight+Downloads