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=15ea7db36dcb5e707c72db09b49e21cc9d3755d6;hb=78638a6543c647ffff30d36e52604f5b7b5e785b;hp=b9ddfbb4a44605ee23006bdfd61ba42865ff3f54;hpb=fe4b064d257f4f45e21e5abf51386c83df3d6bce;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 b9ddfbb4..15ea7db3 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 @@ -10,6 +10,7 @@ package org.opendaylight.vpnservice.fibmanager; 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; @@ -17,13 +18,14 @@ 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) { @@ -34,6 +36,7 @@ public class FibManagerProvider implements BindingAwareProvider, AutoCloseable { 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); } @@ -43,6 +46,7 @@ public class FibManagerProvider implements BindingAwareProvider, AutoCloseable { public void close() throws Exception { LOG.info("FibManagerProvider Closed"); fibManager.close(); + fibNcListener.close(); } public void setMdsalManager(IMdsalApiManager mdsalManager) { @@ -51,5 +55,16 @@ public class FibManagerProvider implements BindingAwareProvider, AutoCloseable { public void setVpnmanager(IVpnManager vpnmanager) { this.vpnmanager = vpnmanager; + vpnmanager.setFibService(this); } -} \ No newline at end of file + + @Override + public void populateFibOnNewDpn(long dpnId, long vpnId, String rd) { + fibManager.populateFibOnNewDpn(dpnId, vpnId, rd); + } + + @Override + public void cleanUpDpnForVpn(long dpnId, long vpnId, String rd) { + fibManager.populateFibOnNewDpn(dpnId, vpnId, rd); + } +}