summaryrefslogtreecommitdiffstats
path: root/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpWritersModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpWritersModule.java')
-rw-r--r--infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpWritersModule.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpWritersModule.java b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpWritersModule.java
index b16702968..589eeac7b 100644
--- a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpWritersModule.java
+++ b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpWritersModule.java
@@ -19,19 +19,34 @@ package io.fd.honeycomb.infra.bgp;
import com.google.inject.AbstractModule;
import com.google.inject.Singleton;
import com.google.inject.multibindings.Multibinder;
+import io.fd.honeycomb.infra.bgp.neighbors.BgpPeerWriterFactory;
import io.fd.honeycomb.translate.write.WriterFactory;
+import org.opendaylight.protocol.bgp.openconfig.impl.BGPOpenConfigMappingServiceImpl;
+import org.opendaylight.protocol.bgp.openconfig.spi.BGPOpenConfigMappingService;
+import org.opendaylight.protocol.bgp.rib.impl.StrictBGPPeerRegistry;
+import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+/**
+ * Provides integration of various BGP components with WriterRegistry
+ * in order to enable configuration updates/read via RESTCONF/NETCONF.
+ */
public final class BgpWritersModule extends AbstractModule {
private static final Logger LOG = LoggerFactory.getLogger(BgpWritersModule.class);
protected void configure() {
- LOG.debug("Initializing BgpReadersModule");
+ LOG.debug("Initializing BgpWritersModule");
// This should be part of BgpModule, but that one is Private and Multibinders + private BASE_MODULES
// do not work together, that's why there's a dedicated module here
// https://github.com/google/guice/issues/906
+
+ // Configure peer registry
+ bind(BGPOpenConfigMappingService.class).toInstance(new BGPOpenConfigMappingServiceImpl());
+ bind(BGPPeerRegistry.class).toInstance(StrictBGPPeerRegistry.instance());
+
final Multibinder<WriterFactory> binder = Multibinder.newSetBinder(binder(), WriterFactory.class);
- binder.addBinding().toProvider(BgpWriterFactoryProvider.class).in(Singleton.class);
+ binder.addBinding().to(ApplicationRibWriterFactory.class).in(Singleton.class);
+ binder.addBinding().to(BgpPeerWriterFactory.class).in(Singleton.class);
}
}