[openflowplugin-dev] Testing of OF-1.3
Tony Tkacik
From one interop I also remember the soft switch http://www.flowforwarding.org/ They claim to support Openflow 1.2 and 1.3.1 and OFConfig 1.1 The code is written in Erlang, if I remember correctly.
Tony
From: openflowplugin-dev-bounces@... [mailto:openflowplugin-dev-bounces@...]
On Behalf Of Anil Vishnoi
Sent: Tuesday, August 06, 2013 10:10 PM To: Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) Cc: openflowjava-dev@...; openflowplugin-dev@... Subject: Re: [openflowplugin-dev] [openflowjava-dev] Testing of OF-1.3
Just to add, Following file has track of what all is still need to be done to fully support 1.3 in OVS.
I came across another options (of soft switch )
Looks like it has comprehensive support for 1.3, but i didn't get an opportunity to explore it in detail.
Michal, can you please share the repo details from where we can download your modified mininet image ?
Thanks Anil
On Tue, Aug 6, 2013 at 8:55 PM, Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) <mirehak@...> wrote: Greetings, From openvirtualswitch FAQ: 1.2 and 1.3.
-- Thanks Anil |
|
Michal Rehak -X (mirehak - Pantheon Technologies SRO@Cisco) <mirehak@...>
Greetings. Back to openvswitch - I have done the following in order to get version 1.10 (if you have mininet-2.0.0 already running, please proceed to Stage 2): Stage 1 - download mininet image 2.0.0 (https://github.com/downloads/mininet/mininet/mininet-2.0.0-113012-amd64-ovf.zip) - the image is in vmware format I guess, but can by simply imported into virtualbox - start mininet-2.0.0, login as mininet, password mininet Stage 2 - uninstall packages openvswitch-common and openvswitch-switch (there should be version 1.4.3 officially in ubuntu repo, so in case of emergency these can be always installed again) - download latest release of openvswitch: http://openvswitch.org/releases/openvswitch-1.10.0.tar.gz - there are install howtos, take a look at INSTALL.Debian - there are some new packages to be installed (apt-get install build-essential fakeroot) - run dpkg-checkbuilddeps to check, if all dependencies are installed - here comes the long step 4. from INSTALL.Debian - if everything compiled successfully, you should have these deb files in parent folder: openvswitch-common_1.10.0-1_amd64.deb openvswitch-controller_1.10.0-1_amd64.deb openvswitch-datapath-dkms_1.10.0-1_all.deb openvswitch-datapath-source_1.10.0-1_all.deb openvswitch-dbg_1.10.0-1_amd64.deb openvswitch-ipsec_1.10.0-1_amd64.deb openvswitch-pki_1.10.0-1_all.deb openvswitch-switch_1.10.0-1_amd64.deb openvswitch-test_1.10.0-1_all.deb ovsdbmonitor_1.10.0-1_all.deb python-openvswitch_1.10.0-1_all.deb - now install dpkg -i openvswitch-common_1.10.0-1_amd64.deb dpkg -i openvswitch-switch_1.10.0-1_amd64.deb - now mininet should be using openvswitch 1.10.0, this can be simply tested by running ODL-controller and let mininet to connect to it. - to use OF-1.3 following parameter has to be passed to openvswitch startup command: protocols=OpenFlow13 So I made following change to node.py file (mininet python class, be sure to modify the distributed file, not the one in /home/mininet/mininet/...) in order to control the protocol version using cmd parameter: --- ../mininet/build/lib.linux-x86_64-2.7/mininet/node.py 2012-11-30 22:30:07.000000000 -0800 +++ /usr/local/lib/python2.7/dist-packages/mininet-2.0.0-py2.7.egg/mininet/node.py 2013-07-25 05:40:26.179978120 -0700 @@ -901,6 +904,11 @@ failMode: controller loss behavior (secure|open)""" Switch.__init__( self, name, **params ) self.failMode = failMode + protKey = 'protocols' + if self.params and protKey in self.params: + print 'have protocol params!' + self.opts += protKey + '=' + self.params[protKey] + @classmethod def setup( cls ): @@ -955,8 +964,9 @@ # Annoyingly, --if-exists option seems not to work self.cmd( 'ovs-vsctl del-br', self ) self.cmd( 'ovs-vsctl add-br', self ) + print 'OVSswitch opts: ',self.opts self.cmd( 'ovs-vsctl -- set Bridge', self, - 'other_config:datapath-id=' + self.dpid ) + self.opts+' other_config:datapath-id=' + self.dpid ) self.cmd( 'ovs-vsctl set-fail-mode', self, self.failMode ) for intf in self.intfList(): if not intf.IP(): The mn session can now be started: sudo mn --topo single,3 --controller 'remote,ip=<your controller IP>' --switch ovsk,protocols=OpenFlow10 or sudo mn --topo single,3 --controller 'remote,ip=<your controller IP>' --switch ovsk,protocols=OpenFlow13 To test the version of used protocol by switch "s1": ovs-ofctl -O OpenFlow10 show s1 ovs-ofctl -O OpenFlow13 show s1 If this is useful, I can put it on wiki. If you have any suggestions or improvements, please let me know. The image of virtual machine is huge (3.6 GB), but size of neccessary deb files is only 2 MB, so maybe I can upload them somewhere. From: Tony Tkacik -X (ttkacik - Pantheon Technologies SRO at Cisco)
Sent: Tuesday, August 06, 2013 11:09 PM To: Anil Vishnoi; Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) Cc: openflowjava-dev@...; openflowplugin-dev@... Subject: RE: [openflowplugin-dev] [openflowjava-dev] Testing of OF-1.3 From one interop I also remember the soft switch http://www.flowforwarding.org/ They claim to support Openflow 1.2 and 1.3.1 and OFConfig 1.1 The code is written in Erlang, if I remember correctly.
Tony
From: openflowplugin-dev-bounces@... [mailto:openflowplugin-dev-bounces@...]
On Behalf Of Anil Vishnoi
Just to add, Following file has track of what all is still need to be done to fully support 1.3 in OVS.
I came across another options (of soft switch )
Looks like it has comprehensive support for 1.3, but i didn't get an opportunity to explore it in detail.
Michal, can you please share the repo details from where we can download your modified mininet image ?
Thanks Anil
On Tue, Aug 6, 2013 at 8:55 PM, Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) <mirehak@...> wrote: Greetings, From openvirtualswitch FAQ: 1.2 and 1.3.
-- Thanks Anil |
|
Michal Rehak -X (mirehak - Pantheon Technologies SRO@Cisco) <mirehak@...>
Greetings, sorry for slow response, instructions on enabling OFS-1.3 experimental support in mininet (using openvswitch) are here: https://wiki.opendaylight.org/view/Openflow_Protocol_Library:OpenVirtualSwitch I have also tried http://www.flowforwarding.org/ and http://cpqd.github.io/ofsoftswitch13/ The Flowforwarding project is based on erlang code (this is completely new for me) and ofsoftswitch looks similar to the default mininet-based solution - it uses mininet too, but different virtual switch driver. Is anyone interested? I can publish corresponding instructions on wiki too. Michal From: Ed Warnicke (eaw)
Sent: Wednesday, August 07, 2013 11:18 PM To: Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) Cc: Jan Medved (jmedved); Tomas Janco Subject: Re: [openflowplugin-dev] [openflowjava-dev] Testing of OF-1.3 Michal,
Thank you for doing this :) Not only is the work important, but you are communicating it brilliantly :)
You might want to consider adding it as a subpage page off of the OF proto lib wiki page :)
Much appreciated :)
Ed
On Aug 7, 2013, at 3:13 AM, Michal Rehak -X (mirehak - Pantheon Technologies SRO at Cisco) <mirehak@...> wrote:
|
|