From 765a96d7a9fdaa927ed803eb67a6b4f67ed4886a Mon Sep 17 00:00:00 2001 From: Matus Marko Date: Thu, 9 Jul 2015 15:25:05 +0200 Subject: [PATCH] Bug 2875 - fix initiating OFPT_HELLO over SSL from the controller Change-Id: I69a19898c2d4ea916f895d588dc9af20f036e1ef Signed-off-by: Matus Marko --- .gitignore | 3 +++ .../protocol/impl/core/TcpChannelInitializer.java | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1e44f73b..49e9ad86 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ target/ .externalToolBuilders/ maven-eclipse.xml .checkstyle +.idea +*.iws +*.iml diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/TcpChannelInitializer.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/TcpChannelInitializer.java index 43277eaa..3be9f96f 100644 --- a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/TcpChannelInitializer.java +++ b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/TcpChannelInitializer.java @@ -19,6 +19,8 @@ import java.util.concurrent.TimeUnit; import javax.net.ssl.SSLEngine; +import io.netty.util.concurrent.Future; +import io.netty.util.concurrent.GenericFutureListener; import org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionAdapterFactory; import org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionAdapterFactoryImpl; import org.opendaylight.openflowjava.protocol.impl.core.connection.ConnectionFacade; @@ -85,7 +87,16 @@ public class TcpChannelInitializer extends ProtocolChannelInitializer handshakeFuture = ssl.handshakeFuture(); + final ConnectionFacade finalConnectionFacade = connectionFacade; + handshakeFuture.addListener(new GenericFutureListener>() { + @Override + public void operationComplete(Future future) throws Exception { + finalConnectionFacade.fireConnectionReadyNotification(); + } + }); + ch.pipeline().addLast(PipelineHandlers.SSL_HANDLER.name(), ssl); } ch.pipeline().addLast(PipelineHandlers.OF_FRAME_DECODER.name(), new OFFrameDecoder(connectionFacade, tlsPresent)); -- 2.36.6