Added per node flow query 19/2119/1
authorAsad Ahmed <asaahmed@cisco.com>
Wed, 23 Oct 2013 20:59:54 +0000 (13:59 -0700)
committerAsad Ahmed <asaahmed@cisco.com>
Wed, 23 Oct 2013 21:08:19 +0000 (14:08 -0700)
Change-Id: Iab10ad1a38b69786ff2f3b36b070bcca40cc8ee5
Signed-off-by: Asad Ahmed <asaahmed@cisco.com>
opendaylight/commons/opendaylight/pom.xml
opendaylight/distribution/opendaylight/pom.xml
opendaylight/forwardingrulesmanager/api/pom.xml
opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/IForwardingRulesManager.java
opendaylight/forwardingrulesmanager/implementation/pom.xml
opendaylight/forwardingrulesmanager/implementation/src/main/java/org/opendaylight/controller/forwardingrulesmanager/internal/ForwardingRulesManager.java
opendaylight/forwardingrulesmanager/integrationtest/pom.xml
opendaylight/northbound/integrationtest/pom.xml

index 10b4ceab812ccad13e7c360930d22475633c3ec1..11373d968391ee58d112731f6a6c4e4acf09306b 100644 (file)
@@ -94,6 +94,7 @@
     <!-- Sonar properties using jacoco to retrieve integration test results -->
     <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
     <sonar.language>java</sonar.language>
+    <forwardingrulesmanager.version>0.5.0-SNAPSHOT</forwardingrulesmanager.version>
   </properties>
 
   <dependencyManagement>
index a3a323fc97b4eaa043aad6f7ae5fae89e12cb1b8..e7a612d41b887b01bdb503650e277a916770e055 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>${controller.version}</version>
+      <version>${forwardingrulesmanager.version}</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index d63d2c7646977801e356aed5fab579b9a77e74cd..2de9287670b446715144b9ffc37366267e461279 100644 (file)
@@ -15,7 +15,7 @@
   </scm>
 
   <artifactId>forwardingrulesmanager</artifactId>
-  <version>0.4.1-SNAPSHOT</version>
+  <version>0.5.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
 
   <build>
index 9f0005e7fb5b2aa3a7dea5cbfa62fdf11be94dab..9d68f84a3ae62dff4e968acba87cb8a4ec5e9b76 100644 (file)
@@ -433,4 +433,27 @@ public interface IForwardingRulesManager {
 
     public PortGroupProvider getPortGroupProvider();
 
+    /**
+     * Returns the list of Flow entries for a network node.
+     * This list contains the flows as they were
+     * requested to be installed by the applications, before any merging with
+     * container flow is done.
+     *
+     * @param node
+     * @return the original list of flow entries belonging to the specified node
+     */
+    public List<FlowEntry> getFlowEntriesForNode(Node node);
+
+    /**
+     * Returns the list of Flow entries installed in a network node.
+     * This list contains the effective flows installed
+     * on the nodes after the merging with any possible container flow was performed.
+     * If no container flow are specified, this method returns the same list as returned
+     * by getFlowEntriesForNode(Node node).
+     *
+     * @param node
+     * @return the list of container flow merged flow entries belonging to the specified node
+     */
+    public List<FlowEntry> getInstalledFlowEntriesForNode(Node node);
+
 }
index 710425014a6c7a167d901521f655715e7ab939a8..828d12b34e6ddf5ad8bb1c1e5536db8c1b110f57 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
+      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
index bbc6048d8465f86f2678bc72861895a224d14955..c8112737d79ccd72bf3a31e07ee63129fe6ccfb6 100644 (file)
@@ -3316,4 +3316,37 @@ public class ForwardingRulesManager implements
          * Do nothing
          */
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public List<FlowEntry> getFlowEntriesForNode(Node node) {
+        List<FlowEntry> list = new ArrayList<FlowEntry>();
+        if (node != null) {
+            for (Map.Entry<FlowEntry, FlowEntry> entry : this.originalSwView.entrySet()) {
+                if (node.equals(entry.getKey().getNode())) {
+                    list.add(entry.getKey().clone());
+                }
+            }
+        }
+        return list;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public List<FlowEntry> getInstalledFlowEntriesForNode(Node node) {
+        List<FlowEntry> list = new ArrayList<FlowEntry>();
+        if (node != null) {
+            List<FlowEntryInstall> flowEntryInstallList = this.nodeFlows.get(node);
+            if(flowEntryInstallList != null) {
+                for(FlowEntryInstall fi: flowEntryInstallList) {
+                    list.add(fi.getInstall().clone());
+                }
+            }
+        }
+        return list;
+    }
 }
index b84a01b792d4dea33f9a3bda7b3c8ed675bab9d5..fa6f0ab34342c6d7ea3f687d06cea5757f26b52e 100644 (file)
@@ -90,7 +90,7 @@
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
+      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
index db1e042ce43eae98126cd4f9914bffb1a0910fc2..04c152ad59ea164ad9bd7ef8eadbe2d820fc3d96 100644 (file)
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.4.1-SNAPSHOT</version>
+      <version>0.5.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>