diff options
Diffstat (limited to 'ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/IpsecModule.java')
-rw-r--r-- | ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/IpsecModule.java | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/IpsecModule.java b/ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/IpsecModule.java index 36dd8ae85..8670eb749 100644 --- a/ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/IpsecModule.java +++ b/ipsec/ipsec-impl/src/main/java/io/fd/hc2vpp/ipsec/IpsecModule.java @@ -16,7 +16,9 @@ package io.fd.hc2vpp.ipsec; +import com.google.common.annotations.VisibleForTesting; import com.google.inject.AbstractModule; +import com.google.inject.Provider; import com.google.inject.Singleton; import com.google.inject.multibindings.Multibinder; import io.fd.hc2vpp.common.translate.util.MultiNamingContext; @@ -24,6 +26,7 @@ import io.fd.hc2vpp.ipsec.read.IpsecReaderFactory; import io.fd.hc2vpp.ipsec.write.IpsecWriterFactory; import io.fd.honeycomb.translate.read.ReaderFactory; import io.fd.honeycomb.translate.write.WriterFactory; +import io.fd.vpp.jvpp.ikev2.future.FutureJVppIkev2Facade; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,11 +37,25 @@ public class IpsecModule extends AbstractModule { private static final Logger LOG = LoggerFactory.getLogger(IpsecModule.class); private static final String SAD_ENTRIES_MAPPING = "sad-entries-mapping"; + private final Class<? extends Provider<FutureJVppIkev2Facade>> jvppIkev2ProviderClass; + + public IpsecModule() { + this(JVppIkev2Provider.class); + } + + @VisibleForTesting + protected IpsecModule( + final Class<? extends Provider<FutureJVppIkev2Facade>> jvppIkev2ProviderClass) { + this.jvppIkev2ProviderClass = jvppIkev2ProviderClass; + } @Override protected void configure() { LOG.info("Installing IPSec module"); + // binds JVpp Ikev2 future facade + bind(FutureJVppIkev2Facade.class).toProvider(jvppIkev2ProviderClass).in(Singleton.class); + bind(MultiNamingContext.class).toInstance(new MultiNamingContext(SAD_ENTRIES_MAPPING, 1)); LOG.info("Injecting writers factories"); final Multibinder<WriterFactory> writerFactoryBinder = Multibinder.newSetBinder(binder(), WriterFactory.class); |