diff --git a/src/main/java/net/floodlightcontroller/core/internal/Controller.java b/src/main/java/net/floodlightcontroller/core/internal/Controller.java index 7246518dbf60808a5920d295b630f60a19f9cfb3..f1821e5b66978c3c9a219ec6d6e335b4b1bb498e 100644 --- a/src/main/java/net/floodlightcontroller/core/internal/Controller.java +++ b/src/main/java/net/floodlightcontroller/core/internal/Controller.java @@ -221,7 +221,7 @@ public class Controller implements IFloodlightProviderService, protected static final String CONTROLLER_INTERFACE_DISCOVERED_IP = "discovered_ip"; // Perf. related configuration - protected static final int SEND_BUFFER_SIZE = 4 * 1024 * 1024; + protected int sendBufferSize = 4 * 1024 * 1024; public static final int BATCH_MAX_SIZE = 100; protected static final boolean ALWAYS_DECODE_ETH = true; @@ -1721,7 +1721,7 @@ public class Controller implements IFloodlightProviderService, bootstrap.setOption("reuseAddr", true); bootstrap.setOption("child.keepAlive", true); bootstrap.setOption("child.tcpNoDelay", true); - bootstrap.setOption("child.sendBufferSize", Controller.SEND_BUFFER_SIZE); + bootstrap.setOption("child.sendBufferSize", sendBufferSize); ChannelPipelineFactory pfact = new OpenflowPipelineFactory(this, null); @@ -1777,7 +1777,11 @@ public class Controller implements IFloodlightProviderService, this.workerThreads = Integer.parseInt(threads); } log.debug("Number of worker threads set to {}", this.workerThreads); - + String sendBufferStr = configParams.get("sendBufferSize"); + if (sendBufferStr != null) { + this.sendBufferSize = Integer.parseInt(sendBufferStr); + } + log.debug("Send buffer size set to {}", sendBufferSize); } private void initVendorMessages() {