How to install Bekeley Extension Software Switch(BESS)?
2017-11-28 18:29
716 查看
参考:
Github BESSHow to install Bekeley Extension Software Switch(BESS)?
Introduction
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是一个用于软件交换机的模块化框架, 本身并不是一个虚拟交换机; 它既不用预先配置也不用使用写死的方法来提供特殊功能, 比如以太网桥或OpenFlow驱动的交换. 相反, 你(或者一台额外的控制器)能够通过将小型模块进行组合来配置你自己的数据报处理datapath. BESS的思想类似于Click, 但它不需要为可编程性消耗性能.
Installation
官方的文档给出了安装BESS的方法, 然而会遇到许多问题.1.Clone BESS:
$ git clone https://github.com/NetSys/bess.git $ cd bess/
2.安装依赖:
$ 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 -K -t package -i localhost, -c local env/bess.yml $ sudo reboot
这一步容易出现ansible安装clang-5.0的错误, 一种解决方法是讲package.yml中安装clang-5.0的语句注释掉, 并人为安装clang-5.0. 详情见: issues#734.
3.设置大页:
# For single-node systems $ sudo sysctl vm.nr_hugepages=1024 # For multi-node (NUMA) systems $ echo 1024 | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages $ echo 1024 | sudo tee /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
4.安装BESS:
$ cd bess/ $ ./build.py
此步会出现DPDK驱动的问题, 原因是BESS是基于老版本的DPDK的, 由于代码本身用于安全检测, 因此这里选择注释忽略.
此外在
packet.cc中也在一个宏的位置报错, 这里也选择暴力注释.
最后把Makefile里面的
-Werror参数注释掉, 令Build成功了, 当然这只是权益之计.
可能需要安装MLNX_OFED驱动, 方法见: HowTo Install MLNX_OFED Driver. 问题详情见: issues#735.
5.运行BESS:
$ ./bessctl/bessctl <disconnected> $ daemon start
如果出现:
E1129 09:16:44.214349 7425 bessd.cc:358] Failed to launch a daemon process *** Error: Cannot start BESS daemon
重新设置大页即可正常启动.
2017.11
相关文章推荐
- How to Install PHP intl extension on OS X
- How to install software on linux
- How to install Oracle Database Server software silently with customized listener configuration
- How to install PHP pthreads extension on Ubuntu?
- How to Install Open vSwitch on Linux
- How To Install 11.2 / 12.1 Database/Client Software In Silent Mode Without Using Response File
- How to Install Open vSwitch on Linux
- How to Install AMQP PHP Extension and RabbitMQ Client on Linux
- how to install software on ubuntu?
- How to install & uninstall software in ubuntu
- How to install the GeoIP Geo location PECL extension?
- How to install VXDIAG Honda, Toyota and JLR SDD software
- How to install a PHP PECL extension/module on Ubuntu
- How to build and install Open vSwitch on a linux
- How to install a Windows software file in Ubuntu
- SNMP--How to install SNMP extension agent DLL(如何安装SNMP扩展代理DLL)
- how to install vscode with Python extension in ubuntu 16
- How to build and install Open vSwitch on a linux
- How to Hijack Software Updates to Install a Rootkit for Backdoor Access