X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=fibmanager%2Ffibmanager-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Ffibmanager%2FFibManagerProvider.java;h=ef16ec09ba6ba3ea580c328c1145afbe9e091c97;hb=6440cff32f2ad102cdc8c3bf9c569466f960682b;hp=cb2da5e2b8d4efe83391f4207e10ce8bf7adc95a;hpb=cc530f909d6f2feeb6e97eb45778e437d55bd48b;p=vpnservice.git diff --git a/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/vpnservice/fibmanager/FibManagerProvider.java b/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/vpnservice/fibmanager/FibManagerProvider.java index cb2da5e2..ef16ec09 100644 --- a/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/vpnservice/fibmanager/FibManagerProvider.java +++ b/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/vpnservice/fibmanager/FibManagerProvider.java @@ -7,21 +7,26 @@ */ package org.opendaylight.vpnservice.fibmanager; +import java.math.BigInteger; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; import org.opendaylight.controller.sal.binding.api.BindingAwareProvider; +import org.opendaylight.fibmanager.api.IFibManager; +import org.opendaylight.vpnmanager.api.IVpnManager; import org.opendaylight.vpnservice.mdsalutil.interfaces.IMdsalApiManager; import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.l3nexthop.rev150409.L3nexthopService; import org.opendaylight.yangtools.yang.binding.RpcService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class FibManagerProvider implements BindingAwareProvider, AutoCloseable { +public class FibManagerProvider implements BindingAwareProvider, IFibManager, AutoCloseable { private static final Logger LOG = LoggerFactory.getLogger(FibManagerProvider.class); private FibManager fibManager; private IMdsalApiManager mdsalManager; + private IVpnManager vpnmanager; + //private FibNodeCapableListener fibNcListener; @Override public void onSessionInitiated(ProviderContext session) { @@ -31,6 +36,8 @@ public class FibManagerProvider implements BindingAwareProvider, AutoCloseable { final RpcService nexthopService = session.getRpcService(L3nexthopService.class); fibManager = new FibManager(dataBroker, nexthopService); fibManager.setMdsalManager(mdsalManager); + fibManager.setVpnmanager(vpnmanager); + //fibNcListener = new FibNodeCapableListener(dataBroker, fibManager); } catch (Exception e) { LOG.error("Error initializing services", e); } @@ -40,9 +47,25 @@ public class FibManagerProvider implements BindingAwareProvider, AutoCloseable { public void close() throws Exception { LOG.info("FibManagerProvider Closed"); fibManager.close(); + //fibNcListener.close(); } public void setMdsalManager(IMdsalApiManager mdsalManager) { this.mdsalManager = mdsalManager; } -} \ No newline at end of file + + public void setVpnmanager(IVpnManager vpnmanager) { + this.vpnmanager = vpnmanager; + vpnmanager.setFibService(this); + } + + @Override + public void populateFibOnNewDpn(BigInteger dpnId, long vpnId, String rd) { + fibManager.populateFibOnNewDpn(dpnId, vpnId, rd); + } + + @Override + public void cleanUpDpnForVpn(BigInteger dpnId, long vpnId, String rd) { + fibManager.cleanUpDpnForVpn(dpnId, vpnId, rd); + } +}