Bug 3378 - ovsdb netvirt needs help in getting mac for a given ip in br-ex
[ovsdb.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / ConfigActivator.java
index bf3d965a72482f0d3b0612d45f3d14f6ccd0daa2..53dbd7c9e688cdc8c241c48bfdecaff172e6ac8a 100644 (file)
@@ -32,6 +32,7 @@ public class ConfigActivator implements BundleActivator {
     private ServiceTracker outboundNatProviderTracker;
     private ServiceTracker routingProviderTracker;
     private ServiceTracker l3ForwardingProviderTracker;
+    private ServiceTracker gatewayMacResolverProviderTracker;
 
     public ConfigActivator(ProviderContext providerContext) {
         this.providerContext = providerContext;
@@ -403,8 +404,26 @@ public class ConfigActivator implements BundleActivator {
         };
         l3ForwardingProviderTracker.open();
         this.l3ForwardingProviderTracker = l3ForwardingProviderTracker;
+
+        @SuppressWarnings("unchecked")
+        ServiceTracker gatewayMacResolverProviderTracker = new ServiceTracker(context,
+                GatewayMacResolver.class, null) {
+            @Override
+            public Object addingService(ServiceReference reference) {
+                LOG.info("addingService GatwayMacResolverProvider");
+                GatewayMacResolver service =
+                        (GatewayMacResolver) context.getService(reference);
+                if (service != null) {
+                    neutronL3Adapter.setDependencies(service);
+                }
+                return service;
+            }
+        };
+        gatewayMacResolverProviderTracker.open();
+        this.gatewayMacResolverProviderTracker = gatewayMacResolverProviderTracker;
     }
 
+
     @Override
     public void stop(BundleContext context) throws Exception {
         LOG.info("ConfigActivator stop");