Add -of13 switch to turn on OpenFlow 1.3 mode
authorEd Warnicke <eaw@cisco.com>
Mon, 6 Jan 2014 03:32:36 +0000 (19:32 -0800)
committerEd Warnicke <eaw@cisco.com>
Thu, 9 Jan 2014 03:12:55 +0000 (19:12 -0800)
Tested in base, virtualization, and serviceprovider edition

In base edition:

./run.sh

osgi> ss | grep openflow
75 ACTIVE      org.opendaylight.controller.protocol_plugins.openflow_0.4.1.SNAPSHOT
172 ACTIVE      org.opendaylight.controller.thirdparty.org.openflow.openflowj_1.0.2

./run.sh -of13

osgi> ss | grep openflow
116 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-spi_0.1.0.SNAPSHOT
131 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-impl_0.1.0.SNAPSHOT
158 ACTIVE      org.opendaylight.openflowplugin_0.0.1.SNAPSHOT
180 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-api_0.1.0.SNAPSHOT

In virtualization edition:

./run.sh

Please select one of the 3 supported Virtualization technology : "./run.sh -virt [ovsdb | opendove | vtn]"

./run.sh -virt ovsdb

osgi> ss | grep vtn
false
osgi> ss | grep opendove
false
osgi> ss | grep openflow
116 ACTIVE      org.opendaylight.controller.protocol_plugins.openflow_0.4.1.SNAPSHOT
229 ACTIVE      org.opendaylight.controller.thirdparty.org.openflow.openflowj_1.0.2

./run.sh -virt opendove

osgi> ss | grep ovsdb
false
osgi> ss | grep vtn
false
osgi> ss | grep openflow
119 ACTIVE      org.opendaylight.controller.protocol_plugins.openflow_0.4.1.SNAPSHOT
232 ACTIVE      org.opendaylight.controller.thirdparty.org.openflow.openflowj_1.0.2

./run.sh -virt vtn

osgi> ss | grep affinity
false
osgi> ss | grep opendove
false
osgi> ss | grep ovsdb
false
osgi> ss | grep arphandler
false
osgi> ss | grep samples
false
osgi> ss | grep openflow
111 ACTIVE      org.opendaylight.controller.protocol_plugins.openflow_0.4.1.SNAPSHOT
217 ACTIVE      org.opendaylight.controller.thirdparty.org.openflow.openflowj_1.0.2

./run.sh -virt ovsdb -of13
osgi> ss | grep vtn
false
osgi> ss | grep opendove
false
osgi> ss | grep ovsdb
89 ACTIVE      org.opendaylight.ovsdb.northbound_0.5.0.SNAPSHOT
95 ACTIVE      org.opendaylight.ovsdb.neutron_0.5.0.SNAPSHOT
198 ACTIVE      org.opendaylight.ovsdb_0.5.0.SNAPSHOT
true
osgi> ss | grep openflow
17 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-impl_0.1.0.SNAPSHOT
121 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-spi_0.1.0.SNAPSHOT
154 ACTIVE      org.opendaylight.openflowplugin_0.0.1.SNAPSHOT
189 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-api_0.1.0.SNAPSHOT

./run.sh -virt opendove -of13

osgi> ss | grep ovsdb
false
osgi> ss | grep vtn
false
osgi> ss | grep opendove
13 ACTIVE      org.opendaylight.opendove.odmc_0.4.0.SNAPSHOT
17 ACTIVE      org.opendaylight.opendove.odmc.rest.northbound_0.4.0.SNAPSHOT
39 ACTIVE      org.opendaylight.opendove.odmc.northbound_0.4.0.SNAPSHOT
71 ACTIVE      org.opendaylight.opendove.odmc.rest.southbound_0.4.0.SNAPSHOT
93 ACTIVE      org.opendaylight.opendove.odmc.implementation_0.4.0.SNAPSHOT
212 ACTIVE      org.opendaylight.opendove.odmc.rest_0.4.0.SNAPSHOT
true
osgi> ss | grep openflow
19 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-impl_0.1.0.SNAPSHOT
124 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-spi_0.1.0.SNAPSHOT
157 ACTIVE      org.opendaylight.openflowplugin_0.0.1.SNAPSHOT
192 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-api_0.1.0.SNAPSHOT

./run.sh -virt vtn -of13

osgi> ss | grep affinity
false
osgi> ss | grep opendove
false
osgi> ss | grep ovsdb
false
osgi> ss | grep arphandler
false
osgi> ss | grep samples
false
osgi> ss | grep vtn
16 ACTIVE      org.opendaylight.vtn.manager_0.1.0.SNAPSHOT
97 ACTIVE      org.opendaylight.vtn.manager.implementation_0.1.0.SNAPSHOT
120 ACTIVE      org.opendaylight.vtn.manager.neutron_0.1.0.SNAPSHOT
219 ACTIVE      org.opendaylight.vtn.manager.northbound_0.1.0.SNAPSHOT
true
osgi> ss | grep openflow
18 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-impl_0.1.0.SNAPSHOT
116 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-spi_0.1.0.SNAPSHOT
146 ACTIVE      org.opendaylight.openflowplugin_0.0.1.SNAPSHOT
180 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-api_0.1.0.SNAPSHOT

In service provider edition:

./run.sh

osgi> ss | grep openflow
66 ACTIVE      org.opendaylight.controller.protocol_plugins.openflow_0.4.1.SNAPSHOT
98 ACTIVE      org.opendaylight.controller.thirdparty.org.openflow.openflowj_1.0.2

./run.sh -of13

