Project Creation Review: Maple in OpenDaylight Andreas Voellmy, Y. Richard Yang, Xiao Shi, Xin Li, Reinaldo Penno December 18, 2014.

Slides:



Advertisements
Similar presentations
November 2013 Jan Medved, Reinaldo Penno
Advertisements

Proposal: Model-Driven SAL for the OpenDaylight Controller
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 8: Monitoring the Network Connecting Networks.
VeriCon: Towards Verifying Controller Programs in SDNs (PLDI 2014) Thomas Ball, Nikolaj Bjorner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly.
Module 5 - Switches CCNA 3 version 3.0 Cabrillo College.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
OpenDaylight: Service Function Chaining.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
Gap Analysis of Simplified Use of Policy Abstractions (SUPA) Presenter: Jun Bi draft-bi-supa-gap-analysis-02 IETF 92 SUPA BoF Dallas, TX March 23, 2015.
Ch.6 - Switches CCNA 3 version 3.0.
Reasons to study concepts of PL
Exploring OpenDaylight
ALTO in ODL: Creation Review Initial Committers: Wendy Roome, X. Shi, Tony Wang, and Y. Richard Yang Jan. 8, 2015.
Software-Defined Networking
Understanding the Mainline Logical Flow Through a Program (continued)
NOV 20, 2014 Abi Varghese Tiju John Mahesh Govind
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Year 2 - Chapter 6/Cisco 3 - Module 6 ACLs. Objectives  Define and describe the purpose and operation of ACLs  Explain the processes involved in testing.
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
CECS 5460 – Assignment 3 Stacey VanderHeiden Güney.
Composing Software Defined Networks Jennifer Rexford Princeton University With Joshua Reich, Chris Monsanto, Nate Foster, and.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Software-Defined Networks Jennifer Rexford Princeton University.
Formal Modeling of an Openflow Switch using Alloy Natali Ruchansky and Davide Proserpio.
Security Groups Aswin Suryanarayanan and Ravindra Kencheppa.
Chapter 7: Database Systems Succeeding with Technology: Second Edition.
Carnegie Mellon School of Computer Science Copyright © 2001, Carnegie Mellon. All Rights Reserved. JAVELIN Project Briefing 1 AQUAINT Phase I Kickoff December.
Chapter 1 Introduction to Computers and C++ Programming Goals: To introduce the fundamental hardware and software components of a computer system To introduce.
1 Computer Networks Lecture 24 Link Layer; Course Summary 12/05/2013.
Mahindra-British Telecom Ltd. Exploiting Layer 2 By Balwant Rathore.
PRESENTATION ON:- INTER NETWORK Guided by: Presented by:- Prof. Ekta Agrwal Dhananjay Mishra Prafull Jain Vinod Kumawat.
COP4020 Programming Languages Names, Scopes, and Bindings Prof. Xin Yuan.
Device Identification & Driver Management TSC Update January 8, 2015.
Workpackage 3 New security algorithm design ICS-FORTH Ipswich 19 th December 2007.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 7 Spanning Tree Protocol.
Slide 1 Simple, Flexible Programming of Data Movement Paths using Algorithmic Policies PIs: Y. Richard Yang, Robert Bjornson, Andrew Sherman Architect:
December 30, 2015 Richard Chien Marko Lai Jason Yuan
Pyretic Programming.
P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, D. Walker SIGCOMM CCR, 2014 Presented.
The Netnice Module for Firewall Builder Patrick Myers West Virginia University.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Programming Languages COS 597E: Software Defined Networking.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
Forwarding Programming in Protocol- Oblivious Instruction Set Author : Jingzhou Yu, Xiaozhong Wang, Jian Song, Yuanming Zheng, Haoyu Song Conference: 2014.
Azher Mughal / Beraldo Leal Programming OpenFlow Flows for Scientific Profit 1 Azher Mughal / Beraldo Leal SuperComputing 2015.
Addressing Data Compatibility on Programmable Network Platforms Ada Gavrilovska, Karsten Schwan College of Computing Georgia Tech.
Why Fabric? 1 Complicated technology/vendor/device specific provisioning for networks, especially heterogeneous network DC Network – STP, TRILL, SPB, VXLAN,
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
ODL based AI/ML for Networks Prem Sankar Gopannan, Ericsson
Author: Maros Marsalek (Honeycomb PTL)
Atrium Router Project Proposal Subhas Mondal, Manoj Nair, Subhash Singh.
SDN controllers App Network elements has two components: OpenFlow client, forwarding hardware with flow tables. The SDN controller must implement the network.
CS434/534: Topics in Networked (Networking) Systems High-Level Programming for Programmable Networks: A Blackbox Approach Yang (Richard) Yang Computer.
SDN challenges Deployment challenges
Programming SDN Newer proposals Frenetic (ICFP’11) Maple (SIGCOMM’13)
IP/MPLS Backbone Transition to SDN: OpenDaylight Advisory Board
Toward Super High-Level SDN Programming
NOX: Towards an Operating System for Networks
April 28, 2017 SUMIT MAHESHWARI INES UGALDE
Software Defined Networking (SDN)
Magellan: Automatic SDN Pipelining from Algorithmic Policies
ExaO: Software Defined Data Distribution for Exascale Sciences
Enabling Innovation Inside the Network
CS434/534: Topics in Networked (Networking) Systems High-Level Programming for Programmable Networks Yang (Richard) Yang Computer Science Department.
ClosedFlow: OpenFlow-like Control over Proprietary Devices
Maple: Simplifying SDN Programming Using Algorithmic Policies
Programmable Networks
CS434/534: Topics in Network Systems High-Level Programming for Programmable Networks Yang (Richard) Yang Computer Science Department Yale University.
In-network computation
Presentation transcript:

