diff --git a/core/api/src/main/java/org/onosproject/net/flow/FlowRuleProvider.java b/core/api/src/main/java/org/onosproject/net/flow/FlowRuleProvider.java index d20f9aa0a4..d94bc8f513 100644 --- a/core/api/src/main/java/org/onosproject/net/flow/FlowRuleProvider.java +++ b/core/api/src/main/java/org/onosproject/net/flow/FlowRuleProvider.java @@ -15,7 +15,6 @@ */ package org.onosproject.net.flow; -import org.onosproject.core.ApplicationId; import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.onosproject.net.provider.Provider; @@ -44,16 +43,6 @@ public interface FlowRuleProvider extends Provider { */ void removeFlowRule(FlowRule... flowRules); - /** - * Removes rules by their id. - * - * @param id the id to remove - * @param flowRules one or more flow rules - * @deprecated since 1.5.0 Falcon - */ - @Deprecated - void removeRulesById(ApplicationId id, FlowRule... flowRules); - /** * Installs a batch of flow rules. Each flowrule is associated to an * operation which results in either addition, removal or modification. diff --git a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java index 8a3d724bc1..1b18452a86 100644 --- a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java +++ b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java @@ -16,13 +16,10 @@ package org.onosproject.net.flow.impl; -import static com.google.common.collect.Lists.newArrayList; import com.google.common.collect.ImmutableList; import com.google.common.collect.LinkedListMultimap; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; - -import org.onosproject.core.ApplicationId; import org.onosproject.mastership.MastershipService; import org.onosproject.net.Device; import org.onosproject.net.DeviceId; @@ -32,29 +29,33 @@ import org.onosproject.net.device.DeviceListener; import org.onosproject.net.device.DeviceService; import org.onosproject.net.flow.CompletedBatchOperation; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.onosproject.net.flow.FlowRuleProgrammable; import org.onosproject.net.flow.FlowRuleProvider; import org.onosproject.net.flow.FlowRuleProviderService; import org.onosproject.net.flow.TableStatisticsEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Collection; +import java.util.List; import java.util.Set; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; -import java.util.List; import static com.google.common.collect.ImmutableSet.copyOf; +import static com.google.common.collect.Lists.newArrayList; import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor; import static org.onlab.util.Tools.groupedThreads; -import static org.onosproject.net.device.DeviceEvent.Type.*; -import static org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry.FlowRuleOperation.*; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_ADDED; +import static org.onosproject.net.device.DeviceEvent.Type.DEVICE_AVAILABILITY_CHANGED; +import static org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry.FlowRuleOperation.ADD; +import static org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry.FlowRuleOperation.MODIFY; +import static org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry.FlowRuleOperation.REMOVE; /** * Driver-based flow rule provider. @@ -127,11 +128,6 @@ class FlowRuleDriverProvider extends AbstractProvider implements FlowRuleProvide rulesByDevice(flowRules).asMap().forEach(this::removeFlowRules); } - @Override - public void removeRulesById(ApplicationId id, FlowRule... flowRules) { - removeFlowRule(flowRules); - } - @Override public void executeBatch(FlowRuleBatchOperation batch) { ImmutableList.Builder toAdd = ImmutableList.builder(); diff --git a/core/net/src/test/java/org/onosproject/net/flow/impl/FlowRuleManagerTest.java b/core/net/src/test/java/org/onosproject/net/flow/impl/FlowRuleManagerTest.java index 67ed692bb1..e0b535f742 100644 --- a/core/net/src/test/java/org/onosproject/net/flow/impl/FlowRuleManagerTest.java +++ b/core/net/src/test/java/org/onosproject/net/flow/impl/FlowRuleManagerTest.java @@ -525,10 +525,6 @@ public class FlowRuleManagerTest { public void removeFlowRule(FlowRule... flowRules) { } - @Override - public void removeRulesById(ApplicationId id, FlowRule... flowRules) { - } - @Override public void executeBatch(FlowRuleBatchOperation batch) { // TODO: need to call batchOperationComplete diff --git a/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java b/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java index 024e8a3f0f..9593920c75 100644 --- a/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java +++ b/providers/bgpcep/flow/src/main/java/org/onosproject/provider/bgpcep/flow/impl/BgpcepFlowRuleProvider.java @@ -15,20 +15,19 @@ */ package org.onosproject.provider.bgpcep.flow.impl; +import org.onosproject.net.flow.FlowRule; +import org.onosproject.net.flow.FlowRuleProvider; +import org.onosproject.net.flow.FlowRuleProviderRegistry; +import org.onosproject.net.flow.FlowRuleProviderService; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; +import org.onosproject.net.provider.AbstractProvider; +import org.onosproject.net.provider.ProviderId; +import org.osgi.service.component.ComponentContext; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Reference; import org.osgi.service.component.annotations.ReferenceCardinality; -import org.onosproject.core.ApplicationId; -import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; -import org.onosproject.net.flow.FlowRuleProvider; -import org.onosproject.net.flow.FlowRuleProviderRegistry; -import org.onosproject.net.flow.FlowRuleProviderService; -import org.onosproject.net.provider.AbstractProvider; -import org.onosproject.net.provider.ProviderId; -import org.osgi.service.component.ComponentContext; import org.slf4j.Logger; import static org.slf4j.LoggerFactory.getLogger; @@ -79,12 +78,6 @@ public class BgpcepFlowRuleProvider extends AbstractProvider } - @Override - public void removeRulesById(ApplicationId id, FlowRule... flowRules) { - // TODO Auto-generated method stub - - } - @Override public void executeBatch(FlowRuleBatchOperation batch) { // TODO Auto-generated method stub diff --git a/providers/null/src/main/java/org/onosproject/provider/nil/NullFlowRuleProvider.java b/providers/null/src/main/java/org/onosproject/provider/nil/NullFlowRuleProvider.java index f118f09da8..cbfe3ef665 100644 --- a/providers/null/src/main/java/org/onosproject/provider/nil/NullFlowRuleProvider.java +++ b/providers/null/src/main/java/org/onosproject/provider/nil/NullFlowRuleProvider.java @@ -16,21 +16,18 @@ package org.onosproject.provider.nil; import com.google.common.collect.Sets; - import io.netty.util.Timeout; import io.netty.util.TimerTask; - import org.onlab.util.Timer; -import org.onosproject.core.ApplicationId; import org.onosproject.net.DeviceId; import org.onosproject.net.flow.CompletedBatchOperation; import org.onosproject.net.flow.DefaultFlowEntry; import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.onosproject.net.flow.FlowRuleProvider; import org.onosproject.net.flow.FlowRuleProviderService; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.slf4j.Logger; import java.util.Collections; @@ -88,11 +85,6 @@ class NullFlowRuleProvider extends NullProviders.AbstractNullProvider } } - @Override - public void removeRulesById(ApplicationId id, FlowRule... flowRules) { - throw new UnsupportedOperationException("Cannot remove by appId from null provider"); - } - @Override public void executeBatch(FlowRuleBatchOperation batch) { // TODO: consider checking mastership diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java index 2fafb8c223..87303787ce 100644 --- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java +++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/OpenFlowRuleProvider.java @@ -23,17 +23,9 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; - import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; -import org.osgi.service.component.annotations.Activate; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.Deactivate; -import org.osgi.service.component.annotations.Modified; -import org.osgi.service.component.annotations.Reference; -import org.osgi.service.component.annotations.ReferenceCardinality; import org.onosproject.cfg.ComponentConfigService; -import org.onosproject.core.ApplicationId; import org.onosproject.net.DeviceId; import org.onosproject.net.driver.DefaultDriverData; import org.onosproject.net.driver.DefaultDriverHandler; @@ -44,13 +36,13 @@ import org.onosproject.net.flow.CompletedBatchOperation; import org.onosproject.net.flow.DefaultTableStatisticsEntry; import org.onosproject.net.flow.FlowEntry; import org.onosproject.net.flow.FlowRule; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; -import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.onosproject.net.flow.FlowRuleProvider; import org.onosproject.net.flow.FlowRuleProviderRegistry; import org.onosproject.net.flow.FlowRuleProviderService; -import org.onosproject.net.flow.TableStatisticsEntry; import org.onosproject.net.flow.IndexTableId; +import org.onosproject.net.flow.TableStatisticsEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchEntry; +import org.onosproject.net.flow.oldbatch.FlowRuleBatchOperation; import org.onosproject.net.provider.AbstractProvider; import org.onosproject.net.provider.ProviderId; import org.onosproject.net.statistic.DefaultLoad; @@ -62,6 +54,12 @@ import org.onosproject.openflow.controller.OpenFlowSwitchListener; import org.onosproject.openflow.controller.RoleState; import org.onosproject.provider.of.flow.util.FlowEntryBuilder; import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Modified; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; import org.projectfloodlight.openflow.protocol.OFBadRequestCode; import org.projectfloodlight.openflow.protocol.OFBarrierRequest; import org.projectfloodlight.openflow.protocol.OFCapabilities; @@ -101,7 +99,10 @@ import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Strings.isNullOrEmpty; import static org.onlab.util.Tools.get; -import static org.onosproject.provider.of.flow.impl.OsgiPropertyConstants.*; +import static org.onosproject.provider.of.flow.impl.OsgiPropertyConstants.ADAPTIVE_FLOW_SAMPLING; +import static org.onosproject.provider.of.flow.impl.OsgiPropertyConstants.ADAPTIVE_FLOW_SAMPLING_DEFAULT; +import static org.onosproject.provider.of.flow.impl.OsgiPropertyConstants.POLL_FREQUENCY; +import static org.onosproject.provider.of.flow.impl.OsgiPropertyConstants.POLL_FREQUENCY_DEFAULT; import static org.slf4j.LoggerFactory.getLogger; /** @@ -330,12 +331,6 @@ public class OpenFlowRuleProvider extends AbstractProvider Optional.empty(), Optional.of(driverService)).buildFlowDel()); } - @Override - public void removeRulesById(ApplicationId id, FlowRule... flowRules) { - // TODO: optimize using the ApplicationId - removeFlowRule(flowRules); - } - @Override public void executeBatch(FlowRuleBatchOperation batch) { checkNotNull(batch);