Wiki

Clone wiki

switch-benchmark / Home

This switch benchmark measures OpenFlow switch performance. It was used to detect various issues in real devices, reported in: "What you need to know about SDN flow tables", M. Kuźniar, P. Perešíni, D. Kostić, PAM 2015

Installation Instructions

1. Prerequisites

#!bash

sudo apt-get install autoconf automake libtool linux-libc-dev libc6-dev clang libboost-all-dev tcpreplay
#!bash

mkdir benchmark
cd benchmark

2. Clone Benchmark

#!bash

git clone https://bitbucket.org/bitnsg/switch-benchmark.git

3. Install ROFL version 0.4.1

#!bash

git clone https://github.com/bisdn/rofl-common.git
cd rofl-common
git checkout 1f1c97f
git apply ../switch-benchmark/rofl_patch.patch

FOLLOW README:

If necessary change configure.ac:

#!bash

-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
+AM_INIT_AUTOMAKE([-Wall foreign])

Install:

#!bash
./autogen.sh
cd build
../configure
make
sudo make install
sudo ldconfig
cd ../../

4. Install Benchmark

The benchmark supports OpenFlow versions 1.0 and 1.3. Changing the current OpenFlow version requires recompilation.

First set the desired version in switch-benchmark/of_version.h.

Choose either

#!bash
namespace ofproto = rofl::openflow10;

or

#!bash
namespace ofproto = rofl::openflow13;

Now compile the benchmark:

#!bash
cd switch-benchmark
make -j
cd ..

5. Install PyPacker

#!bash

git clone https://github.com/mike01/pypacker.git
cd pypacker
sudo python3 setup.py install
cd ..

6. Run the Benchmark

How to Run the Benchmark

Updated