X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fforwardingrulesmanager%2Fapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fforwardingrulesmanager%2FIForwardingRulesManager.java;h=070e8c499800c39068bbb16d2a879a4eb353497b;hb=fba140bf09ffbf8694aa41f544caaa331c2ec29a;hp=9f0005e7fb5b2aa3a7dea5cbfa62fdf11be94dab;hpb=759571ec891a260413a377483b45abe2e17fe18b;p=controller.git diff --git a/opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/IForwardingRulesManager.java b/opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/IForwardingRulesManager.java index 9f0005e7fb..070e8c4998 100644 --- a/opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/IForwardingRulesManager.java +++ b/opendaylight/forwardingrulesmanager/api/src/main/java/org/opendaylight/controller/forwardingrulesmanager/IForwardingRulesManager.java @@ -369,6 +369,16 @@ public interface IForwardingRulesManager { */ public Status addStaticFlow(FlowConfig config); + /** + * Add a flow specified by the {@code FlowConfig} object on the current + * container, through an asynchronous call. + * + * @param config + * the {@code FlowConfig} object representing the static flow + * @return the {@code Status} object indicating the result of this action. + */ + public Status addStaticFlowAsync(FlowConfig config); + /** * Remove a flow specified by the {@code FlowConfig} object on the current * container @@ -379,6 +389,16 @@ public interface IForwardingRulesManager { */ public Status removeStaticFlow(FlowConfig config); + /** + * Remove a flow specified by the {@code FlowConfig} object on the current + * container, through an asynchronous call. + * + * @param config + * the {@code FlowConfig} object representing the static flow + * @return the {@code Status} object indicating the result of this action + */ + public Status removeStaticFlowAsync(FlowConfig config); + /** * Replace the flow identified by the {@code FlowConfig.name} name for the * {@code FlowConfig.node} network node with the new flow specified by @@ -386,7 +406,7 @@ public interface IForwardingRulesManager { * * @param config * the {@code FlowConfig} object - * @returnthe {@code Status} object indicating the result of this action + * @return the {@code Status} object indicating the result of this action */ public Status modifyStaticFlow(FlowConfig config); @@ -401,6 +421,18 @@ public interface IForwardingRulesManager { */ public Status removeStaticFlow(String name, Node node); + /** + * Remove the flow specified by name on the passed network node via an + * asynchronous call + * + * @param name + * for the static flow + * @param node + * on which the flow is attached + * @return the {@code Status} object indicating the result of this action + */ + public Status removeStaticFlowAsync(String name, Node node); + /** * Toggle the installation status of the specified configured flow If the * flow configuration status is active, this call will change the flow @@ -433,4 +465,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 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 getInstalledFlowEntriesForNode(Node node); + }