<commit_before># New Version to be released soon

A new version of basebox(d) will be released on July 1st, 2016 including
support for Broadcom's OFDPA 2.0.

If you are looking for older versions of basebox(d) for controlling 
ovs and xdpd, you find those in the swx branch on github [2].

[1] https://github.com/Broadcom-Switch/of-dpa/

[2] https://github.com/bisdn/basebox/tree/swx


# What it is

baseboxd is a tiny OpenFlow controller for mapping legacy protocol
stacks on an OpenFlow datapath element. It is merely a fun project
and a playground for testing architectures and strategies for 
emulating legacy protocol stacks on OpenFlow.

In its most basic form it turns an OpenFlow pipeline into a basic
routing switch with Layer 2 and Layer 3 forwarding capabilities.
baseboxd aims towards easy extensibility for adding new protocols
like GTP, GRE, and so on that typically require basic Ethernet and 
or IP support.

## Version

There is no stable release yet. Current development version is
v0.6.0dev and v0.6 is supposed to be the first useful release
of baseboxd.

## Requirements

In the `Vagrantfile` you can find all commands to install the dependencies.
If you choose to use it, please install Vagrant and use `vagrant up` to initialize/start the machine.
Then you can ssh into the machine with `vagrant ssh`.

- A modern GNU build-system (autoconf, automake, libtool, ...)
- GNU/Linux and libc development headers
- pkg-config
- ROFL libraries installed, see [here](http://www.roflibs.org/) and [here](https://github.com/bisdn/rofl-core )
- Configuration File Library, [libconfig](http://www.hyperrealm.com/libconfig/)
- Network Protocol Library Suite 3.2.x, [libnl](http://www.infradead.org/~tgr/libnl/)
- [optional] if you want to run automatic tests (make check), libcunit and libcppunit are required.

Even if you do not intend to use vagrant, please see the `Vagrantfile` for more specifics on the requirements (version numbers, branches, etc.)

## Installation of baseboxd

Install the dependencies and run:

```bash
# cd /vagrant
# you may have to run make clean in /vagrant
./autogen.sh<commit_msg>updated vagrant instructions<commit_after># New Version to be released soon

A new version of basebox(d) will be released on July 1st, 2016 including
support for Broadcom's OFDPA 2.0.

If you are looking for older versions of basebox(d) for controlling 
ovs and xdpd, you find those in the swx branch on github [2].

[1] https://github.com/Broadcom-Switch/of-dpa/

[2] https://github.com/bisdn/basebox/tree/swx


# What it is

baseboxd is a tiny OpenFlow controller for mapping legacy protocol
stacks on an OpenFlow datapath element. It is merely a fun project
and a playground for testing architectures and strategies for 
emulating legacy protocol stacks on OpenFlow.

In its most basic form it turns an OpenFlow pipeline into a basic
routing switch with Layer 2 and Layer 3 forwarding capabilities.
baseboxd aims towards easy extensibility for adding new protocols
like GTP, GRE, and so on that typically require basic Ethernet and 
or IP support.

## Version

There is no stable release yet. Current development version is
v0.6.0dev and v0.6 is supposed to be the first useful release
of baseboxd.

## Requirements

In the `Vagrantfile` you can find all commands to install the dependencies.
If you choose to use it, please install Vagrant and use `vagrant up` to initialize/start the machine.
Then you can ssh into the machine with `vagrant ssh`.
Please make sure you have an uptodate vagrant installation (>=1.7.x). The simplest is to download their package from [their website](https://www.vagrantup.com/downloads.html) and install it.
If you want to stop the machine, please use `vagrant halt`. If you want to remove the machine and reprovision it run: `vagrant destroy; vagrant up`.

- A modern GNU build-system (autoconf, automake, libtool, ...)
- GNU/Linux and libc development headers
- pkg-config
- ROFL libraries installed, see [here](http://www.roflibs.org/) and [here](https://github.com/bisdn/rofl-core )
- Configuration File Library, [libconfig](http://www.hyperrealm.com/libconfig/)
- Network Protocol Library Suite 3.2.x, [libnl](http://www.infradead.org/~tgr/libnl/)
- [optional] if you want to run automatic tests (make check), libcunit and libcppunit are required.

Even if you do not intend to use vagrant, please see the `Vagrantfile` for more specifics on the requirements (version numbers, branches, etc.)

## Installation of baseboxd

Install the dependencies and run:

```bash
# cd /vagrant
# you may have to run make clean in /vagrant
./autogen.sh
{'fraction_non_alphanumeric': 0.07523374646662317, 'fraction_numerical': 0.008697542944118286, 'mean_word_length': 4.275229357798165, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 7, 'lorem ipsum': 0, 'www.': 7, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2667758', 'n_tokens_mistral': 1379, 'n_tokens_neox': 1312, 'n_words': 636}