apanda / bess

Berkeley Extensible Software Switch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status codecov

BESS (Berkeley Extensible Software Switch)

BESS is a modular framework for software switches. BESS itself is not a virtual switch; it is neither pre-configured nor hardcoded to provide particular functionality, such as Ethernet bridging or OpenFlow-driven switching. Instead, you (or an external controller) can configure your own packet processing datapath by composing small "modules". While the basic concept is similar to Click, BESS does not sacrifice performance for programmability.

BESS is developed at the University of California, Berkeley and at Nefeli Networks. Contributors to BESS include students, researchers, and developers who care about networking with high performance and high customizability. BESS is open-source under a BSD license.

If you are new to BESS, we recommend you start here:

  1. BESS Overview
  2. Build and Install BESS
  3. Write a BESS Configuration Script
  4. Connect BESS to a Network Interface, VM, or Container

To configure and install BESS on Linux quickly, you can run the provided Ansible script (vagrant/bess.yml):

git clone https://github.com/NetSys/bess.git
cd bess/
sudo apt-get install -y software-properties-common
sudo apt-add-repository -y ppa:ansible/ansible
sudo apt-get update
sudo apt-get install -y ansible
ansible-playbook vagrant/bess.yml
sudo reboot

About

Berkeley Extensible Software Switch

License:Other


Languages

Language:C++ 65.1%Language:C 14.5%Language:Python 13.9%Language:Protocol Buffer 5.1%Language:Makefile 0.9%Language:Shell 0.2%Language:Ruby 0.2%