SlideShare a Scribd company logo
Ben Mack-Crane
Huawei
1
OpenFlow Extensions
© 2013 Open Networking Foundation
Topics
• Cool Features in OpenFlow 1.4
– Enhancing extensibility
– Packet-in reasons refined
– Configuration change notifications
– Bundles
– Synchronized tables
– Change default TCP port
• Themes under discussion for OpenFlow 1.5
– Tunnel support
– Flow state
– L4-L7 service support
– Error handling
– Fitness for carrier use
© 2013 Open Networking Foundation
OpenFlow versions
• OpenFlow 1.0 – Dec 2009
– First widely implemented/deployed version
– Single table, fixed 12 tupples
• OpenFlow 1.1 – Feb 2011
– Not popular - incompatible with 1.0
– Multi-table, groups, full VLAN and MPLS support
• OpenFlow 1.2 – Dec 2011
– First ONF release – fix 1.1
– More flexibility, get closer to implementations
– Flexible match, flexible rewrite, IPv6, role change
• OpenFlow 1.3 – Apr 2012
– Long term release : 1.3.1, 1.3.2, 1.3.3
– Flexible capabilities, Meters, PBB, event filters
• OpenFlow 1.4 – Aug 2013
– Bundles, optical ports, flow monitoring, eviction
© 2013 Open Networking Foundation
Cool Features in OpenFlow 1.4
ONF Extensibility WG
© 2013 Open Networking Foundation
Enhancing Extensibility
5
Flexibility goals 2011…
• Modularity
– Small core of common functions
– Many independent protocols and
features
• Extensibility
– Higher level description of data
– Extend the data without breaking it
– Third party extensions
• Interoperability
– Capability discovery
– Profiles : predefined set of feature
(convention)
• Consistency
– Same conventions throughout the
specification
Areas improved in
OF1.4…
• Port structures
• Table structures
• Queue structures
• Set-async structures
• Instruction structures
• Actions structures
• Experimenter structures
• Properties errors
© 2013 Open Networking Foundation
Packet-in reasons refined
6
 In OF1.3 different parts of the pipeline use same reason
– OFPR_ACTION
 New reasons (highlighted):
 Detailed reasons help debug pipeline
