Cornell University
Library
Cornell UniversityLibrary

eCommons

Help
Log In(current)
  1. Home
  2. Cornell Computing and Information Science
  3. Computing and Information Science
  4. Computing and Information Science Technical Reports
  5. Frenetic: A High-Level Language for OpenFlow Networks

Frenetic: A High-Level Language for OpenFlow Networks

File(s)
frenetic-tr.pdf (282.53 KB)
Permanent Link(s)
https://hdl.handle.net/1813/19310
Collections
Computing and Information Science Technical Reports
Author
Foster, Nate
Harrison, Rob
Freedman, Michael J.
Rexford, Jennifer
Walker, David
Abstract

Network administrators must configure network devices to simultaneously provide several interrelated services such as routing, load balancing, traffic monitoring, and access control. Unfortunately, most interfaces for programming networks are defined at the low level of abstraction supported by the underlying hardware, leading to complicated programs with subtle bugs. We present Frenetic, a high-level language for OpenFlow networks that enables writing programs in a declarative and compositional style, with a simple "program like you see every packet" abstraction. Building on ideas from functional programming, Frenetic offers a rich pattern algebra for classifying packets into traffic streams and a suite of operators for transforming streams. The run-time system efficiently manages the low-level details of (un)installing packet-processing rules in the switches. We describe the design of Frenetic, an implementation on top of OpenFlow, and experiments and example programs that validate our design choices.

Sponsorship
Office of Naval Research grant N00014-09-1-0770 "Networks Opposing Botnets"
Date Issued
2010-12-02
Keywords
Functional Reactive Programming
•
OpenFlow
•
Declarative Languages
•
Network Programming Languages
Type
technical report

Site Statistics | Help

About eCommons | Policies | Terms of use | Contact Us

copyright © 2002-2026 Cornell University Library | Privacy | Web Accessibility Assistance