替換Mininet自帶Open vSwitch

須要作些SDN相關測試,用了mininet,可是mininet自帶額Open vSwitch的版本是不夠高(目前是2.0.2),保證測試與部署的一致性,須要替換mininet自帶的ovs。python

1. 移除mininet自帶的老版本ovs

apt-get remove openvswitch-common openvswitch-datapath-dkms openvswitch-controller openvswitch-pki openvswitch-switch

2. 到ovs的官網下載本身須要的ovs版本.

3. 準備對應版本的內核

下面就準備開始替換ovs了。須要注意的是ovs的版本須要和linux內核的版本對應起來。具體能夠參考這篇文章linux

4. 替換ovs能夠採用兩種方式,源碼編譯與deb包的方式。

4.1 源碼編譯方式

cd openvswitch-x.y.z/
./configure --prefix=/usr --with-linux=/lib/modules/`uname -r`/build
make
make install
make modules_install
rmmod openvswitch
depmod -a

4.2 deb包的方式

這種方式屬於一勞永逸的方式,把ovs提供的源碼打成deb包,後面直接安裝deb包就能夠了,具體過程以下:git

cd openvswitch-x.y.z/
apt-get install build-essential fakeroot
apt-get install debhelper autoconf automake libssl-dev pkg-config bzip2 openssl python-all procps python-qt4 python-zopeinterface python-twisted-conch
fakeroot debian/rules binary
cd ..
dpkg -i openvswitch-common*.deb openvswitch-datapath-dkms*.deb openvswitch-controller*.deb openvswitch-pki*.deb openvswitch-switch*.deb

這個時候再當前源碼目錄的上級目錄就生成了若干deb文件,安裝之。相對而言的話,我的感受deb包的方式更加好一點。github

5. 後續掃尾及驗證

開機禁用openvswitch-controller,以下:ubuntu

/etc/init.d/openvswitch-controller stop
update-rc.d openvswitch-controller disable

啓動ovs server進程:測試

/etc/init.d/openvswitch-switch start

驗證OVS版本,以及OVS是否被安裝到內核中:ui

ovs-vsctl show
6fd8346d-5eaf-42c0-b72a-ca47802ccc01
ovs_version: "2.3.1"

modinfo openvswitch 
filename:       /lib/modules/3.13.0-24-generic/updates/dkms/openvswitch.ko
version:        2.3.1
license:        GPL
description:    Open vSwitch switching datapath
srcversion:     1245CFE45972A2BD66BF409
depends:        libcrc32c,vxlan,gre
vermagic:       3.13.0-24-generic SMP mod_unload modversions

6. 參考

Installing-new-version-of-Open-vSwitchcode

相關文章
相關標籤/搜索