/* Why is this packet being sent to the controller? */
enum ofp_packet_in_reason {
OFPR_TABLE_MISS = 0, /* No matching flow (table-miss flow entry). */
OFPR_APPLY_ACTION = 1, /* Output to controller in apply-actions. */
OFPR_INVALID_TTL = 2, /* Packet has invalid TTL */
OFPR_ACTION_SET = 3, /* Output to controller in action set. */
OFPR_GROUP = 4, /* Output to controller in group bucket. */
OFPR_PACKET_OUT = 5, /* Output to controller in packet-out. */
};
© 2013 Open Networking Foundation
Configuration change notifications
7
Some switches allow confguration via other interfaces
– CLI, Routing subsystem, MAC Learning, etc.
The controller needs to know!
• Flow tables
– Set flow monitors on the switch
ofp_flow_monitor_request
– Flow monitor update events sent to controller, with
• full details using ofp_flow_update_full or
• abbreviated using ofp_flow_update_abbrev.
– Flow control mechanism to avoid backlog of monitor updates.
• Group / Meter tables
– "group-mod" and "meter-mod" requests encapsulated in a
OFPT_REQUESTFORWARD message sent to other controllers.
© 2013 Open Networking Foundation
Bundles
8
The capability to build a bundle of commands and execute
the bundle as an atomic* (all or none) operation
• Bundle control message
– OFPT_BUNDLE_CONTROL to create, destroy and commit bundles.
• Bundle add message
– OFPT_BUNDLE_ADD_MESSAGE to add a message into a bundle.
• Bundle error message
– OFPET_BUNDLE_FAILED to report bundle operation errors.
*Atomic from the point of view of the Controller,
not atomic with respect to packet processing…
© 2013 Open Networking Foundation
Synchronized tables
9
• Many switches can perform multiple lookups on the
same lookup data.
– For example, a standard Ethernet learning bridge performs learning
lookup and forwarding lookup on the same set of MAC addresses.
– Another example is RPF checks which reuse the IP forwarding data.
• The synchronised tables feature represents this
relationship as two tables whose entries are
synchronised.
• New table feature property OFPTFPT_TABLE_SYNC_FROM
• Defines the synchronisation relationship
• Does not define the transformation
© 2013 Open Networking Foundation
Change default TCP port
10
OOPS! (forgot to request 6633 in time)
• IANA allocated to ONF the TCP port number 6653 to be
used by the OpenFlow-Switch protocol.
• All uses of the previous port numbers, 6633 and 976,
should be discontinued.
• OpenFlow switches and OpenFlow controllers must use
6653 by default (i.e., when not using a user specified
port number).
© 2013 Open Networking Foundation
Themes under discussion for OpenFlow 1.5
ONF Extensibility WG
© 2013 Open Networking Foundation
Tunnel Support
• Tunnels are outside of the OF-Switch protocol
– e.g., configured using OF-Config or some other means
• But Tunnels are flows (or flow endpoints)
• Can we use OF-Switch to configure tunnels?
– Stateful / complex behavior, e.g. fragment/reassemble,
de/encrypt, OAM, fault recovery
– Push / pop new headers, e.g. Ethernet, IP
– Act on nested headers (not just the first in packet)?
• Need for a framework for Tunnel support
– Relationship with Logical Port
– Support a variety of Tunnel types
– Support Tunnel stacking, relax match prerequisite rules
© 2013 Open Networking Foundation
Flow State
The capability to store / access flow metadata that persists
for lifetime of flow (not just current packet)
Potential to enable a variety of new capabilities:
• Fragment handling without reassembly
• Relation between bidirectional flows (e.g., RDI)
• Autonomous flow learning + flow state tracking
– MAC learning
– TCP proxy
• Hierarchies of flows
– e.g. FTP control / data, all belonging to a user, etc.
© 2013 Open Networking Foundation
L4-L7 Service Support
Service Chaining, L4-L7 Processing
• Steering of traffic to local or remote service – Service Chaining
– Classification: selecting Service Chain
– Transport: encapsulation (preserving metadata)
• Mirror vs. divert
• Local service insertion with ability to resume processing
– Model as logical port, packet processor, custom action...
• Potential to control/program L4-L7 processing functions
– Deeper header parsing, more varied/complex actions
– (related to Flow State)
• Question of OF1.x vs. OF2.0
© 2013 Open Networking Foundation
Error handling
SDN robustness and OpenFlow completeness
• If x disappears / enters error condition, what happens to y which
referred to it / was connected to it
– x & y are entities in switch (e.g. flow/port/group entries)
– x is in switch and y is in controller
• Recovery process, e.g. resync after hand over between controllers
• Address error conditions for which behavior is currently unspecified
© 2013 Open Networking Foundation
Fitness for Carrier Use
Some capabilities are missing or too limited to support
carrier SDN
• Support for OAM in its various forms
– Monitoring (fault, performance)
– Diagnostics (including new forms for SDN)
– Fault recovery
• More dataplane technologies / more varied combinations
– Not just Ethernet physical interfaces
– Common layering structures (related to Tunnel Support)
• Hybrid operation
– Clarify and improve interaction between OF and built-in functions
– Migration support

More Related Content

PDF
SDN - OpenFlow protocol
PDF
Introduction to OpenFlow
PDF
Open Flow Tutorial Series - Set 1
PDF
Cisco Openflow
PDF
Understanding OpenFlow
PDF
The Openflow Soft Switch
PPTX
Openflow Protocol
PPTX
Openflow overview
SDN - OpenFlow protocol
Introduction to OpenFlow
Open Flow Tutorial Series - Set 1
Cisco Openflow
Understanding OpenFlow
The Openflow Soft Switch
Openflow Protocol
Openflow overview

What's hot (20)

PPTX
OpenFlow
PDF
Open Network Operating System
PPTX
Software Load Balancer for OpenFlow Complaint SDN architecture
PDF
Onos summit roadmap dec 9
PPTX
Architecture of OpenFlow SDNs
PPTX
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
PPTX
Implementing MPLS Services using Openflow
PDF
SDN – Hybrid architecture
PPTX
2016 NCTU P4 Workshop
PDF
20170925 onos and p4
PPTX
Sgnog openflow demo-v1.0
PPTX
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
PPTX
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
PDF
[Webinar Slides] Programming the Network Dataplane in P4
PPTX
Bgpcep odl summit 2015
PPTX
LISP and NSH in Open vSwitch
PPTX
DEVNET-1175 OpenDaylight Service Function Chaining
PDF
Cef based switching
PDF
Openlab.2014 02-13.major.vi sion
OpenFlow
Open Network Operating System
Software Load Balancer for OpenFlow Complaint SDN architecture
Onos summit roadmap dec 9
Architecture of OpenFlow SDNs
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Implementing MPLS Services using Openflow
SDN – Hybrid architecture
2016 NCTU P4 Workshop
20170925 onos and p4
Sgnog openflow demo-v1.0
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
OSHI - Open Source Hybrid IP/SDN networking @EWSDN14
[Webinar Slides] Programming the Network Dataplane in P4
Bgpcep odl summit 2015
LISP and NSH in Open vSwitch
DEVNET-1175 OpenDaylight Service Function Chaining
Cef based switching
Openlab.2014 02-13.major.vi sion
Ad

