SDWN Data Plane for IEEE 802.11

NOTE software can easily be installed on any Wi-Fi router that runs OpenWrt. Please see for step-by-step instructions.

Integration Guide

Here we outline the steps involved in integrating software in your product. By following these steps you should be able to put together a proof of concept integration on most platforms in just a few days. If you prefer to learn by example check out the reference integration for CarrierWrt, in the form of a pull request on GitHub.

Step 1. Choose your type of product software can be integrated in many different types of networking equipment. Choose the type most appropriate for your product.

Consumer Router

Residential Gateway

Access Point

Network Appliance

Step 2. Create a branch in your firmware build system

Before you integrate software you typically want to create a feature branch or similar in your firmware build system.

For the reference integration we simply created a fork of the CarrierWrt repository on GitHub.

Step 3. Download and install the software in your firmware image

The first thing you need to do is add a step to your firmware build process that downloads and installs software. software comes pre-built for a number of hardware platforms and software environments and can be downloaded from a URL composed from the GNU target name.

In the reference integration the software is downloaded by the OpenWrt build system according to the instructions in the anyfi package Makefile.

Step 4. Integrate the software towards your Wi-Fi subsystem software consists of two user space daemons; the radio daemon anyfid and the tunnel termination daemon myfid. They must be started and stopped at the right time. The file from the reference integration provides an excellent example of how to do this in an OpenWrt environment.

The radio daemon anyfid needs a low level interface to the Wi-Fi driver. Linux 3.12+ (or compat-wireless 2013-11-05+) provides this interface out of the box. Anyfi Networks can provide improved Wi-Fi drivers for chipsets from Broadcom, Qualcomm Atheros, Ralink and Realtek. Contact for more information.

For a complete example of how to integrate the software in an OpenWrt environment please see commit 17d2028: Integration of software from the reference integration.

Step 5. Extend your Wi-Fi configuration interface

Since Wi-Fi routers tend to have relatively complex configuration interfaces geared towards enthusiasts we recommend adding support for setting the 'controller', 'floor' and 'ceiling', as well as individual checkboxes for the SDWN radio and tunnel termination functionality.


Step 6. Test your integration software includes a file called TESTING that contains some simple manual integration tests that you can run through to make sure everything works correctly. It shouldn't take more than an hour or two.

Step 7. Merge back to your mainline

When integration tests are all green you can merge the integration back to mainline.

For the CarrierWrt reference integration we simply created a GitHub pull request containing integrations for all product types and merged the changes in commit e3e3a4e7.

Tests need to be rerun when you have updated the Wi-Fi driver, made more extensive changes to the the Wi-Fi subsystem or when you update the software itself. These should all be relatively rare events.