编译

userspace 编译

系统: centos/7,内核:3.10.0,Open vSwitch: 2.5.9

wget https://www.openvswitch.org/releases/openvswitch-2.5.9.tar.gz
tar -xvf openvswitch-2.5.9.tar.gz
cd openvswitch-2.5.9
sudo yum install gcc
sudo yum install openssl-devel.x86_64
./configure
make
sudo make install

注意: 这里的编译方式得到的 Open vSwitch 是运行在 Userspace 的,更详细的编译资料可以参考:

kernel module 编译

kernel module 编译对 linux 内核有要求,并且会出现某个版本的 Open vSwitch 和当前内核无法编译的情况。因此我只能列出我自己的环境:

系统: centos/7,内核:4.3.3,Open vSwitch: 2.5.9

$ ./configure --with-linux=/lib/modules/`uname -r`/build --prefix=/usr
$ make
$ sudo make install
$ sudo make modules_install
$ sudo /sbin/modprobe openvswitch
$ sudo lsmod | grep openvswitch

# 为了让 openvswitch kernel module 在开机时自启,可以添加以下配置
$ echo "openvswitch" | sudo tee /etc/modules-load.d/openvswitch.conf

使用 vagrant

我将 kernel module 方式编译的 open vSwitch 打包成了 vagrant 的 box,可以使用 virtualbox 启动。启动代码如下:

$ vagrant init jiang/centos7_ovs \
  --box-version 0.1
$ vagrant up

Last updated