diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2017-07-21 15:26:10 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2017-08-03 07:53:43 +0200 |
commit | fd692c20d9dc48529aa7d545397f1b009d3bd479 (patch) | |
tree | 9df2be315acf1600212424c7ef2f6db62151a303 /infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpExtensionsModule.java | |
parent | 8768252309014a2a1cfc71b9e78cfd3de3dae1f9 (diff) |
HONEYCOMB-362: bump ODL dependencies to Carbon
Change-Id: I63fa239e34178ab03c4eecd421bf19d80303d30e
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpExtensionsModule.java')
-rw-r--r-- | infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpExtensionsModule.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpExtensionsModule.java b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpExtensionsModule.java index b096e3dbd..4f9ab7a61 100644 --- a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpExtensionsModule.java +++ b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpExtensionsModule.java @@ -19,12 +19,30 @@ package io.fd.honeycomb.infra.bgp; import com.google.inject.AbstractModule; import com.google.inject.Singleton; import com.google.inject.multibindings.Multibinder; +import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionConsumerContext; import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderActivator; import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext; import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderActivator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4LABELLEDUNICAST; +import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV4UNICAST; +import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV6LABELLEDUNICAST; +import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.IPV6UNICAST; +import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.L2VPNEVPN; +import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.L3VPNIPV4UNICAST; +import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.types.rev151009.L3VPNIPV6UNICAST; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev160321.EvpnSubsequentAddressFamily; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.evpn.rev160321.L2vpnAddressFamily; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.labeled.unicast.rev150525.LabeledUnicastSubsequentAddressFamily; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.LinkstateAddressFamily; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.LinkstateSubsequentAddressFamily; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev160614.LINKSTATE; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.Ipv4AddressFamily; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.Ipv6AddressFamily; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.MplsLabeledVpnSubsequentAddressFamily; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.UnicastSubsequentAddressFamily; /** * Registers BGP extensions provided by ODL implementation. @@ -41,6 +59,7 @@ final class BgpExtensionsModule extends AbstractModule { // https://github.com/google/guice/issues/906 configureRIBExtensions(); configureBGPExtensions(); + configureTableTypes(); } private void configureRIBExtensions() { @@ -69,4 +88,39 @@ final class BgpExtensionsModule extends AbstractModule { bind(BGPExtensionConsumerContext.class).toProvider(BGPExtensionConsumerContextProvider.class) .in(Singleton.class); } + + private void configureTableTypes() { + final Multibinder<BGPTableTypeRegistryConsumerProvider.BGPTableType> tableTypeBinder = + Multibinder.newSetBinder(binder(), + BGPTableTypeRegistryConsumerProvider.BGPTableType.class); + + tableTypeBinder.addBinding().toInstance(provider -> provider + .registerBGPTableType(L2vpnAddressFamily.class, EvpnSubsequentAddressFamily.class, L2VPNEVPN.class)); + + tableTypeBinder.addBinding().toInstance(provider -> provider + .registerBGPTableType(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class, IPV4UNICAST.class)); + tableTypeBinder.addBinding().toInstance(provider -> provider + .registerBGPTableType(Ipv6AddressFamily.class, UnicastSubsequentAddressFamily.class, IPV6UNICAST.class)); + + tableTypeBinder.addBinding().toInstance(provider -> provider + .registerBGPTableType(Ipv4AddressFamily.class, MplsLabeledVpnSubsequentAddressFamily.class, + L3VPNIPV4UNICAST.class)); + tableTypeBinder.addBinding().toInstance(provider -> provider + .registerBGPTableType(Ipv6AddressFamily.class, MplsLabeledVpnSubsequentAddressFamily.class, + L3VPNIPV6UNICAST.class)); + + tableTypeBinder.addBinding().toInstance(provider -> provider + .registerBGPTableType(Ipv4AddressFamily.class, LabeledUnicastSubsequentAddressFamily.class, + IPV4LABELLEDUNICAST.class)); + tableTypeBinder.addBinding().toInstance(provider -> provider + .registerBGPTableType(Ipv6AddressFamily.class, LabeledUnicastSubsequentAddressFamily.class, + IPV6LABELLEDUNICAST.class)); + + tableTypeBinder.addBinding().toInstance(provider -> provider + .registerBGPTableType(LinkstateAddressFamily.class, LinkstateSubsequentAddressFamily.class, + LINKSTATE.class)); + + bind(BGPTableTypeRegistryConsumer.class).toProvider(BGPTableTypeRegistryConsumerProvider.class) + .in(Singleton.class); + } } |