diff options
Diffstat (limited to 'framework/src/onos/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenflowPipelineFactory.java')
-rw-r--r-- | framework/src/onos/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenflowPipelineFactory.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/framework/src/onos/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenflowPipelineFactory.java b/framework/src/onos/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenflowPipelineFactory.java index c7ba105c..1467520d 100644 --- a/framework/src/onos/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenflowPipelineFactory.java +++ b/framework/src/onos/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OpenflowPipelineFactory.java @@ -27,6 +27,10 @@ import org.jboss.netty.handler.timeout.ReadTimeoutHandler; import org.jboss.netty.util.ExternalResourceReleasable; import org.jboss.netty.util.HashedWheelTimer; import org.jboss.netty.util.Timer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLEngine; /** * Creates a ChannelPipeline for a server-side openflow channel. @@ -34,6 +38,9 @@ import org.jboss.netty.util.Timer; public class OpenflowPipelineFactory implements ChannelPipelineFactory, ExternalResourceReleasable { + private final Logger log = LoggerFactory.getLogger(getClass()); + + private final SSLEngine sslEngine; protected Controller controller; protected ThreadPoolExecutor pipelineExecutor; protected Timer timer; @@ -41,13 +48,15 @@ public class OpenflowPipelineFactory protected ReadTimeoutHandler readTimeoutHandler; public OpenflowPipelineFactory(Controller controller, - ThreadPoolExecutor pipelineExecutor) { + ThreadPoolExecutor pipelineExecutor, + SSLEngine sslEngine) { super(); this.controller = controller; this.pipelineExecutor = pipelineExecutor; this.timer = new HashedWheelTimer(); this.idleHandler = new IdleStateHandler(timer, 20, 25, 0); this.readTimeoutHandler = new ReadTimeoutHandler(timer, 30); + this.sslEngine = sslEngine; } @Override @@ -55,6 +64,13 @@ public class OpenflowPipelineFactory OFChannelHandler handler = new OFChannelHandler(controller); ChannelPipeline pipeline = Channels.pipeline(); + if (sslEngine != null) { + log.info("OpenFlow SSL enabled."); + pipeline.addLast("ssl", + new org.jboss.netty.handler.ssl.SslHandler(sslEngine)); + } else { + log.info("OpenFlow SSL disabled"); + } pipeline.addLast("ofmessagedecoder", new OFMessageDecoder()); pipeline.addLast("ofmessageencoder", new OFMessageEncoder()); pipeline.addLast("idle", idleHandler); |