Bug 4932: Sending SMR to the old EID key when a more specific is being registered... 89/32389/2
authorvermagan@cisco.com <vermagan@cisco.com>
Tue, 12 Jan 2016 05:39:23 +0000 (21:39 -0800)
committervermagan@cisco.com <vermagan@cisco.com>
Tue, 12 Jan 2016 07:25:31 +0000 (23:25 -0800)
Change-Id: I6a26c4230a49993ebd3442ffe4b6d46b19b61554
Signed-off-by: vermagan@cisco.com <vermagan@cisco.com>
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapServer.java

index 7b53d3ab1b402be595c62cef88e87c20eb06aa80..9d0af350ad858416f763510c8988b8843484b597 100644 (file)
@@ -104,12 +104,13 @@ public class MapServer implements IMapServerAsync, OdlMappingserviceListener {
             }
             MappingRecord oldMapping = (MappingRecord) mapService.getMapping(MappingOrigin.Southbound,
                     mapping.getEid());
-            mapService.addMapping(MappingOrigin.Southbound, mapping.getEid(), getSiteId(mapRegister), mapping);
+
             if (subscriptionService && !mapping.equals(oldMapping)) {
                 LOG.debug("Sending SMRs for subscribers of {}", mapping.getEid());
                 Set<SubscriberRLOC> subscribers = getSubscribers(mapping.getEid());
                 sendSmrs(mapping, subscribers);
             }
+            mapService.addMapping(MappingOrigin.Southbound, mapping.getEid(), getSiteId(mapRegister), mapping);
         }
         if (!failed) {
             MapNotifyBuilder builder = new MapNotifyBuilder();