A SOFT Way for OpenFlow Interoperability Testing Maciej Kuźniar, Peter Perešini, Marco Canini†, Daniele Venzano, Dejan Kostić‡ EPFL †TU Berlin/T-Labs ‡IMDEA.

Slides:



Advertisements
Similar presentations
High-Fidelity Switch Models for SDN Emulation
Advertisements

Openflow App Testing Chao SHI, Stephen Duraski. Motivation Network is still a complex stuff ! o Distributed mechanism o Complex protocol o Large state.
Practical and Incremental Convergence between SDN and Middleboxes 1 Zafar Qazi, Cheng-Chun Tu, Luis Chiang Vyas Sekar Rui Miao Minlan Yu.
Toward Practical Integration of SDN and Middleboxes
Frenetic: A High-Level Language for OpenFlow Networks Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, David Walker.
A SOFT Way for OpenFlow Interoperability Testing Marco Canini TU Berlin / T-Labs [CoNEXT’12]
An Overview of Software-Defined Network Presenter: Xitao Wen.
OpenFlow Costin Raiciu Using slides from Brandon Heller and Nick McKeown.
Software-Defined Networking, OpenFlow, and how SPARC applies it to the telecommunications domain Pontus Sköldström - Wolfgang John – Elisa Bellagamba November.
OpenFlow : Enabling Innovation in Campus Networks SIGCOMM 2008 Nick McKeown, Tom Anderson, et el. Stanford University California, USA Presented.
OpenFlow-Based Server Load Balancing GoneWild
SDN and Openflow.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
An Overview of Software-Defined Network
Data Plane Verification. Background: What are network policies Alice can talk to Bob Skype traffic must go through a VoIP transcoder All traffic must.
Handout # 4: Scaling Controllers in SDN - HyperFlow
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Internet2 Network: Controlling a Slice of the National Network Eric Boyd Senior Director of Strategic Projects.
Introduction to Software Testing
Internet2 Network: Controlling a Slice of the National Network Eric Boyd Senior Director of Strategic Projects.
OpenFlow Switch Limitations. Background: Current Applications Traffic Engineering application (performance) – Fine grained rules and short time scales.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Formal checkings in networks James Hongyi Zeng with Peyman Kazemian, George Varghese, Nick McKeown.
ONF Configuration and Management WG Jürgen Quittek
Balancing Practices: Inspections, Testing, and Others JAXA scenario (formal method) Masa Katahira Japanese Space Agency.
Common Devices Used In Computer Networks
Software Defined-Networking. Network Policies Access control: reachability – Alice can not send packets to Bob Application classification – Place video.
Where is the Debugger for my Software-Defined Network? [ndb]
VeriFlow: Verifying Network-Wide Invariants in Real Time
Jon Turner, John DeHart, Fred Kuhns Computer Science & Engineering Washington University Wide Area OpenFlow Demonstration.
IceCube DAQ Mtg. 10,28-30 IceCube DAQ: “DOM MB to Event Builder”
Testing Workflow In the Unified Process and Agile/Scrum processes.
LOGO 未来移动互联网研究项目 Software Defined Networking 中科大移动云计算系统实验室 孟宁
Fast NetServ Data Path: OpenFlow integration Emanuele Maccherani Visitor PhD Student DIEI - University of Perugia, Italy IRT - Columbia University, USA.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Aaron Gember, Theophilus Benson, Aditya Akella University of Wisconsin-Madison.
Sponsored by the National Science Foundation 1 GEC16, March 21, 2013 Are you ready for the tutorial? 1.Did you do the pre-work? A.Are you able to login.
SDN and Openflow. Motivation Since the invention of the Internet, we find many innovative ways to use the Internet – Google, Facebook, Cloud computing,
HP Hybrid Switches. HP OpenFlow Enabled Switches OF Firmware for Existing Procurve Switches – 5406zl, 5412zl, 3500yl and 6600 – Supports OpenFlow 1.0.
Improving Network Management with Software Defined Network Group 5 : z Xuling Wu z Haipeng Jiang z Sichen Wu z Aparna Sanil.
OpenFlow MPLS and the Open Source Label Switched Router Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Introduction to Mininet, Open vSwitch, and POX
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
SPEAKER: MUHAMMAD REZA ZULMAN DATE: NOVEMBER 17, 2014 OPENFLOW SPECIFICATION.
POSITION PAPER Reactive Logic in Software-Defined Networking: Accounting for the Limitations of the Switches Roberto Bifulco, Maurizio Dusi
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Software Defined Networking and OpenFlow Geddings Barrineau Ryan Izard.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
Programming Assignment 2 Zilong Ye. Traditional router Control plane and data plane embed in a blackbox designed by the vendor high-seed switching fabric.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
P4: Programming Protocol-Independent Packet Processors
SDN challenges Deployment challenges
SDN Network Updates Minimum updates within a single switch
Heitor Moraes, Marcos Vieira, Italo Cunha, Dorgival Guedes
Network Anti-Spoofing with SDN Data plane Authors:Yehuda Afek et al.
April 28, 2017 SUMIT MAHESHWARI INES UGALDE
SDN Overview for UCAR IT meeting 19-March-2014
Applied Software Implementation & Testing
Northbound API Dan Shmidt | January 2017
Indigo Doyoung Lee Dept. of CSE, POSTECH
CS 31006: Computer Networks – The Routers
Software Defined Networking (SDN)
Introduction to Software Testing
SoftRing: Taming the Reactive Model for Software Defined Networks
ClosedFlow: OpenFlow-like Control over Proprietary Devices
CSE 1020:Software Development
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
An Introduction to Software Defined Networking and OpenFlow
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