Viewers also liked (7)

PDF
Optical Transport Technologies and Trends
PPTX
SDN Summit - Optical SDN: Virtualizing the Transport Network
PPT
Optical Networks Infrastructure
PDF
Summit 16: Vodafone Ocean - Updates and Next Steps
PDF
Implementing SDN Testbed(ONOS & OpenVirteX)
PDF
OpenFlow 1.5.1
PDF
Introduction to Software Defined Networking (SDN)
Optical Transport Technologies and Trends
SDN Summit - Optical SDN: Virtualizing the Transport Network
Optical Networks Infrastructure
Summit 16: Vodafone Ocean - Updates and Next Steps
Implementing SDN Testbed(ONOS & OpenVirteX)
OpenFlow 1.5.1
Introduction to Software Defined Networking (SDN)
Ad

Similar to OpenFlow Extensions (20)

PPTX
lect4_SDNbasic_openflow.pptx
PPT
OpenFlow Tutorial
PPTX
Interoperable OpenFlow with NDMs and TTPs
PPT
OpenFlow tutorial
PPTX
Software defined networks and openflow protocol
PDF
SDN/OpenFlow #lspe
PDF
Openflow for Mobile Broadband service providers_Nov'11
PPTX
Software-Defined Networking (SDN) is a transformative networking paradigm
PDF
7th SDN Expert Group Seminar - Session1
PDF
Open vSwitch Introduction
PDF
OpenFlow — the key standard of Software-Defined Networks
PPTX
High Availability and Load Balancing of SDN Controllers
PPTX
FlowER Erlang Openflow Controller
PDF
Runos OpenFlow Controller (eng)
PPT
Naveen nimmu sdn future of networking
PPT
Naveen nimmu sdn future of networking
PDF
PLNOG 9: Ivan Pepelnjak - OpenFlow and SDN: hype, useful tools or panacea?
PDF
M 14ofl
PPTX
Tools and Platforms for OpenFlow/SDN
PDF
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network
lect4_SDNbasic_openflow.pptx
OpenFlow Tutorial
Interoperable OpenFlow with NDMs and TTPs
OpenFlow tutorial
Software defined networks and openflow protocol
SDN/OpenFlow #lspe
Openflow for Mobile Broadband service providers_Nov'11
Software-Defined Networking (SDN) is a transformative networking paradigm
7th SDN Expert Group Seminar - Session1
Open vSwitch Introduction
OpenFlow — the key standard of Software-Defined Networks
High Availability and Load Balancing of SDN Controllers
FlowER Erlang Openflow Controller
Runos OpenFlow Controller (eng)
Naveen nimmu sdn future of networking
Naveen nimmu sdn future of networking
PLNOG 9: Ivan Pepelnjak - OpenFlow and SDN: hype, useful tools or panacea?
M 14ofl
Tools and Platforms for OpenFlow/SDN
The Challenges of SDN/OpenFlow in an Operational and Large-scale Network

More from US-Ignite (20)

