Skip to content

OpenFlow 1.3 for OpenWRT

Jensen Zhang edited this page Dec 26, 2017 · 5 revisions

Following the steps of Pantou, which turns OpenWrt router into OpenFlow switches, we developed a version using our OpenFlow 1.3 software switch, enabling to test the most recent version of the protocol on a real device, for a low cost.

We build images for the TP-LINK TL-WR1043ND. If you have interest on build for other devices and want to share it, please contact us, so we could keep an images repository.

Pre-compiled image

If you do not want to build the code you can download pre-compiled images from

Build instructions

If you want to build from sources, follow the instructions below. (It will be very similar to the Pantou page).

Note: In the following steps we assume your working directory is ~/openwrt.

Install dependencies.

apt-get install build-essential binutils flex bison autoconf gettext texinfo sharutils \
            subversion libncurses5-dev ncurses-term zlib1g-dev gawk

Download and prepare the packages.

cd ~/openwrt
svn co svn://svn.openwrt.org/openwrt/branches/backfire
cd backfire
./scripts/feeds update -a
./scripts/feeds install -a

Select the packages and build system

make menuconfig

Check for packages dependencies and build

make prereq
make   

Add OpenFlow

git clone https://github.com/CPqD/openflow-openwrt.git
cd ~/openwrt/backfire/packages/
ln -s ~/openwrt/openflow-openwrt/openflow-1.3/
cd ~/ofwrt/backfire/
ln -s ~/openwrt/openflow-openwrt/openflow-1.3/files
cd ~/ofwrt/
make menuconfig

Select the OpenFlow package under Network and build the image.

make kernel_menuconfig
make