osgi> ss | grep openflow
196 ACTIVE      org.opendaylight.openflowplugin_0.0.1.SNAPSHOT
244 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-spi_0.1.0.SNAPSHOT
263 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-impl_0.1.0.SNAPSHOT
275 ACTIVE      org.opendaylight.openflowjava.openflow-protocol-api_0.1.0.SNAPSHOT

Change-Id: Icc42b00b2caf0595b70324625fc75724446ad22a
Signed-off-by: Ed Warnicke <eaw@cisco.com>
distributions/base/pom.xml
distributions/base/src/assemble/bin.xml
distributions/base/src/assemble/resources/run.sh [new file with mode: 0755]
distributions/virtualization/src/assemble/resources/run.sh

index 4d68bfba7ccde4559a23c3b5ce659f8a1e499594..03da7c4abb5e17d585f2233646f3e2ef3c99b8dc 100644 (file)
@@ -38,6 +38,30 @@ http://maven.apache.org/maven-v4_0_0.xsd">
       <artifactId>ovsdb.northbound</artifactId>
       <version>0.5.0-SNAPSHOT</version>
     </dependency>
+    
+    <!-- openflowplugin -->
+    <dependency>
+      <groupId>org.opendaylight.openflowplugin</groupId>
+      <artifactId>openflowplugin</artifactId>
+      <version>0.0.1-SNAPSHOT</version>
+    </dependency>
+    
+    <!-- openflowjava -->
+    <dependency>
+      <groupId>org.opendaylight.openflowjava</groupId>
+      <artifactId>openflow-protocol-impl</artifactId>
+      <version>0.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.openflowjava</groupId>
+      <artifactId>openflow-protocol-api</artifactId>
+      <version>0.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.openflowjava</groupId>
+      <artifactId>openflow-protocol-spi</artifactId>
+      <version>0.1-SNAPSHOT</version>
+    </dependency>
   </dependencies>
   <build>
     <resources>
index f96368a088d08c1fa64fb6ce35315d4d3c8e62d1..19bf40efe2f5851b86464dd447590a72425f58ba 100644 (file)
     <fileSet>
       <directory>${project.build.directory}/generated-resources</directory>
       <outputDirectory>/</outputDirectory>
+      <excludes>
+          <exclude>opendaylight/run.sh</exclude>
+      </excludes>
     </fileSet>
   </fileSets>
+  <files>
+    <file>
+      <source>${project.build.directory}/generated-resources/opendaylight/run.sh</source>
+      <outputDirectory>/opendaylight/</outputDirectory>
+      <destName>run.internal.sh</destName>
+      <fileMode>0755</fileMode>
+    </file>
+    <file>
+      <source>${basedir}/src/assemble/resources/run.sh</source>
+      <outputDirectory>/opendaylight/</outputDirectory>
+      <fileMode>0755</fileMode>
+    </file>
+  </files>
 </assembly>
diff --git a/distributions/base/src/assemble/resources/run.sh b/distributions/base/src/assemble/resources/run.sh
new file mode 100755 (executable)
index 0000000..e2da807
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# Whatever executable basename we happen to be, lets replace it
+# with run.internal.sh
+RUNSH_BASENAME=`basename $0`
+CONTROLLER_RUNSH=`echo $0|sed "s;$RUNSH_BASENAME;run.internal.sh;"`
+
+OF_FILTER=
+
+# Be extra careful to pass on usage from run.internal.sh, but add our 
+# usage as well in the standard way
+function usage {
+    $CONTROLLER_RUNSH -help | sed 's/\[-help\]/\[-help\] \[-of13\] \[-bundlefilter \<bundlefilter\> \]/' | sed "s;$CONTROLLER_RUNSH;$0;"
+    exit 1
+}
+
+OF13=0
+BUNDLEFILTER=
+while true ; do
+    (( i += 1 ))
+    case "${@:$i:1}" in
+        -of13) OF13=1 ;;
+       -bundlefilter) (( i += 1 )); BUNDLEFILTER="|${@:$i:1}";;
+        -help) usage ;;
+       "") break ;;
+    esac
+done
+
+# OF Filter selection
+OF_FILTER="org.opendaylight.(openflowplugin|openflowjava)"
+if [ $OF13 -ne 0 ]; then
+    OF_FILTER="org.opendaylight.controller.(thirdparty.org.openflow|protocol_plugins.openflow)"
+fi
+
+# Make sure we suck out our additional args so as to not confuse
+# run.internal.sh
+NEWARGS=`echo $@|sed 's/-of13//'|sed 's/-bundlefilter[ \t]\+[^ \t]\+//'`
+
+# Build the filter string
+FILTERBEGINING='^(?!'
+FILTERENDING=').*'
+FILTER=${FILTERBEGINING}${OF_FILTER}${BUNDLEFILTER}${FILTERENDING}
+
+# Run the command
+$CONTROLLER_RUNSH -Dfelix.fileinstall.filter="$FILTER" $NEWARGS 
index bc13bfb231ff541e149adeca8227416dc0fda0d6..aa7a21ebfeffefb923396ac05a332b3cc1614fa5 100755 (executable)
@@ -34,4 +34,4 @@ else
     fi
 fi
 
-./run.base.sh -Dfelix.fileinstall.filter="^(?!org.opendaylight.(${ODL_VIRT_FILTER})).*" "${@:1:$virtIndex-1}" "${@:virtIndex+2}"
+./run.base.sh -bundlefilter "org.opendaylight.(${ODL_VIRT_FILTER})" "${@:1:$virtIndex-1}" "${@:virtIndex+2}"