LinTTP: A Linter and Validator for your TTP

After my last post on extracting useful information from the Broadcom TTP file, I thought it would be interesting to write a validator and linter for TTPs. As far as I can tell, there are no public TTP validators based on ONF’s OpenFlow Table Type Patterns...

Utility Functions: Changing Port Configuration

When writing Ryu applications, you can often find yourself repeatedly looking up multiple reference guides to find appropriate bitmasks and flag names even when doing something as simple as configuring a port. Following up on my previous Quick Tip, here we have a...

Subscribing to Port Events

When writing controller applications, it is often useful to determine when a port status changes. For example, when a port’s physical link is removed, flows and internal tables may need to be modified as part of a network layout learning algorithm. Thankfully,...

Ryu Quickstart with Simple Switch for OF-DPA

One of the largest hurdles with getting started with OF-DPA is finding everything you need just to get an example OF-DPA pipeline application running. Once an example is working, it becomes much easier to experiment. This tutorial will cover setting up your Ryu...

Ryu REST API – Your First Tool for Learning OF-DPA

The OF-DPA pipeline is a complex OpenFlow environment. The first tool you should use to develop an understanding of OF-DPA is the Ryu REST API.  This will provide you a way to probe the status of a switch and modify the switch’s behavior from a web browser. The...

Using Postman to Probe Ryu REST API

Postman is a tool that we use extensively to access the Ryu REST API (ryu.app.ofctl_rest). It has been an indispensable component of our development tool chain. Postman, a Chrome-based application (either as a Chrome App or a standalone application),  is a web browser...