A SOFT Way for OpenFlow Interoperability Testing Maciej Kuźniar, Peter Perešini, Marco Canini†, Daniele Venzano, Dejan Kostić‡ EPFL †TU Berlin/T-Labs ‡IMDEA Networks 1

Software-Defined Networking (SDN) Third-party control program 2 Controller

Release Interoperability at Deployment Time 3 OpenFlow program OpenFlow messages One OpenFlow API specification… Are OF switches interoperable? Interop is critical for the success of SDN

Switch III 1.Silently drops packets Switch I 1.Responds with an error message Switch II 1.Trims VLAN value to 12 bits 2.Installs the rule Inconsistency - Example 4 FlowMod message 1.Modify VLAN ID to Forward packet Network in 3 different states Which state is assumed by the controller? Where are packets forwarded?

Interop: How Hard Can It Be? 5 OF Switch Inputs Hardware correctness is formally verified Packets OpenFlow messages “Forwarding” interface OpenFlow interface ASIC switch chip OSOS OpenFlow Agent Likely source of OpenFlow interop issues Flow Table Hardware Abstraction Layer This work: Finding differences between OpenFlow Agent implementations

OpenFlow Software Agent 6 Specifications Rapid flux (3 revisions in ~ 1 year) Ambiguities Specifications  Implementation Implementation freedom Vendors may not follow the specs Testing, testing and testing… Switch software is not provably correct 

Interoperability Event 7 Gather various vendors Hook up switches and controllers Create and run test cases See what breaks and fix it Very high manual effort Test cases are not exhaustive It is not a one time thing [ONF Interop WG, March ’12]

Automating Interop Testing 8 Insight: systematically crosscheck OF implementations

The 10,000 foot view 9 OF Agent 1 Test inputs Input-driven execution Observable behaviors Inconsistency! OF Agent 2 Problem I: What inputs should we use?

Symbolic Execution 10 port < 25? yesno Symbolic message port = ∗ Forward port < 25 port == CTRL? yes no Send to CTRL port ≥ 25 ∧ port = CTRL Send ERROR port ≥ 25 ∧ port ≠ CTRL port CTRL ForwardSend to CTRLSend ERROR Problem II: Path explosion

Challenges Manage test inputs and coverage efficiently Capture behaviors Avoid simultaneous access to all code 11

SOFT (Systematic OpenFlow Testing) 12 ? OF Agent 1OF Agent 2 Automated solution to interop testing Systematic code coverage No simultaneous access to all agents

**** C3 C2 C1 Structuring Inputs 13 ******** FLOW MOD LEN1 STAT REQ LEN2 1.0 Further reductions Some messages are independent Many inputs are entirely concrete Small number of messages Concrete values at cost of coverage

Benefit of Concretizing 14 Fully Symbolic 28h

Capturing Behaviors Externally observable outputs OpenFlow reply messages Data plane packets Normalize harmless nondeterminism (e.g., Buffer IDs) Internal state changes affect successive inputs Use concrete probe packets 15

Example 16 Agent 1Agent 2

Finding Inconsistencies 17 Agent 1Agent 2

Is there an input that causes two distinct behaviors? Finding Inconsistencies 18 No false positives Agent 1: Agent 2: port CTRL

Limitations Short sequences of inputs Unable to find problems with a complex state Is an inconsistency harmless? Can it affect the controller? How to test all initial configurations? Agent’s behavior depends on initial config 19

Prototype & Evaluation SOFT prototype built on top of Cloud9/Klee Compared OpenFlow 1.0 Reference Switch (55k LoC) Open VSwitch 1.0.0(80k LoC) Input Sequences containing messages 20

Does SOFT Work? Found 7 classes of inconsistencies: 21 Packets dropped when action is invalid Different ports considered invalid Lack of error messages Different order of message validation Silently ignored statistics request Missing features Switch terminates with an error Mostly related to message validation Result of underspecification No expected behavior in the specification Inconsistent interpretation of the specification

Summary 22 SOFT automates interoperability testing of OpenFlow Agents Also useful for: regression testing specification improvements