Upgrading Open vSwitch

Hi,

After downloading the newest Open vSwitch code, by typing the following commands below, you can upgrade the current installed Open vSwitch.

$ cd openvswitch-2.0.1
$ ./configure –prefix=/usr –with-linux=/lib/modules/`uname -r`/build
$ make
$ sudo make install
$ sudo make modules_install
$ sudo rmmod openvswitch
$ sudo depmod -a

Start OVS server process

$ sudo /etc/init.d/openvswitch-switch start

The newest Open vSwitch (OVS) version allows OF 1.0, 1.2 and 1.3. To check witch version is currently enabled, type (ex.: consider an OF switch named s1):

$ sudo ovs-vsctl list bridge s1

This should show you something like that:

_uuid               : 6dabe17c-d0cf-4d88-b783-779b7b05b9fb
controller          : [a8865cd3-64b3-46d2-be85-98de16581721, b080400b-69fc-4702-96dd-a59e602e4292]
datapath_id         : "0000000000000001"
datapath_type       : ""
external_ids        : {}
fail_mode           : secure
flood_vlans         : []
flow_tables         : {}
ipfix               : []
mirrors             : []
name                : "s1"
netflow             : []
other_config        : {datapath-id="0000000000000001"}
ports               : [52115a6a-1922-4137-8a2f-46930b53aad4, 5c963923-207f-449b-a12c-05ef10ac8d0d, 7fbc7310-969a-4394-853c-98572e427712]
protocols           : ["OpenFlow10", "OpenFlow12", "OpenFlow13"]
sflow               : []
status              : {}
stp_enable          : false

Notice that, the supported versions are OF 1.0, 1.2 and 1.3. If this is not set, you can also set by typing the following commands:

$ sudo ovs-vsctl set bridge s1 protocols=OpenFlow10,OpenFlow12,OpenFlow13

That’s all,

Advertisements

2 thoughts on “Upgrading Open vSwitch

  1. This is what I see:
    sreeve@pto:~$ sudo ovs-vsctl list bridge s1
    _uuid : c3470ab4-6309-4668-a164-de785c36ef61
    controller : [255276b5-7d70-42d7-b229-cab4c7f7c3b9, b043a73f-6759-48c8-844a-ff7e76a607cb]
    datapath_id : “0000000000000001”
    datapath_type : “”
    external_ids : {}
    fail_mode : secure
    flood_vlans : []
    mirrors : []
    name : “s1″
    netflow : []
    other_config : {datapath-id=”0000000000000001”}
    ports : [10eb31cc-c927-4f03-a407-33c35064df95, 375ac0a3-2d0c-4f45-8a94-47977d95a3de, 775d2376-17cd-43b7-917b-575df241e3bc]
    sflow : []
    status : {}
    stp_enable : false

    So no surprise here:
    sreeve@pto:~$ sudo ovs-vsctl set bridge s1 protocols=OpenFlow13
    ovs-vsctl: Bridge does not contain a column whose name matches “protocols”

    How do I get the switch to support “protocols” ?

    • Hi,

      Perharps the OVS version you’re using is not 2.0 or 2.1. Probably is 1.9 which does not offer support to ‘protocols’ field. You can check by typing “ovs-vswitchd –version”. If you’re using Mininet to make experiements, the current Mininet VM version provided oficially by the Mininet development team, comes with OVS 1.9 installed. The problem is that this version does not have support for latter OpenFlow versions (1.1, 1.2, 1.3 and 1.4). In another words, you can only use OpenFlow 1.0, so this is why you can’t see the “protocols” field. What you should do, if you wanna use the version such as 1.3, you have to download the newest OVS version which is 2.1 and building it. After installing, do not forget to configure the OVS properly. How to build and configure, you can find more details on man pages of OVS.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s