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=bde6932a626dc10d70612b1d3ca03d4d203db3eb;hpb=400baaf54049cf4d6159e7c03b7c6e724eaa5aa5;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 bde6932a62..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 @@ -199,14 +199,29 @@ public interface IForwardingRulesManager { /** * Returns the list of Flow entries across network nodes which are part of - * the same flow group, policy + * the same flow group, policy. This list contains the flows as they were + * requested to be installed by the applications, before any merging with + * container flow is done. * * @param group * the group name - * @return the list of flow entries belonging to the specified group + * @return the original list of flow entries belonging to the specified group */ public List getFlowEntriesForGroup(String group); + /** + * Returns the list of Flow entries installed in network nodes which are part of + * the same flow group, policy. 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 returned + * by getFlowEntriesForGroup(String group). + * + * @param group + * the group name + * @return the list of container flow merged flow entries belonging to the specified group + */ + public List getInstalledFlowEntriesForGroup(String policyName); + /** * Add a list of output port to the flow with the specified name on the * specified network node @@ -350,12 +365,19 @@ public interface IForwardingRulesManager { * * @param config * the {@code FlowConfig} object representing the static flow - * @param restore - * if set to true, the config object validation will be skipped. - * Used only internally, always set it to false. * @return the {@code Status} object indicating the result of this action. */ - public Status addStaticFlow(FlowConfig config, boolean restore); + 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 @@ -367,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 @@ -374,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); @@ -389,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 @@ -421,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); + }