...
Code Block |
---|
sudo apt-get install libnl3-dev pkg-config python-tz libpcap-dev openvswitch-datapath-dkms
|
Ubuntu 12.04
Code Block |
---|
sudo apt-get install libnl-3-dev libnl-genl-3-dev libnl-route-3-dev pkg-config python-tz libpcap-dev openvswitch-datapath-dkms
|
Get the Code
Directly from GithubDownload most recent release 0.3
Code Block |
---|
git clone --recurse-submodules curl https://github.com/floodlight/ivs.git |
...
/archive/branch-0.3.zip > ivs-0.3.zip
unzip ivs-0.3.zip
|
Download nightly (unstable)
Code Block |
---|
curl https://github.com/floodlight/ivs/archive/master.zip > ivs-unstable.zip unzip ivs-unstable.zip |
Build and Install
Code Block |
---|
cd ivs make |
...
Code Block |
---|
sudo cp targets/ivs/build/gcc-local/bin/ivs targets/ivs-ctl/build/gcc-local/bin/ivs-ctl /usr/sbin
|
Running IVS
Controller configuration
You'll need an OpenFlow controller to use IVS. We suggest Floodlight, which should work out of the box. Follow your controller's instructions to get it running and note down its IP address.
Kernel Module
The openvswitch kernel module must be loaded:
Code Block |
---|
modprobe openvswitch
|
Run the IVS daemon
You'll need to tell it the IP address of the controller (-c) and the initial set of network interfaces to connect (-i). Here's an example command line:
Code Block |
---|
sudo ivs -c 192.168.1.10 -i eth1 -i eth2 |
IVS will immediately begin communicating with the controller and, depending on your controller's configuration, forwarding traffic between eth1 and eth2.
Code Block |
---|
ivs-ctl add-port |
and
Code Block |
---|
ivs-ctl del-port |
can be used to add and remove ports at runtime (for example, this is used by hypervisors when a VM is started). See the ivs-ctl reference for more more details.