CORD-180 Changed the way how learnt hosts are suppressed in gerrit 9195

Change-Id: I086ba82147ef716c076cb6140b03da2886515c32
diff --git a/src/main/java/org/onosproject/segmentrouting/HostHandler.java b/src/main/java/org/onosproject/segmentrouting/HostHandler.java
index 132bff5..d5c93fd 100644
--- a/src/main/java/org/onosproject/segmentrouting/HostHandler.java
+++ b/src/main/java/org/onosproject/segmentrouting/HostHandler.java
@@ -38,7 +38,6 @@
 import org.onosproject.net.flowobjective.ObjectiveContext;
 import org.onosproject.net.host.HostEvent;
 import org.onosproject.net.host.HostService;
-import org.onosproject.provider.netcfghost.NetworkConfigHostProvider;
 import org.onosproject.segmentrouting.config.SegmentRoutingAppConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -351,16 +350,12 @@
      * @return true if segment routing accepts the host
      */
     private boolean accepted(Host host) {
-        // Always accept configured hosts
-        if (host.providerId().equals(NetworkConfigHostProvider.PROVIDER_ID)) {
-            return true;
-        }
-
         SegmentRoutingAppConfig appConfig = srManager.cfgService
                 .getConfig(srManager.appId, SegmentRoutingAppConfig.class);
-        boolean accepted = appConfig != null &&
-                appConfig.hostLearning() &&
-                !appConfig.suppressHost().contains(host.location());
+
+        boolean accepted = appConfig == null ||
+                (!appConfig.suppressHostByProvider().contains(host.providerId().id()) &&
+                !appConfig.suppressHostByPort().contains(host.location()));
         if (!accepted) {
             log.info("Ignore suppressed host {}", host.id());
         }