Skip to content
/ bess Public
forked from NetSys/bess

BESS: Berkeley Extensible Software Switch

License

Notifications You must be signed in to change notification settings

TCZWJ/bess

This branch is 6 commits ahead of, 150 commits behind NetSys/bess:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

959104b · May 17, 2019
May 26, 2017
May 17, 2019
Aug 16, 2018
May 8, 2019
Sep 7, 2018
Oct 21, 2016
Mar 15, 2019
Jul 26, 2018
May 17, 2019
Feb 11, 2019
Jun 12, 2017
Oct 19, 2017
Aug 16, 2018
Aug 16, 2018
May 11, 2018
Jul 19, 2017
Sep 6, 2017
Sep 28, 2018
Jan 26, 2019
Aug 10, 2018
Jul 19, 2017

Repository files navigation

Build Status codecov

BESS (Berkeley Extensible Software Switch)

BESS (formerly known as SoftNIC) 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 was created by Sangjin Han and 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 install BESS on Linux quickly, you can download the binary from Release. Please refer to GCC x86 Options to determine which tarball to use. Suppose bess-core2-linux.tar.gz is downloaded:

sudo apt-get install -y python python-pip libgraph-easy-perl
pip install --user protobuf grpcio scapy
sudo sysctl vm.nr_hugepages=1024  # For single NUMA node systems
tar -xf bess-core2-linux.tar.gz
cd bess/
make -C core/kmod # Build the kernel module (optional)
bessctl/bessctl

Documentation can be found here. Please consider contributing to the project!

About

BESS: Berkeley Extensible Software Switch

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 66.9%
  • Python 26.0%
  • C 4.9%
  • Makefile 1.2%
  • Shell 0.4%
  • HTML 0.3%
  • JavaScript 0.3%