Submit Search
Upload
The Openflow Soft Switch
•
5 likes
•
6,829 views
Krzysztof Rutka
Follow
Presentation from Erlang User Conference in Stockholm, June 2012.
Read less
Read more
Technology
News & Politics
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 22
Download now
Download to read offline
Recommended
OpenFlow Extensions
OpenFlow Extensions
US-Ignite
ONOS Platform Architecture
ONOS Platform Architecture
OpenDaylight
Understanding OpenFlow
Understanding OpenFlow
Saurabh Agarwal
Tech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating System
nvirters
Bgpcep odl summit 2015
Bgpcep odl summit 2015
Giles Heron
Implementing MPLS Services using Openflow
Implementing MPLS Services using Openflow
APNIC
ONOS Falcon planning presentation
ONOS Falcon planning presentation
Bill Snow
Introduction to OpenFlow
Introduction to OpenFlow
Joel W. King
Recommended
OpenFlow Extensions
OpenFlow Extensions
US-Ignite
ONOS Platform Architecture
ONOS Platform Architecture
OpenDaylight
Understanding OpenFlow
Understanding OpenFlow
Saurabh Agarwal
Tech Talk: ONOS- A Distributed SDN Network Operating System
Tech Talk: ONOS- A Distributed SDN Network Operating System
nvirters
Bgpcep odl summit 2015
Bgpcep odl summit 2015
Giles Heron
Implementing MPLS Services using Openflow
Implementing MPLS Services using Openflow
APNIC
ONOS Falcon planning presentation
ONOS Falcon planning presentation
Bill Snow
Introduction to OpenFlow
Introduction to OpenFlow
Joel W. King
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Kentaro Ebisawa
ONOS Open Network Operating System
ONOS Open Network Operating System
ON.Lab
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
Te-Yen Liu
Using OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound plugins
OpenDaylight
XOS in open CORD project
XOS in open CORD project
sangyun han
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ON.LAB
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar
SDN – Hybrid architecture
SDN – Hybrid architecture
Elena Verizhnikova
Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16
Kentaro Ebisawa
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
Stefano Salsano
OpenFlow tutorial
OpenFlow tutorial
openflow
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
sangyun han
Opendaylight SDN Controller
Opendaylight SDN Controller
Sumit Arora
SDN Project PPT
SDN Project PPT
Matthew Chang
Active Networking On A Programmable Networking Platform
Active Networking On A Programmable Networking Platform
Tal Lavian Ph.D.
Yang in OpenDaylight
Yang in OpenDaylight
Gunjan Patel
Sdn command line controller lab
Sdn command line controller lab
Guedda houssem eddin
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
Eueung Mulyana
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecture
Pritesh Ranjan
Network Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudy
Hiroshi Ota
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
sangyun han
Otot
Otot
Adnan Rahman
More Related Content
What's hot
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Kentaro Ebisawa
ONOS Open Network Operating System
ONOS Open Network Operating System
ON.Lab
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
Te-Yen Liu
Using OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound plugins
OpenDaylight
XOS in open CORD project
XOS in open CORD project
sangyun han
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ON.LAB
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar
SDN – Hybrid architecture
SDN – Hybrid architecture
Elena Verizhnikova
Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16
Kentaro Ebisawa
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
Stefano Salsano
OpenFlow tutorial
OpenFlow tutorial
openflow
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
sangyun han
Opendaylight SDN Controller
Opendaylight SDN Controller
Sumit Arora
SDN Project PPT
SDN Project PPT
Matthew Chang
Active Networking On A Programmable Networking Platform
Active Networking On A Programmable Networking Platform
Tal Lavian Ph.D.
Yang in OpenDaylight
Yang in OpenDaylight
Gunjan Patel
Sdn command line controller lab
Sdn command line controller lab
Guedda houssem eddin
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
Eueung Mulyana
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecture
Pritesh Ranjan
Network Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudy
Hiroshi Ota
What's hot
(20)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
ONOS Open Network Operating System
ONOS Open Network Operating System
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
Using OVSDB and OpenFlow southbound plugins
Using OVSDB and OpenFlow southbound plugins
XOS in open CORD project
XOS in open CORD project
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
ONOS: Open Network Operating System. An Open-Source Distributed SDN Operating...
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
SDN – Hybrid architecture
SDN – Hybrid architecture
Open Network OS Overview as of 2015/10/16
Open Network OS Overview as of 2015/10/16
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
OpenFlow tutorial
OpenFlow tutorial
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
ONOS와 Raspberry Pi 기반 가상물리 SDN 실증 환경 구축과 응용 개발
Opendaylight SDN Controller
Opendaylight SDN Controller
SDN Project PPT
SDN Project PPT
Active Networking On A Programmable Networking Platform
Active Networking On A Programmable Networking Platform
Yang in OpenDaylight
Yang in OpenDaylight
Sdn command line controller lab
Sdn command line controller lab
ONOS SDN Controller - Clustering Tests & Experiments
ONOS SDN Controller - Clustering Tests & Experiments
Software Load Balancer for OpenFlow Complaint SDN architecture
Software Load Balancer for OpenFlow Complaint SDN architecture
Network Test Automation 2015-04-23 #npstudy
Network Test Automation 2015-04-23 #npstudy
Viewers also liked
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
sangyun han
Otot
Otot
Adnan Rahman
Evaluation of OpenFlow in RB750GL
Evaluation of OpenFlow in RB750GL
Toshiki Tsuboi
OpenVirtex (OVX) Tutorial
OpenVirtex (OVX) Tutorial
동호 손
OpenFlow in Raspberry Pi
OpenFlow in Raspberry Pi
Toshiki Tsuboi
Chris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networking
Cohesive Networks
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
Jim St. Leger
OpenFlow 1.5.1
OpenFlow 1.5.1
jungbh
Software-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief Introduction
Jason TC HOU (侯宗成)
Sdn ppt
Sdn ppt
Pallavi Chhikara
Viewers also liked
(10)
Implementing SDN Testbed(ONOS & OpenVirteX)
Implementing SDN Testbed(ONOS & OpenVirteX)
Otot
Otot
Evaluation of OpenFlow in RB750GL
Evaluation of OpenFlow in RB750GL
OpenVirtex (OVX) Tutorial
OpenVirtex (OVX) Tutorial
OpenFlow in Raspberry Pi
OpenFlow in Raspberry Pi
Chris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networking
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
DPDK Summit - 08 Sept 2014 - Futurewei - Jun Xu - Revisit the IP Stack in Lin...
OpenFlow 1.5.1
OpenFlow 1.5.1
Software-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief Introduction
Sdn ppt
Sdn ppt
Similar to The Openflow Soft Switch
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PROIDEA
Openflow overview
Openflow overview
openflowhub
Open switches story mohamed hassan v4
Open switches story mohamed hassan v4
Mohamed Hassan
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
Isaku Yamahata
Spirent TestCenter OpenFlow Controller Emulation
Spirent TestCenter OpenFlow Controller Emulation
Malathi Malla
Open flow wp
Open flow wp
youyou166
Erlang及其应用
Erlang及其应用
Feng Yu
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
Jim St. Leger
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
Linaro
Developing SDN apps in Ryu
Developing SDN apps in Ryu
Che Wei Lin
Tools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDN
Umesh Krishnaswamy
ORTE - OCERA Real Time ethernet
ORTE - OCERA Real Time ethernet
Alexandre Chatiron
LCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project Update
Linaro
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
Ccie Light
Sgnog openflow demo-v1.0
Sgnog openflow demo-v1.0
Jason Kalai Arasu
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
Hui Cheng
OpenFlow Tutorial
OpenFlow Tutorial
Ja-seop Kwak
FlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
Holger Winkelmann
OpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A Tutorial
mestery
Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)
Alexander Shalimov
Similar to The Openflow Soft Switch
(20)
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow
Openflow overview
Openflow overview
Open switches story mohamed hassan v4
Open switches story mohamed hassan v4
software defined network, openflow protocol and its controllers
software defined network, openflow protocol and its controllers
Spirent TestCenter OpenFlow Controller Emulation
Spirent TestCenter OpenFlow Controller Emulation
Open flow wp
Open flow wp
Erlang及其应用
Erlang及其应用
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
DPDK Summit - 08 Sept 2014 - NTT - High Performance vSwitch
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
Developing SDN apps in Ryu
Developing SDN apps in Ryu
Tools and Platforms for OpenFlow/SDN
Tools and Platforms for OpenFlow/SDN
ORTE - OCERA Real Time ethernet
ORTE - OCERA Real Time ethernet
LCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project Update
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
Sgnog openflow demo-v1.0
Sgnog openflow demo-v1.0
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
OpenFlow Tutorial
OpenFlow Tutorial
FlowER Erlang Openflow Controller
FlowER Erlang Openflow Controller
OpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A Tutorial
Runos OpenFlow Controller (eng)
Runos OpenFlow Controller (eng)
Recently uploaded
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
SynarionITSolutions
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boston Institute of Analytics
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
Recently uploaded
(20)
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
The Openflow Soft Switch
1.
© 1999-2012 Erlang
Solutions Ltd. Krzysztof Rutka @rptkr The OpenFlow Soft Switch
2.
© 1999-2012 Erlang
Solutions Ltd. 2 http://www.openflow.org/documents/openflow-wp-latest.pdf • Run experimental protocols in the campus networks, • Exploit a common set of flow-table functions that run in many switches and routers, • Provide an open protocol to control different switches and routers in a unified way, • OpenFlow: Enabling Innovation in Campus Networks whitepaper. History of OpenFlow Stanford University
3.
© 1999-2012 Erlang
Solutions Ltd. OpenFlow is the leading standard for Software Defined Networking. What is OpenFlow? 3 Traditional networks OpenFlow/SDN Lots of protocols; STP, RIP, OSPF, BGP... All computation and logic handled by software; OpenFlow Controller Vendor specific interfaces Common API; OpenFlow Protocol Switches for L2 switching; Routers for L3 routing One device; OpenFlow Switch; Flow Forwarding; L2 - L4
4.
© 1999-2012 Erlang
Solutions Ltd. Open Network Foundation 4
5.
© 1999-2012 Erlang
Solutions Ltd. How it works? 5 OpenFlow Switch
6.
© 1999-2012 Erlang
Solutions Ltd. How it works? 6 OpenFlow pipeline • Actions • Instructions
7.
© 1999-2012 Erlang
Solutions Ltd. OpenFlow specifications 7 OpenFlow 1.3 TBA OpenFlow 1.2 December 2011 https://www.opennetworking.org/images/stories/downloads/openflow/openflow-spec-v1.2.pdf OpenFlow 1.1 February 2011 https://www.opennetworking.org/images/stories/downloads/openflow/openflow-spec-v1.1.0.pdf OpenFlow 1.0 December 2009 https://www.opennetworking.org/images/stories/downloads/openflow/openflow-spec-v1.0.0.pdf
8.
© 1999-2012 Erlang
Solutions Ltd. • OpenVSwitch • of12softswitch (TrafficLab) • Hardware switches from HP, NEC... Switches: OpenFlow ecosystem 8 • Floodlight • FlowER • Beacon, Maestro, NOX/POX, Trema... Controllers (Frameworks): • OFTest Others: https://github.com/CPqD/of12softswitch http://openvswitch.org/ http://floodlight.openflowhub.org/ https://github.com/travelping/flower http://oftest.openflowhub.org/ .01 OpenFlow
9.
© 1999-2012 Erlang
Solutions Ltd. LINC - pure OpenFlow soft switch 9 Easily extensible Pure Erlang implementation Forwarding backend API Full-featured Full support for all OpenFlow 1.2 features Reference implementation http://www.infoblox.com
10.
© 1999-2012 Erlang
Solutions Ltd. • Excellent development speed, • Easy to read, modify and extend, • Great for implementing binary protocols like the OpenFlow Protocol, • Behaviours and callbacks as a way to make things modular. Why Erlang? ;) 10
11.
© 1999-2012 Erlang
Solutions Ltd. • Erlang representation of OpenFlow Protocol structures and enumerations, • Encoding/decoding of OpenFlow Protocol messages, • OpenFlow Protocol parser, • Support for older versions of the protocol. OpenFlow Protocol 1.2 Library 11
12.
© 1999-2012 Erlang
Solutions Ltd. -record(ofp_message, { experimental = false :: boolean(), version = 3 :: integer(), xid :: integer(), body :: ofp_message_body() }). -record(ofp_hello, {}). -record(ofp_echo_request, { data = <<>> :: binary() }). -record(ofp_flow_mod, { cookie = <<0:64>> :: binary(), cookie_mask = <<0:64>> :: binary(), table_id = all :: ofp_table_id(), command :: ofp_flow_mod_command(), idle_timeout = 0 :: integer(), ... OpenFlow Protocol 1.2 Library 12
13.
© 1999-2012 Erlang
Solutions Ltd. • Message enumeration, • Flat ofp_match structure, • One field for tcp/udp, • No instructions, • Lots of other small incompatibilities. OpenFlow Protocol 1.2 is not compatible with 1.0. OpenFlow Protocol 1.2 Library 13
14.
© 1999-2012 Erlang
Solutions Ltd. • Erlang behaviour, • Simple encode/1, decode/1 callbacks, • Convert structures from all versions to one common representation, • OpenFlow Protocol 1.2 as a base. OpenFlow Protocol 1.2 Library 14 gen_protocol
15.
© 1999-2012 Erlang
Solutions Ltd. -module(gen_protocol). %% Encode OpenFlow Protocol message %% from Erlang representation to binary. -callback encode(Message :: ofp_message()) -> {ok, Binary :: binary()} | {error, Reason :: any()}. %% Decode OpenFlow Protocol message %% from binary to Erlang representation. -callback decode(Binary :: binary()) -> {ok, Message :: ofp_message()} | {error, Reason :: any()}. OpenFlow Protocol 1.2 Library 15
16.
© 1999-2012 Erlang
Solutions Ltd. Erlang implementation 16 OpenFlow Switch Application Receiver Supervisor Port Supervisor Receiver Port Switch Logic Backend Application Supervisor Supervision tree
17.
© 1999-2012 Erlang
Solutions Ltd. • Communication with the OpenFlow Controllers, • Managing controller roles, • Managing the switch configuration, • Handling simple messages independent of the actual forwarding logic. Common switch logic 17
18.
© 1999-2012 Erlang
Solutions Ltd. • Erlang behaviour, • Separates common switch logic from the actual forwarding engine, • Implements flow tables, group table, packet matching engine, port abstraction, etc. • Callbacks to handle OpenFlow Protocol messages, • Userspace, kernel, hardware... Forwarding backend API 18 gen_switch
19.
© 1999-2012 Erlang
Solutions Ltd. • Implements gen_switch behaviour, • Pure userspace Erlang implementation. Userspace implementation 19 ofs_userspace Ease of use Extensibility Performance >
20.
© 1999-2012 Erlang
Solutions Ltd. • different switch configurations, • different port configurations, • random flows, • random ethernet frames, • OF Protocol messages with random content. Simulate a real-life use cases, by generating: How to test a switch? 20 Quviq’s QuickCheck
21.
© 1999-2012 Erlang
Solutions Ltd. • implemented OF Protocol Library with support for versions 1.2 and 1.0, • implemented OF Logical Switch in pure Erlang: • matching engine for all fields from 1.2, • support for (almost) all instructions, actions, reserved ports, groups, etc. Where we are at the moment: Current status 21 Where we are going: • implemented support for OpenFlow 1.1, • work on different forwarding backends.
22.
© 1999-2012 Erlang
Solutions Ltd. • Read the OpenFlow White Paper, • Look at the OpenFlow Specification, • Get involved. Where to go next? 22 https://www.opennetworking.org/images/stories/downloads/openflow/openflow-spec-v1.2.pdf http://www.openflow.org/documents/openflow-wp-latest.pdf FlowForwarding.org community and LINC will launch around June 11th!
Download now