X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=vpnservice.git;a=blobdiff_plain;f=neutronvpn%2Fneutronvpn-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Fneutronvpn%2FNeutronvpnProvider.java;h=5784906e01e97761bba5e2f158ba1b31305e800c;hp=8d5fd9b7af316f39161ae928cf73ad5ca5341fd2;hb=2ef3711b19264a9edfa95713d7bb33b79b699712;hpb=769edd5c7e8cfa0a13a2f8e442270978f649b83f diff --git a/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnProvider.java b/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnProvider.java index 8d5fd9b7..5784906e 100644 --- a/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnProvider.java +++ b/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnProvider.java @@ -12,8 +12,11 @@ import org.opendaylight.controller.sal.binding.api.BindingAwareBroker; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; import org.opendaylight.controller.sal.binding.api.BindingAwareProvider; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService; +import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.vpnservice.mdsalutil.interfaces.IMdsalApiManager; import org.opendaylight.vpnservice.neutronvpn.interfaces.INeutronVpnManager; +import org.opendaylight.vpnservice.neutronvpn.l2gw.L2GatewayProvider; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid; import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port; @@ -37,6 +40,9 @@ public class NeutronvpnProvider implements BindingAwareProvider, INeutronVpnMana private NeutronRouterChangeListener routerListener; private NeutronPortChangeListener portListener; private RpcProviderRegistry rpcProviderRegistry; + private L2GatewayProvider l2GatewayProvider; + private EntityOwnershipService entityOwnershipService; + private BindingNormalizedNodeSerializer bindingNormalizedNodeSerializer; public NeutronvpnProvider(RpcProviderRegistry rpcRegistry) { this.rpcProviderRegistry = rpcRegistry; @@ -58,6 +64,14 @@ public class NeutronvpnProvider implements BindingAwareProvider, INeutronVpnMana this.lockManager = lockManager; } + public void setEntityOwnershipService(EntityOwnershipService entityOwnershipService) { + this.entityOwnershipService = entityOwnershipService; + } + + public void setBindingNormalizedNodeSerializer(BindingNormalizedNodeSerializer bindingNormalizedNodeSerializer) { + this.bindingNormalizedNodeSerializer = bindingNormalizedNodeSerializer; + } + @Override public void onSessionInitiated(ProviderContext session) { try { @@ -71,6 +85,8 @@ public class NeutronvpnProvider implements BindingAwareProvider, INeutronVpnMana routerListener = new NeutronRouterChangeListener(dbx, nvManager); portListener = new NeutronPortChangeListener(dbx, nvManager); nvManager.setLockManager(lockManager); + l2GatewayProvider = new L2GatewayProvider(dbx, rpcProviderRegistry, entityOwnershipService, + bindingNormalizedNodeSerializer); LOG.info("NeutronvpnProvider Session Initiated"); } catch (Exception e) { @@ -86,6 +102,7 @@ public class NeutronvpnProvider implements BindingAwareProvider, INeutronVpnMana networkListener.close(); bgpvpnListener.close(); nvManager.close(); + l2GatewayProvider.close(); LOG.info("NeutronvpnProvider Closed"); }