C implementation of Multi-Index Hybrid Trie (MIHT) for efficient forwarding of IPv4 datagrams.
This project has some dependencies configured as git submodules. In order to download these dependencies, you can clone this repository recursively:
git clone --recursive [email protected]:alexandrelucchesi/bloomfwd.git
Alternatively, after cloning this repository, you may run:
git submodule update --init --recursive
Then, run:
$ mkdir build
$ cd build
$ cmake ..
$ make
This will generate a Debug build by default, with all the optimization
flags on. In order to generate a Release build, run cmake -DCMAKE_BUILD_TYPE=Debug ..
instead. The compilation process can be followed in
detail by running make VERBOSE=1
. The binaries will be put in the bin/
directory under the project root.
When building for MIC architecture, it is necessary to add some compiler flags
to set the compiler and the target. The easiest way is to set the following
environment variables (using export
or setenv
depending on your shell),
before running cmake
(explained previously):
export CC=icc
export CFLAGS="-mmic -qopt-report[=n] -qopt-report-phase[=list]"
The first option is mandatory whilst the last two are optional (used for
generating compiler optimization reports). This only needs be done once, as the
settings are cached by CMake (can be edited with make edit_cache
).