须要作些SDN相关测试,用了mininet,可是mininet自带额Open vSwitch的版本是不够高(目前是2.0.2),保证测试与部署的一致性,须要替换mininet自带的ovs。python
apt-get remove openvswitch-common openvswitch-datapath-dkms openvswitch-controller openvswitch-pki openvswitch-switch
下面就准备开始替换ovs了。须要注意的是ovs的版本须要和linux内核的版本对应起来。具体能够参考这篇文章linux
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
这种方式属于一劳永逸的方式,把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
开机禁用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