/libEveryPacketClassifier

Library of packet classifiers for benchmark purposes

Primary LanguageC++MIT LicenseMIT

libEveryPacketClassifier

This library was originaly made as an extension of code provideded for:

ICNP 2016: A Sorted Partitioning Approach to High-speed and Fast-update OpenFlow Classification

Now it contains a collection of packet classification algorithms from various authors embeded in likwid based benchmarking environmet. This environment is designed to pinout exact part of CPU/machine which is bottleneck for specified algorithm. It also provides necessary tests to verify the functionality of algorithms.

Build

sudo apt install python3 python3-pip ninja-build build-essentials
sudo pip3 install meson
mkdir build/default; cd build/default
meson ../..
# optionally meson configure -Ddebug=false
ninja

Usage

sudo python3 -m tests.benchmark
# or
cd build ninja tests

Useful links

https://github.com/LucaCanali/Miscellaneous/blob/master/Spark_Notes/Tools_Linux_Memory_Perf_Measure.md https://github.com/RRZE-HPC/likwid/wiki/likwid-perfctr#prerequisites https://stackoverflow.com/questions/18661976/reading-dev-cpu-msr-from-userspace-operation-not-permitted