PDF
Smart Gigabit Community Lighting Round
PDF
NSF PI Meeting presentation on US Ignite - Nishal Mohan
PPTX
New Smart Gigabit Community 2017 announcement - Nishal Mohan
PPTX
RFP announcement for new US Ignite Smart Gigabit Cities - Nishal Mohan
PPTX
Holograms in Your City: Smart Training, Data Visualization and Communication ...
PDF
Innovation in Gigcity, Chattanooga TN - Ken Hayes
PDF
Compute for Cancer - Isaiah Blackburn
PPTX
Towards Wireless-Networked Real-Time Augmented Vision - Hongwei Zhang
PPTX
The Future of Smart & Connected Communities: Driving Science and Community Im...
PPTX
Data-Driven Green Design Case Studies - Dominique Davison
PPTX
Innovation in Phoenix: City on the Rise - Dominic Papa
PDF
Preparing an NSF16 610 proposal
PPTX
Next Generation Broadband Cities - Lightning Talks
PDF
Innovation economy remarks to ignite! january 2016
PPTX
The Geni Experiment Engine
PPTX
Harnessing the Power of Data, Technology and Innovation to Unlock Talent
PDF
Kickoff Agenda
PDF
2016/01/26 Glenn Ricart - Smart Gigabit Communities
PPTX
21 - Smart Gigabit Communities Launch - Madison
PPTX
20 - Smart Gigabit Communities Launch - Lafayette, LA
Smart Gigabit Community Lighting Round
NSF PI Meeting presentation on US Ignite - Nishal Mohan
New Smart Gigabit Community 2017 announcement - Nishal Mohan
RFP announcement for new US Ignite Smart Gigabit Cities - Nishal Mohan
Holograms in Your City: Smart Training, Data Visualization and Communication ...
Innovation in Gigcity, Chattanooga TN - Ken Hayes
Compute for Cancer - Isaiah Blackburn
Towards Wireless-Networked Real-Time Augmented Vision - Hongwei Zhang
The Future of Smart & Connected Communities: Driving Science and Community Im...
Data-Driven Green Design Case Studies - Dominique Davison
Innovation in Phoenix: City on the Rise - Dominic Papa
Preparing an NSF16 610 proposal
Next Generation Broadband Cities - Lightning Talks
Innovation economy remarks to ignite! january 2016
The Geni Experiment Engine
Harnessing the Power of Data, Technology and Innovation to Unlock Talent
Kickoff Agenda
2016/01/26 Glenn Ricart - Smart Gigabit Communities
21 - Smart Gigabit Communities Launch - Madison
20 - Smart Gigabit Communities Launch - Lafayette, LA

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Spectroscopy.pptx food analysis technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”
Group 1 Presentation -Planning and Decision Making .pptx
Assigned Numbers - 2025 - Bluetooth® Document
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
1. Introduction to Computer Programming.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
cuic standard and advanced reporting.pdf
Encapsulation theory and applications.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Spectroscopy.pptx food analysis technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Approach and Philosophy of On baking technology
Teaching material agriculture food technology

