***kernel datapath的OVS编译安装

  1. 下载源代码

    $ git clone https://github.com/openvswitch/ovs.git
  2. 准备工具:生成configure文件
    1. GNU make

      $ make --version
    2. 一个C语言编译器,GCC 4.6以上,Clang 3.4以上

      $ gcc --version
    3. libssl

      $ apt-get isntall libssl1.0.0
    4. libcap-ng0

      $ apt-get install libcap-ng0
    5. libtool

      $ apt-get install libtool
    6. autoconf

      $ apt-get install autoconf
    7. Python 2.7,并且确保six库可用

      $ python

      ...(
         看默认的python是否是2.7版本


      )

      $ pydoc modules | grep six

      ...(
         如果没有叫six的python module,请安装python-pip

         $ apt install python-pip

         然后如下安装six

         $ pip install six


      )
    8. 注意ovs 内核模块的版本与Linux内核版本号

      2.7版本的OVS能安装在Linux 3.10~4.9的内核上
  3. $ ./boot.sh
  4. 配置

    $ ./configure \

    --with-linux=/lib/modules/$(uname -r)/build 编译内核模块,指定当前内核地址

    [CFLAGS="-g -o2"]      编译用户空间的代码时的编译参数,-g带debug,-O2指定编译器优化级别

    [EXTRA_CFLAGS="-Wno-error=data-time"]   编译内核模块时的编译参数

    [--enable-Werror]      编译其警告作为错误处理

    [LIBS=-ljemalloc]     使用jemalloc代表libc中的内存管理库
  5. 编译OVS

    $ make
  6. 安装OVS用户态程序

    $ make install
  7. 安装内核模块(把相关*.ko文件安装至/lib/modules/$(uname -r)/extra/中

    $ make modules_install
  8. 挂载安装的内核模块

    $ /sbin/modprobe openvswitch
  9. 配置数据库

    $ mkdir -p /usr/local/etc/openvswitch

    $  ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema
  10. 启动数据库程序

    $ mkdir -p /usr/local/var/run/openvswitch

    $ ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \
        --remote=db:Open_vSwitch,Open_vSwitch,manager_options \

        --private-key=db:Open_vSwitch,SSL,private_key \

        --certificate=db:Open_vSwitch,SSL,certificate \

        --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \

        --pidfile --detach --log-file
  11. 初始化ovsdb数据库

    $ ovs-vsctl --no-wait init
  12. 启动vswitchd守护进程

    $ ovs-vswitchd --pidfile --detach --log-file
  13. 完成,可以测试了

    $ ovs-vsctl add-br br0

    $ ovs-vsctl show
 
默认的LOG位于
      /usr/local/var/log/openvswitch
 
 

OVS + kernel datapath 的安装的更多相关文章

  1. ovs + kernel datapath 的分片与重组流程

    非VXLAN的收发包调用栈 netdev_frame_hook()      netdev_port_receive()           ovs_vport_receive()           ...

  2. OVS+DPDK Datapath 包分类技术

    本文主体内容译于[DPDK社区文档],但并没有逐字翻译,在原文的基础上进行了一些调整,增加了对TSS分类器的详细阐述. 1. 概览 本文描述了OVS+DPDK中的包分类器(datapath class ...

  3. linux kernel 源码安装

    有时我们在安装系统后,发现没有安装当前系统的内核源码在/usr/src/kernels目录下,其实我们是少安装了一个rpm包: 当你配置好yum源后: yum install kernel-devel ...

  4. jupyter notebook使用时路径问题和kernel error,安装opencv

    修改路径: 在C:\Users\Administrator\ .jupyter 目录下面只有一个“migrated”文件. 打开命令窗口(运行->cmd),进入python的Script目录下输 ...

  5. OpenVSwitch 硬件加速浅谈

    https://zhuanlan.zhihu.com/p/57870521 本文首发SDNLAB. 现代的虚拟化技术使得开发和部署高级网络服务变得更加简单方便.基于虚拟化的网络服务,具有多样性,低成本 ...

  6. Open vSwitch FAQ (一)

    Basic Configuration Q: How do I configure a port as an access port? A: Add "tag=VLAN" to y ...

  7. openvswith Frequently Asked Questions

    Open vSwitch <http://openvswitch.org> 参考地址:http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=ope ...

  8. 在 Ubuntu 12.04 上通过源码安装 Open vSwitch (OVS)

    安装 Ubuntu 12.04, 而且更新系统 apt-getupdate; apt-getupgrade; 安装所需的package apt-get install automake autocon ...

  9. 安装OpenvSwitch (ovs)

    简介 搭建SDN环境少不了SDN交换机,SDN交换机跟普通交换机最大的区别就是将普通交换机的数据平面和控制平面相分离,SDN交换机只负责数据的转发,而控制指令则由更上一级的控制器下发. Open vS ...

随机推荐

  1. salt-stack部署

    saltstack部署   环境准备 [root@server elasticsearch]# cat /etc/redhat-release CentOS release 6.6 (Final)[r ...

  2. Eclipse默认编码设置

    eclipse 默认编码居然是GBK,js文件默认编码是ISO-....怎么可以这样呢?都修改成UTF8的方法:1.windows->Preferences...打开"首选项" ...

  3. libev事件库使用笔记

    源码下载地址:http://dist.schmorp.de/libev/ libev是一个高性能的事件循环库,比libevent库的性能要好. 安装: tar -zxf libev-4.15.tar. ...

  4. 简单聊聊Storm的流分组策略

    简单聊聊Storm的流分组策略 首先我要强调的是,Storm的分组策略对结果有着直接的影响,不同的分组的结果一定是不一样的.其次,不同的分组策略对资源的利用也是有着非常大的不同,本文主要讲一讲loca ...

  5. mybatis新手入门常见问题集(持续更新)

    一.参数为集合 Q:parameterType指的的类型是集合类型还是对象? A:都可以,甚至不用在xml中指定也可以.第一,mybatis会对传入的参数进行判断是不是list或者array,第二,m ...

  6. ionic打包项目,运行时报错A problem occurred configuring root project 'android'。。。

    运行报错的原因是sdk没有下载完整 解决办法: 1,打开sdk manage.分别下载android support repository.Google play services.google re ...

  7. html5表单元素详解

    表单是Html中获取用户输入的手段.此文对表单的元素进行了详细整理. 表单基本元素 form input button form元素 html4中,form元素相当于表单的外包装,其他都要在里面.ht ...

  8. CF #311 D. Vitaly and Cycle 加最少边形成奇圈

    题目链接:http://codeforces.com/problemset/problem/557/D 大意 给出一个未必联通的无向图(点数至少为3),问最少加多少边可以形成一个奇圈,以及这样做的方案 ...

  9. DirectFB环境搭建

    一.下载安装包 http://www.directfb.org/index.php?path=Main%2FDownloads git clone git://git.directfb.org/git ...

  10. C语言学习第九章

    学习C语言的最后一节课了,原因嘛上一章的末尾说过了,其实写这篇博客的时候以后开始学习Java一个多月了,一直因为各种各样的原因没有坚持做到每天一篇学习记录,可能主要因为懒吧....也有点笨,Java的 ...