***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. html 选择器之属性选择器

    属性选择器的主要作用个人的理解就是对带有指定属性的元素设置css样式. 使用css3的属性选择器,可以指定元素的某个属性,也可以指定某个属性和这个属性所对应的值. css3的属性选择器主要包括下面几种 ...

  2. 使用vue-cli构建多页面应用+vux(二)

    当我们安装好vue-cli完整的项目以后,我们开始对它进行改造,此处参考了简书某个作者的,附上原文链接 http://www.jianshu.com/p/43697bdee974以及此文例子地址htt ...

  3. java异常总结(转载)

    转至 Java常见异常(Runtime Exception )小结 http://www.apkbus.com/android-58405-1-1.html 本文重在Java中异常机制的一些概念.写本 ...

  4. 【知识学习】如何寻找真实IP

    1.多地点ping查询IP,如果都一样可能没有使用cdn,如果有cdn,尝试海外地点ping查询IP 2.ping一下没有WWW的域名,可能存在真实IP.比如www.baidu.com设置了cdn,那 ...

  5. 清北Day 2

    清北第二天,感受到了来自这个世界的不友善,大概把没听过不会的"名词"记录下来就已经一面了,然后被大佬说这都是最基础的东西,就很皮,那就趁别人练习字符串的题的时候,来写波博客了,倒不 ...

  6. SpringMVC中的session用法及细节记录

    前言 初学SpringMVC,最近在给公司做的系统做登录方面,需要用到session. 在网上找了不少资料,大致提了2点session保存方式: 1.javaWeb工程通用的HttpSession 2 ...

  7. 机器学习笔记-1 Linear Regression with Multiple Variables(week 2)

    1. Multiple Features note:X0 is equal to 1 2. Feature Scaling Idea: make sure features are on a simi ...

  8. arcgis for javascript 之 clone()问题小计

    情景再现:      用户点击一个featurelayer的图斑,(属性信息从mysql中获取),同时高亮此地块,点击一下个地块时候,取消高亮.(请忽略跨域造成的图标错误,jetty试了好久不能跨域· ...

  9. idea 查看tomcat源码

    一.源码下载 SVN :http://svn.apache.org/repos/asf/tomcat/ GIT :https://github.com/apache 二.添加pom.xml文件 1. ...

  10. [原创]ssget过滤动态块的方式

    Autocad在2006增加了新的动态块功能,方便了对块的动态修改,但是修改动态块后,块名会变成一个匿名块,导致无法通过块名来快速过滤. 明经论坛上有人通过全选块后再来遍历筛选,我通过研究简化了这个问 ...