diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingProviderService.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingProviderService.java index 8392ee14af..6cbd478e55 100644 --- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingProviderService.java +++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingProviderService.java @@ -26,8 +26,8 @@ public interface MappingProviderService extends ProviderService /** * Signals that a new mapping has been received. * - * @param mappingEntry newly added mapping entry - * @param isMapDatabase indicate that where this map entry should be stored + * @param mappingEntry newly added mapping entry + * @param type indicates that where this map entry should be stored */ - void mappingAdded(MappingEntry mappingEntry, boolean isMapDatabase); + void mappingAdded(MappingEntry mappingEntry, MappingStore.Type type); } diff --git a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingStore.java b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingStore.java index e6f59a2919..5a1614c881 100644 --- a/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingStore.java +++ b/apps/mappingmanagement/api/src/main/java/org/onosproject/mapping/MappingStore.java @@ -21,4 +21,17 @@ import org.onosproject.store.Store; * Interface of a distributed store for managing mapping information. */ public interface MappingStore extends Store { + + enum Type { + + /** + * Signifies that mapping information should be stored in map database. + */ + MAP_DATABASE, + + /** + * Signifies that mapping information should be stored in map cache. + */ + MAP_CACHE + } } diff --git a/apps/mappingmanagement/api/src/test/java/org/onosproject/mapping/MappingProviderServiceAdapter.java b/apps/mappingmanagement/api/src/test/java/org/onosproject/mapping/MappingProviderServiceAdapter.java index c6a3d87d2f..b5a4311222 100644 --- a/apps/mappingmanagement/api/src/test/java/org/onosproject/mapping/MappingProviderServiceAdapter.java +++ b/apps/mappingmanagement/api/src/test/java/org/onosproject/mapping/MappingProviderServiceAdapter.java @@ -25,7 +25,7 @@ public class MappingProviderServiceAdapter implements MappingProviderService { } @Override - public void mappingAdded(MappingEntry mappingEntry, boolean isMapDatabase) { + public void mappingAdded(MappingEntry mappingEntry, MappingStore.Type type) { } } diff --git a/providers/lisp/mapping/src/main/java/org/onosproject/provider/lisp/mapping/impl/LispMappingProvider.java b/providers/lisp/mapping/src/main/java/org/onosproject/provider/lisp/mapping/impl/LispMappingProvider.java index 09bf3e6463..05e5dd79b5 100644 --- a/providers/lisp/mapping/src/main/java/org/onosproject/provider/lisp/mapping/impl/LispMappingProvider.java +++ b/providers/lisp/mapping/src/main/java/org/onosproject/provider/lisp/mapping/impl/LispMappingProvider.java @@ -38,6 +38,9 @@ import org.onosproject.provider.lisp.mapping.util.MappingEntryBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.onosproject.mapping.MappingStore.Type.MAP_CACHE; +import static org.onosproject.mapping.MappingStore.Type.MAP_DATABASE; + /** * Provider which uses a LISP controller to manage EID-RLOC mapping. */ @@ -137,14 +140,14 @@ public class LispMappingProvider extends AbstractProvider implements MappingProv LispMapReply reply = (LispMapReply) msg; MappingEntry replyMe = new MappingEntryBuilder(deviceId, reply).build(); - providerService.mappingAdded(replyMe, false); + providerService.mappingAdded(replyMe, MAP_CACHE); break; case LISP_MAP_NOTIFY: LispMapNotify notify = (LispMapNotify) msg; MappingEntry notifyMe = new MappingEntryBuilder(deviceId, notify).build(); - providerService.mappingAdded(notifyMe, true); + providerService.mappingAdded(notifyMe, MAP_DATABASE); break; default: