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;
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);
}
}
private DefaultChannelGroup allChannels;
private SwitchConnectionHandler switchConnectionHandler;
private long switchIdleTimeout;
+ private boolean encryption;
/**
* default ctor
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());
public void setSwitchIdleTimeout(long switchIdleTimeout) {
this.switchIdleTimeout = switchIdleTimeout;
}
+
+ /**
+ * @param tlsSupported
+ */
+ public void setEncryption(boolean tlsSupported) {
+ encryption = tlsSupported;
+ }
}