Skip to Main Content
 

Global Search Box

 
 
 
 

ETD Abstract Container

Abstract Header

Steve - A Programming Language for Packet Processing

Nguyen, Hoang Vinh

Abstract Details

2016, Master of Science, University of Akron, Computer Science.
Software-defined networking (SDN) aims to make network switches programmable to enable a class of intelligent networking applications that can automate network flow direction in ways that conventional switches cannot. We present Steve, a protocol-independent, domain-specific language (DSL) for writing these networking applications on SDN devices. Steve provides high-level language features for expressing protocol structure, decoding rules, forwarding decisions, packet manipulation, and event handling for reactive non-distributed control planes. These features define a packet processing pipeline -- the algorithm used to make forwarding decisions. Steve solves two issues in SDN language development: safe packet access and safe pipeline composition. Vulnerabilities in an application running a network switch can be disastrous, therefore the Steve compiler is designed to catch potential errors. Steve uses a type and constraints system which enforces these safety guarantees. To verify our work, we produced a Steve language compiler which implements these safety guarantees. We also present four compilable Steve applications: a MAC and IPv4 learning switch, a stateless firewall, and a wire. These applications are tested with a runtime environment which provides Steve access to switch resources.
Andrew Sutton, Dr. (Advisor)
Kathy Liszka, Dr. (Committee Member)
Michael Collard, Dr. (Committee Member)
187 p.

Recommended Citations

Citations

  • Nguyen, H. V. (2016). Steve - A Programming Language for Packet Processing [Master's thesis, University of Akron]. OhioLINK Electronic Theses and Dissertations Center. http://rave.ohiolink.edu/etdc/view?acc_num=akron1467985307

    APA Style (7th edition)

  • Nguyen, Hoang. Steve - A Programming Language for Packet Processing. 2016. University of Akron, Master's thesis. OhioLINK Electronic Theses and Dissertations Center, http://rave.ohiolink.edu/etdc/view?acc_num=akron1467985307.

    MLA Style (8th edition)

  • Nguyen, Hoang. "Steve - A Programming Language for Packet Processing." Master's thesis, University of Akron, 2016. http://rave.ohiolink.edu/etdc/view?acc_num=akron1467985307

    Chicago Manual of Style (17th edition)