Add test cases to test subscriber multi-table support with ONOS using CPQD and a new ONOS app.
This would verify single channel multiple subscriber joins using cpqd.
ONOS multi-table support was found to be broken with cordmcast.
Hence a new app similar to cordmcast was added to verify if multi-table rules were provisioned with ONOS
cpqd pipeline driver.
Using a different subscriber port per subscriber and provisioning an uplink port to be used
for IGMP traffic, it was found that ONOS cpqd driver fails to provision multi-table flows using group ids.
The subscriberMultiTable tests uses the new cordigmp multitable app to provision multicast flows in ONOS
enabling the spring-open-cpqd pipeline driver with ONOS when using CPQD.

If you want to verify/run the subscriberMultiTable test, first rebuild the test container with cpqd using:
sudo cord-test.py build test
And then run the subscriberMultiTable test: test_subscriber_join_recv using:
cord-test.run run --radius -t subscriberMultiTable:subscriber_exchange.test_subscriber_join_recv -k
diff --git a/src/test/apps/ciena-cordigmp.multi-table/pom.xml b/src/test/apps/ciena-cordigmp.multi-table/pom.xml
new file mode 100644
index 0000000..4c49010
--- /dev/null
+++ b/src/test/apps/ciena-cordigmp.multi-table/pom.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  ~ Copyright 2016 Open Networking Laboratory

+  ~

+  ~ Licensed under the Apache License, Version 2.0 (the "License");

+  ~ you may not use this file except in compliance with the License.

+  ~ You may obtain a copy of the License at

+  ~

+  ~     http://www.apache.org/licenses/LICENSE-2.0

+  ~

+  ~ Unless required by applicable law or agreed to in writing, software

+  ~ distributed under the License is distributed on an "AS IS" BASIS,

+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  ~ See the License for the specific language governing permissions and

+  ~ limitations under the License.

+  -->

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

+    <modelVersion>4.0.0</modelVersion>

+

+    <groupId>org.ciena.cordigmp</groupId>

+    <artifactId>ciena-cordigmp</artifactId>

+    <version>1.0-SNAPSHOT</version>

+    <packaging>bundle</packaging>

+

+    <description>Ciena CORD IGMP for OVS</description>

+    <url>http://onosproject.org</url>

+

+    <properties>

+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

+        <onos.version>1.6.0-SNAPSHOT</onos.version>

+        <onos.app.name>org.ciena.cordigmp</onos.app.name>

+        <onos.app.title>Ciena IGMP for OVS</onos.app.title>

+        <onos.app.origin>Ciena Inc.</onos.app.origin>

+        <onos.app.category>default</onos.app.category>

+        <onos.app.url>http://onosproject.org</onos.app.url>

+        <onos.app.readme>ONOS OSGi bundle archetype.</onos.app.readme>

+    </properties>

+

+    <dependencies>

+        <dependency>

+            <groupId>org.onosproject</groupId>

+            <artifactId>onos-api</artifactId>

+            <version>${onos.version}</version>

+        </dependency>

+

+        <dependency>

+            <groupId>org.onosproject</groupId>

+            <artifactId>onos-cord-config</artifactId>

+            <version>${onos.version}</version>

+        </dependency>

+

+        <dependency>

+            <groupId>org.onosproject</groupId>

+            <artifactId>onlab-osgi</artifactId>

+            <version>${onos.version}</version>

+        </dependency>

+

+        <dependency>

+            <groupId>junit</groupId>

+            <artifactId>junit</artifactId>

+            <version>4.12</version>

+            <scope>test</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.onosproject</groupId>

+            <artifactId>onos-api</artifactId>

+            <version>${onos.version}</version>

+            <scope>test</scope>

+            <classifier>tests</classifier>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.felix</groupId>

+            <artifactId>org.apache.felix.scr.annotations</artifactId>

+            <version>1.9.12</version>

+            <scope>provided</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.onosproject</groupId>

+            <artifactId>onos-cli</artifactId>

+            <version>${onos.version}</version>

+        </dependency>

+      <dependency>

+            <groupId>org.osgi</groupId>

+            <artifactId>org.osgi.compendium</artifactId>

+            <version>5.0.0</version>

+        </dependency>

+      <dependency>

+        <groupId>com.google.guava</groupId>

+        <artifactId>guava</artifactId>

+        <version>19.0</version>

+      </dependency>

+    </dependencies>

+

+    <build>

+        <plugins>

+            <plugin>

+                <groupId>org.apache.felix</groupId>

+                <artifactId>maven-bundle-plugin</artifactId>

+                <version>3.0.1</version>

+                <extensions>true</extensions>

+            </plugin>

+            <plugin>

+                <groupId>org.apache.maven.plugins</groupId>

+                <artifactId>maven-compiler-plugin</artifactId>

+                <version>2.5.1</version>

+                <configuration>

+                    <source>1.8</source>

+                    <target>1.8</target>

+                </configuration>

+            </plugin>

+            <plugin>

+                <groupId>org.apache.felix</groupId>

+                <artifactId>maven-scr-plugin</artifactId>

+                <version>1.21.0</version>

+                <executions>

+                    <execution>

+                        <id>generate-scr-srcdescriptor</id>

+                        <goals>

+                            <goal>scr</goal>

+                        </goals>

+                    </execution>

+                </executions>

+                <configuration>

+                    <supportedProjectTypes>

+                        <supportedProjectType>bundle</supportedProjectType>

+                        <supportedProjectType>war</supportedProjectType>

+                    </supportedProjectTypes>

+                </configuration>

+            </plugin>

+            <plugin>

+                <groupId>org.onosproject</groupId>

+                <artifactId>onos-maven-plugin</artifactId>

+                <version>1.9</version>

+                <executions>

+                    <execution>

+                        <id>cfg</id>

+                        <phase>generate-resources</phase>

+                        <goals>

+                            <goal>cfg</goal>

+                        </goals>

+                    </execution>

+                    <execution>

+                        <id>swagger</id>

+                        <phase>generate-sources</phase>

+                        <goals>

+                            <goal>swagger</goal>

+                        </goals>

+                    </execution>

+                    <execution>

+                        <id>app</id>

+                        <phase>package</phase>

+                        <goals>

+                            <goal>app</goal>

+                        </goals>

+                    </execution>

+                </executions>

+            </plugin>

+        </plugins>

+    </build>

+

+</project>