BUG-6890: Enabling barrier configurability through 14/46714/3
authorShuva Kar <shuva.jyoti.kar@ericsson.com>
Mon, 10 Oct 2016 07:11:03 +0000 (12:41 +0530)
committerShuva Jyoti Kar <shuva.jyoti.kar@ericsson.com>
Fri, 14 Oct 2016 14:44:34 +0000 (14:44 +0000)
cfg file

Change-Id: Iaada857a439c7774c6e31c27cc7be1b26c68ad1b
Signed-off-by: Shuva Kar <shuva.jyoti.kar@ericsson.com>
openflowplugin-api/src/main/java/org/opendaylight/openflowplugin/api/openflow/device/DeviceManager.java
openflowplugin-blueprint-config/src/main/resources/initial/openflowplugin.cfg
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/OpenFlowPluginProviderImpl.java
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/device/DeviceManagerImpl.java

index d93fc9b7b44b5efbd2082f12a78e1281ac5e9881..51f4ee680cf577467bb0068f3dd2a91b3356aa54 100644 (file)
@@ -35,5 +35,9 @@ public interface DeviceManager extends DeviceConnectedHandler, DeviceDisconnecte
 
     void setSkipTableFeatures(boolean skipTableFeatures);
 
+    void setBarrierCountLimit(int barrierCountLimit);
+
+    void setBarrierInterval(long barrierTimeoutLimit);
+
 }
 
index 4a46c3cd73178e2b26e9f6e7c78076d01b6071ac..417dd37828d032f3da1dede04f47b49154febfa4 100644 (file)
@@ -7,4 +7,10 @@ skip-table-features=true
 #Flag exposing backward compatible statistics rpcs providing result in form of async notification
 #deprecated usage
 #requires to be configured before switch connection, else require a switch restar
-is-statistics-rpc-enabled=false
\ No newline at end of file
+is-statistics-rpc-enabled=false
+#Timeout interval in milliseconds between each barrier message.
+#requires to be configured before switch connection, else require a switch restart
+barrier-interval-timeout-limit=500
+#Maximum outbound queue depth
+#requires to be configured before switch connection, else require a switch restart
+barrier-count-limit=25600
index 0b15c1b8d289d9f3973758cf41db22a6186ac409..f65ddd0fa07d8f307eb6d77fafd08fe9ad004b55 100644 (file)
@@ -279,6 +279,12 @@ public class OpenFlowPluginProviderImpl implements OpenFlowPluginProvider, OpenF
         if(rpcManager != null && props.containsKey("is-statistics-rpc-enabled")){
             rpcManager.setStatisticsRpcEnabled(Boolean.valueOf((props.get("is-statistics-rpc-enabled").toString())));
         }
+        if(deviceManager != null && props.containsKey("barrier-count-limit")){
+            deviceManager.setBarrierCountLimit(Integer.valueOf(props.get("barrier-count-limit").toString()));
+        }
+        if(deviceManager !=null && props.containsKey("barrier-interval-timeout-limit")){
+            deviceManager.setBarrierInterval(Long.valueOf(props.get("barrier-interval-timeout-limit").toString()));
+        }
     }
 
     private static void registerMXBean(final MessageIntelligenceAgency messageIntelligenceAgency) {
index f3b14296e7495a33d5d977e6d42ffc2f4295deb2..a3c51799ce028b92e1f0e06b8a64323063f0c832 100644 (file)
@@ -80,8 +80,8 @@ public class DeviceManagerImpl implements DeviceManager, ExtensionConverterProvi
     private final ConcurrentMap<DeviceInfo, DeviceContext> deviceContexts = new ConcurrentHashMap<>();
     private final ConcurrentMap<DeviceInfo, LifecycleService> lifecycleServices = new ConcurrentHashMap<>();
 
-    private final long barrierIntervalNanos;
-    private final int barrierCountLimit;
+    private long barrierIntervalNanos;
+    private int barrierCountLimit;
 
     private ExtensionConverterProvider extensionConverterProvider;
     private ScheduledThreadPoolExecutor spyPool;
@@ -377,4 +377,14 @@ public class DeviceManagerImpl implements DeviceManager, ExtensionConverterProvi
         skipTableFeatures = skipTableFeaturesValue;
     }
 
+    @Override
+    public void setBarrierCountLimit(final int barrierCountLimit) {
+        this.barrierCountLimit = barrierCountLimit;
+    }
+
+    @Override
+    public void setBarrierInterval(final long barrierTimeoutLimit) {
+        this.barrierIntervalNanos = TimeUnit.MILLISECONDS.toNanos(barrierTimeoutLimit);
+    }
+
 }