Bug 4331 - External bridge used for gateway mac resolver needs to be dynamic
authorFlavio Fernandes <ffernand@redhat.com>
Fri, 8 Jan 2016 03:57:33 +0000 (22:57 -0500)
committerFlavio Fernandes <ffernand@redhat.com>
Mon, 11 Jan 2016 13:27:47 +0000 (08:27 -0500)
commit625bfdabba384cc3607da8279ef4ee052258fcbf
tree8659ab40179911b9eebd6c3317ecdb977513a567
parent0be01255985ffca94f02bf6663137765abd9b7b6
Bug 4331 - External bridge used for gateway mac resolver needs to be dynamic

With this change the GatewayMacResolverService will become resilient to the cases
where nodes get deleted or lose br-ex connectivity after the resolver is kicked
off to periodically track a given ip address.

Also made some minor clean up in NeutronL3Adapter, so that it needs not to
duplicate work for tracking ip in the very first iteration. That duplication
is not necessary as the GatewayMacResolverService is already implemented
with thread executors for the periodic monitoring.

Lastly, this gerrit augments the GatewayMacResolver service to provide
an extra boolean param called refreshExternalNetworkBridgeDpidIfNeeded.
That can be used to control whether dpid used gets updated when mac is
not getting resolved.

Change-Id: I95b9e5a2d5773a6be82221b71000ace2a662e772
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/ConfigActivator.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/arp/ArpResolverMetadata.java
openstack/net-virt-providers/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/providers/openflow13/services/arp/GatewayMacResolverService.java
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/api/GatewayMacResolver.java
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/api/NodeCacheManager.java
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NeutronL3Adapter.java
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/NodeCacheManagerImpl.java
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/SouthboundImpl.java