TlsDetector pipeline engaging parameterizable 26/2826/2
authorMichal Polkorab <michal.polkorab@pantheon.sk>
Mon, 18 Nov 2013 14:19:33 +0000 (15:19 +0100)
committerMichal Polkorab <michal.polkorab@pantheon.sk>
Mon, 18 Nov 2013 14:55:40 +0000 (15:55 +0100)
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Change-Id: I4015d4a4b0ad9de50c1f9ba450d56c3b2acaacf4

openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/connection/SwitchConnectionProviderImpl.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/PublishingChannelInitializer.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/TcpHandler.java

index fe05db416b1f43e05c00b84632c753278b615ce6..3547db2ac1abd84b69d6dc25c0a0ca9d76a7fce6 100644 (file)
@@ -10,6 +10,7 @@ import java.util.Set;
 import java.util.concurrent.Future;
 
 import org.opendaylight.openflowjava.protocol.api.connection.ConnectionConfiguration;
+import org.opendaylight.openflowjava.protocol.api.connection.ConnectionConfiguration.FEATURE_SUPPORT;
 import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler;
 import org.opendaylight.openflowjava.protocol.impl.core.TcpHandler;
 import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
@@ -42,6 +43,8 @@ public class SwitchConnectionProviderImpl implements SwitchConnectionProvider {
             TcpHandler server = new TcpHandler(connConfig.getAddress(), connConfig.getPort());
             server.setSwitchConnectionHandler(switchConnectionHandler);
             server.setSwitchIdleTimeout(connConfig.getSwitchIdleTimeout());
+            boolean tlsSupported = FEATURE_SUPPORT.REQUIRED.equals(connConfig.getTlsSupport());
+            server.setEncryption(tlsSupported);
             serverLot.add(server);
         }
     }
index cc11a28db51865192576b757d50239f362833581..953831042c56e84d718593518a9da35df31c7306 100644 (file)
@@ -28,6 +28,7 @@ public class PublishingChannelInitializer extends ChannelInitializer<SocketChann
     private DefaultChannelGroup allChannels;
     private SwitchConnectionHandler switchConnectionHandler;
     private long switchIdleTimeout;
+    private boolean encryption;
     
     /**
      * default ctor
@@ -53,12 +54,13 @@ public class PublishingChannelInitializer extends ChannelInitializer<SocketChann
             LOGGER.debug("calling plugin: "+switchConnectionHandler);
             switchConnectionHandler.onSwitchConnected(connectionFacade);
             connectionFacade.checkListeners();
-
-            TlsDetector tlsDetector = new TlsDetector();
-            tlsDetector.setConnectionFacade(connectionFacade);
-            
+            TlsDetector tlsDetector;
             ch.pipeline().addLast(COMPONENT_NAMES.IDLE_HANDLER.name(), new IdleHandler(switchIdleTimeout, 0, 0, TimeUnit.MILLISECONDS));
-            ch.pipeline().addLast(COMPONENT_NAMES.TLS_DETECTOR.name(), tlsDetector);
+            if (encryption) {
+                tlsDetector =  new TlsDetector();
+                tlsDetector.setConnectionFacade(connectionFacade);
+                ch.pipeline().addLast(COMPONENT_NAMES.TLS_DETECTOR.name(), tlsDetector);
+            }
             ch.pipeline().addLast(COMPONENT_NAMES.OF_FRAME_DECODER.name(), new OFFrameDecoder());
             ch.pipeline().addLast(COMPONENT_NAMES.OF_VERSION_DETECTOR.name(), new OFVersionDetector());
             ch.pipeline().addLast(COMPONENT_NAMES.OF_DECODER.name(), new OF13Decoder());
@@ -97,5 +99,12 @@ public class PublishingChannelInitializer extends ChannelInitializer<SocketChann
     public void setSwitchIdleTimeout(long switchIdleTimeout) {
         this.switchIdleTimeout = switchIdleTimeout;
     }
+
+    /**
+     * @param tlsSupported
+     */
+    public void setEncryption(boolean tlsSupported) {
+        encryption = tlsSupported;
+    }
     
 }
index 92ef7dac4f3fe891f5f4d68e529455fc7262d073..3c74cf3030d35e510a460e100db2bbbfca4ef637 100644 (file)
@@ -209,5 +209,12 @@ public class TcpHandler implements ServerFacade {
     public void setSwitchIdleTimeout(long switchIdleTimeout) {
         channelInitializer.setSwitchIdleTimeout(switchIdleTimeout);
     }
+
+    /**
+     * @param tlsSupported
+     */
+    public void setEncryption(boolean tlsSupported) {
+        channelInitializer.setEncryption(tlsSupported);
+    }
     
 }