Project Creation Review: Maple in OpenDaylight Andreas Voellmy, Y. Richard Yang, Xiao Shi, Xin Li, Reinaldo Penno December 18, 2014

What’s the Problem: Challenge of Flow Programming Programming directly against flow tables can be painful: – Limited computational capability: e.g., no logic negation – Lost context: why is this rule here? why is a given rule not there? – Limited action set, e.g., no ARP responses – … 2

Maple: Packet Processing Abstraction User defines a packet processing function, f, in a high-level, general purpose language such as Java. The abstraction: f processes every packet entering the network. f can look at packet fields, query control state, compute a route, send packets, etc. 3

Maple Example Route f(Packet p, Env e) { if (p.tcpDstIs(22)) return nullRoute(); else { Location sloc = e.location(p.ethSrc()); Location dloc = e.location(p.ethDst()); Path path = myShortestPath(e.links(), sloc,dloc); return unicast(sloc,dloc,path); } Does not specify anything on flow tables! Specified in a high-level language with a centralized view. 4

From a Maple Program to Switch Flow Table Rules 5

Maple Compiler and Runtime Key design goals – Language independent core: to support multiple programming languages – Simple, efficient data structures to support correct, optimized rule generations 6

Maple Compiler and Runtime 1. Executes f on an arriving packet, observing traces of data accesses. Observing packet data accesses by asking f to access pkt using libraries Route f(Packet p, Env e) { if (p.tcpDstIs(22)) return nullRoute(); else { if (p.ethDst() == 2) return nullRoute(); Location dloc = e.location(p.ethDst()); Location sloc = e.location(p.ethSrc()); Path path = myShortestPath(e.links(), sloc,dloc); return unicast(sloc,dloc,path); } 7

Maple Compiler and Runtime PrioMatchAction 1tcpDst:22 ToControlle r 0ethDst:2discard 0ethDst:4, ethSrc:6port 30 PrioMatchAction 1tcpDst:22 ToControlle r 0ethDst:2discard 0ethDst:4, ethSrc:6port 30 PrioMatchAction 1tcpDst:22 ToControlle r 0ethDst:2discard 0ethDst:4, ethSrc:6port Executes f on an arriving packet, observing traces of data accesses. 2. Combine traces to form a trace tree (TT), a language-independent, partial decision tree representation of f. 3. Optimizing compiler to compile trace tree to flow tables (FTs) 8

Maple in ODL: A New Programming Model (North Bound Interface) for ODL Programmers A new programming model in ODL so that control programs do not need to generate flow tables directly – Programmers provides Java modules about how they want to treat traffic. – Programmer provides a top-level module defining how multiple modules are composed to determine the overall packet processing function – Example: top-level function calls access control module to determine permit or deny; if deny, drop, else call service chaining module to get next service; if found service, route to it; otherwise … 9

Dependency on ODL Components Use the MD-SAL design Use ODL Flow Manager to program flow- capable devices Need access and modification notifications of ODL managed states (e.g., topology, ports) 10

Deliverables (Scope) of Maple in ODL-Lithium Provide Java-based programming abstraction, comparable to Maple today. Tracing runtime and compiler to target flow- capable devices via MD-SAL. Implement sample applications (e.g., SFC, GBP). API documentation and getting started guide. 11

Committers Andreas Voellmy (Project Lead, Cisco) Reinaldo Penno (Cisco) Xiao Shi (Nominated: Project Contact, Yale U) Xin Li (Nominated: Test Lead, Yale U) Y. Richard Yang (Yale U) 12

Thank you Questions? 13