OpenFlow Extensions

  • 2. © 2013 Open Networking Foundation Topics • Cool Features in OpenFlow 1.4 – Enhancing extensibility – Packet-in reasons refined – Configuration change notifications – Bundles – Synchronized tables – Change default TCP port • Themes under discussion for OpenFlow 1.5 – Tunnel support – Flow state – L4-L7 service support – Error handling – Fitness for carrier use
  • 3. © 2013 Open Networking Foundation OpenFlow versions • OpenFlow 1.0 – Dec 2009 – First widely implemented/deployed version – Single table, fixed 12 tupples • OpenFlow 1.1 – Feb 2011 – Not popular - incompatible with 1.0 – Multi-table, groups, full VLAN and MPLS support • OpenFlow 1.2 – Dec 2011 – First ONF release – fix 1.1 – More flexibility, get closer to implementations – Flexible match, flexible rewrite, IPv6, role change • OpenFlow 1.3 – Apr 2012 – Long term release : 1.3.1, 1.3.2, 1.3.3 – Flexible capabilities, Meters, PBB, event filters • OpenFlow 1.4 – Aug 2013 – Bundles, optical ports, flow monitoring, eviction
  • 4. © 2013 Open Networking Foundation Cool Features in OpenFlow 1.4 ONF Extensibility WG
  • 5. © 2013 Open Networking Foundation Enhancing Extensibility 5 Flexibility goals 2011… • Modularity – Small core of common functions – Many independent protocols and features • Extensibility – Higher level description of data – Extend the data without breaking it – Third party extensions • Interoperability – Capability discovery – Profiles : predefined set of feature (convention) • Consistency – Same conventions throughout the specification Areas improved in OF1.4… • Port structures • Table structures • Queue structures • Set-async structures • Instruction structures • Actions structures • Experimenter structures • Properties errors
  • 6. © 2013 Open Networking Foundation Packet-in reasons refined 6  In OF1.3 different parts of the pipeline use same reason – OFPR_ACTION  New reasons (highlighted):  Detailed reasons help debug pipeline /* Why is this packet being sent to the controller? */ enum ofp_packet_in_reason { OFPR_TABLE_MISS = 0, /* No matching flow (table-miss flow entry). */ OFPR_APPLY_ACTION = 1, /* Output to controller in apply-actions. */ OFPR_INVALID_TTL = 2, /* Packet has invalid TTL */ OFPR_ACTION_SET = 3, /* Output to controller in action set. */ OFPR_GROUP = 4, /* Output to controller in group bucket. */ OFPR_PACKET_OUT = 5, /* Output to controller in packet-out. */ };
  • 7. © 2013 Open Networking Foundation Configuration change notifications 7 Some switches allow confguration via other interfaces – CLI, Routing subsystem, MAC Learning, etc. The controller needs to know! • Flow tables – Set flow monitors on the switch ofp_flow_monitor_request – Flow monitor update events sent to controller, with • full details using ofp_flow_update_full or • abbreviated using ofp_flow_update_abbrev. – Flow control mechanism to avoid backlog of monitor updates. • Group / Meter tables – "group-mod" and "meter-mod" requests encapsulated in a OFPT_REQUESTFORWARD message sent to other controllers.
  • 8. © 2013 Open Networking Foundation Bundles 8 The capability to build a bundle of commands and execute the bundle as an atomic* (all or none) operation • Bundle control message – OFPT_BUNDLE_CONTROL to create, destroy and commit bundles. • Bundle add message – OFPT_BUNDLE_ADD_MESSAGE to add a message into a bundle. • Bundle error message – OFPET_BUNDLE_FAILED to report bundle operation errors. *Atomic from the point of view of the Controller, not atomic with respect to packet processing…
  • 9. © 2013 Open Networking Foundation Synchronized tables 9 • Many switches can perform multiple lookups on the same lookup data. – For example, a standard Ethernet learning bridge performs learning lookup and forwarding lookup on the same set of MAC addresses. – Another example is RPF checks which reuse the IP forwarding data. • The synchronised tables feature represents this relationship as two tables whose entries are synchronised. • New table feature property OFPTFPT_TABLE_SYNC_FROM • Defines the synchronisation relationship • Does not define the transformation
  • 10. © 2013 Open Networking Foundation Change default TCP port 10 OOPS! (forgot to request 6633 in time) • IANA allocated to ONF the TCP port number 6653 to be used by the OpenFlow-Switch protocol. • All uses of the previous port numbers, 6633 and 976, should be discontinued. • OpenFlow switches and OpenFlow controllers must use 6653 by default (i.e., when not using a user specified port number).
  • 11. © 2013 Open Networking Foundation Themes under discussion for OpenFlow 1.5 ONF Extensibility WG
  • 12. © 2013 Open Networking Foundation Tunnel Support • Tunnels are outside of the OF-Switch protocol – e.g., configured using OF-Config or some other means • But Tunnels are flows (or flow endpoints) • Can we use OF-Switch to configure tunnels? – Stateful / complex behavior, e.g. fragment/reassemble, de/encrypt, OAM, fault recovery – Push / pop new headers, e.g. Ethernet, IP – Act on nested headers (not just the first in packet)? • Need for a framework for Tunnel support – Relationship with Logical Port – Support a variety of Tunnel types – Support Tunnel stacking, relax match prerequisite rules
  • 13. © 2013 Open Networking Foundation Flow State The capability to store / access flow metadata that persists for lifetime of flow (not just current packet) Potential to enable a variety of new capabilities: • Fragment handling without reassembly • Relation between bidirectional flows (e.g., RDI) • Autonomous flow learning + flow state tracking – MAC learning – TCP proxy • Hierarchies of flows – e.g. FTP control / data, all belonging to a user, etc.
  • 14. © 2013 Open Networking Foundation L4-L7 Service Support Service Chaining, L4-L7 Processing • Steering of traffic to local or remote service – Service Chaining – Classification: selecting Service Chain – Transport: encapsulation (preserving metadata) • Mirror vs. divert • Local service insertion with ability to resume processing – Model as logical port, packet processor, custom action... • Potential to control/program L4-L7 processing functions – Deeper header parsing, more varied/complex actions – (related to Flow State) • Question of OF1.x vs. OF2.0
  • 15. © 2013 Open Networking Foundation Error handling SDN robustness and OpenFlow completeness • If x disappears / enters error condition, what happens to y which referred to it / was connected to it – x & y are entities in switch (e.g. flow/port/group entries) – x is in switch and y is in controller • Recovery process, e.g. resync after hand over between controllers • Address error conditions for which behavior is currently unspecified
  • 16. © 2013 Open Networking Foundation Fitness for Carrier Use Some capabilities are missing or too limited to support carrier SDN • Support for OAM in its various forms – Monitoring (fault, performance) – Diagnostics (including new forms for SDN) – Fault recovery • More dataplane technologies / more varied combinations – Not just Ethernet physical interfaces – Common layering structures (related to Tunnel Support) • Hybrid operation – Clarify and improve interaction between OF and built-in functions – Migration support