How to install Bekeley Extension Software Switch(BESS)?
参考:
How 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 Bekeley Extension Software Switch(BESS)?的更多相关文章
- PISCES: A Programmable, Protocol-Independent Software Switch
Name of article:PISCES: A Programmable, Protocol-Independent Software Switch Origin of the article:S ...
- 2018 How to register and install LAUNCH ICARSCAN software ?
2018 New Version ICARSCAN is available now! Here’s the instruction on how to install ICARSCAN softwa ...
- [label][phalcon] How to install Phalcon extension for Zend Server 6.3.0 for windows 7 64bit
At first , you should download Phalcon DLL file. You can download from this link under. http://stati ...
- php7 install memcache extension
#download source code package from git $ git clone https://github.com/websupport-sk/pecl-memcache.gi ...
- php7 install memcached extension
#download source code package from git $ git clone https://github.com/php-memcached-dev/php-memcache ...
- Install Package and Software
svn http://tortoisesvn.sourceforge.net/ git https://download.tortoisegit.org/ http://git-for-windows ...
- How To Download Youtube Videos Without any software
https://www.quora.com/What-is-the-best-way-to-download-YouTube-videos-for-free There are various met ...
- Install Visual Studio Tools for Apache Cordova
Install Visual Studio Tools for Apache Cordova Visual Studio 2013 This article refers to the Visua ...
- 十几个remote control software
5 alternatives to LogMeIn Free for remote PC access VNC VNC, or Virtual Network Computing, isn’t its ...
随机推荐
- python selenium设置chrome的下载路径
python可以通过ChromeOptions设置chrome参数,如下载路径等,代码如下(python 3.6.7): #-*-coding=utf-8-*- from selenium impor ...
- MongoDB-Java的两个基本操作Upsert和insertMany
此文只是为了记录几个基本操作,首先Upsert,有多种方法可以进行,但是都需要指定UpdateOptions.upsert(true),其中最简单的办法如下(eqq是一个用来filter的BSON,具 ...
- Linux服务器---流量监控bandwidthd
Bandwidthd Bandwidthd是一款免费的流量监控软件,它可以用图标的方式展现出网络流量行为,并且可区分出ftp.tcp等各种协议的流量. 1.安装一些依赖软件 [root@localho ...
- 证券化代币的时代已经到来,STO将引爆区块链经济
STOs 似乎会在 2019 年取代 ICOs,即使不是完全取代,但置换的比例也会相当大.所有在美上市的公司都将按照 SEC 制定的相关规定进行交易.Vellum Capital 的 CEO 兼管理合 ...
- CentOS7 安装 mysql8
本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 涉及到的Linux命令 ...
- Django 创建项目流程
django 项目创建流程 1 创建项目 cmd django-admin startproject 项目名称 pycharm file -- new project -- Django -- 项目名 ...
- hud1007 Quoit Design
#include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> # ...
- [转载] Oracle之内存结构(SGA、PGA)
2011-05-10 14:57:53 分类: Linux 一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area ...
- jquery操作节点
var v= $("input[type='checkbox'][name='ids']:checked").closest('tr').find('td:eq(2)').map( ...
- Python+OpenCV图像处理(六)—— ROI与泛洪填充
一.ROI ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI. 代码如下 ...