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 ...
随机推荐
- Spring源码阅读(三)
上一讲我们谈到单例生产关键方法getSingleton.getSingleton方法由DefaultSingletonBeanRegistry类实现.我们的抽象工厂AbstractBeanFactor ...
- 20165305 苏振龙《Java程序设计》第五周学习总结
第七章 Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类. 和某类有关的匿名类就是该类的一个子类,该子类没有明显的用类声明来定义,所以称做匿名类. 和某接口有 ...
- Axis2基础
本章主要介绍如何使用axis2开发webservice接口. 以下以一个实例程序讲解如何编写一个axis2的服务端和客户端. axis2版本:axis2-1.5.4-bin.zip 目录结构: 关键代 ...
- 金九银十跳槽季,程序员面试点解析之Java专场
前言 近年来Java工程师这个岗位炙手可热,市场需求大,学习Java的人也越来越多,所以IT企业与求职者的选择都比较多,那么IT企业在面试时都会提哪些问题呢.下面为大家分享 Java高级工程师面试阿里 ...
- [Android相机]通过手机摄像头识别环境亮度(转)
源: [Android相机]通过手机摄像头识别环境亮度 iOS利用摄像头获取环境光感参数
- Access is denied (user is anonymous); redirecting to authentication entry point
Access is denied (user is anonymous); redirecting to authentication entry point org.springframework. ...
- scrapy进阶(CrawlSpider爬虫__爬取整站小说)
# -*- coding: utf-8 -*- import scrapy,re from scrapy.linkextractors import LinkExtractor from scrapy ...
- Spring Boot(十二):spring boot如何测试打包部署
Spring Boot(十二):spring boot如何测试打包部署 一.开发阶段 1,单元测试 在开发阶段的时候最重要的是单元测试了,springboot对单元测试的支持已经很完善了. (1)在p ...
- ORA-38301: 无法对回收站中的对象执行 DDL/DML
我们是在生产系统中遇到,清空回收站,然后禁用回收站即可,这样后面就不会发生,单纯禁用可能仍会报错,因为不会自动清空回收站. purge recyclebin; alter system set rec ...
- Iris Classification on PyTorch
Iris Classification on PyTorch code # -*- coding:utf8 -*- from sklearn.datasets import load_iris fro ...