Project

classbench

0.01
No release in over 3 years
Low commit activity in last 3 years
Statistical generation of firewall/OpenFLOW rules based on seed file (IN DEVELOPMENT)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

>= 0

Runtime

 Project Readme

Classbench

Utility for generation of firewall/OpenFlow rules based on original (no longer maintained) Classbench.

Requirements

  • Ruby 1.9.3+
  • RubyGems
sudo gem install open4 ruby-ip docopt ipaddress

Installation

git clone https://github.com/lucansky/classbench-ng.git
make   # Downloads, patches and compiles db_generator in ./vendor/db_generator/db_generator

Patching classbench

Due to statically initialized arrays in ClassBench, patching is required which increases the limit. Patch is automatically applied by make in process of downloading ClassBench. (see vendor/Makefile)

Usage

./classbench analyse FILE

Analyses file, expecting FILE to be ovs-ofctl dump. Fields extracted from dump are:

  • dl_dst, dl_src, dl_type, dl_vlan, dl_vlan_pcp,
  • eth_type, in_port,
  • nw_dst, nw_proto, nw_src, nw_tos,
  • tp_dst, tp_src

Output's original Classbench seed with openflow YAML structure as last section.

./classbench generate v4 SEED [--count=100] [--db-generator=<path>]

Generates --count of OpenFlow rules. If seed without OpenFlow section is provided, regular 5-tuples are generated. Output format is "attribute=value", joined by ", ".