From 050a91b18627e7633387e8d0e1fc42d9d5d825b0 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 14 Aug 2025 17:44:15 +0200 Subject: [PATCH 01/10] Remove MappingService.notificationPolicy This flag does not control anything since LISPMAP-144 was implemented, remove it. JIRA: LISPMAP-146 Change-Id: I2f54240d5d34a28a1135fc7ab4c0d3d6371622f1 Signed-off-by: Robert Varga --- .../lispflowmapping/implementation/MappingService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/MappingService.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/MappingService.java index 2e9575bb..ba21de09 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/MappingService.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/MappingService.java @@ -159,7 +159,6 @@ public class MappingService implements IMappingService, AutoCloseable { private Registration rpcRegistration; private boolean mappingMergePolicy = ConfigIni.getInstance().mappingMergeIsSet(); - private final boolean notificationPolicy = ConfigIni.getInstance().smrIsSet(); private final boolean iterateMask = true; private boolean isMaster = false; -- 2.34.1 From 8510f86a1edffdc34864cf7e998261a3edcd7635 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Aug 2025 10:18:32 +0200 Subject: [PATCH 02/10] Clean up bundleStateToString() Use a switch expression to simplify mapping. Change-Id: I8a4723f5943f662c1d60d3399ef559adc2517ae8 Signed-off-by: Robert Varga --- .../lispflowmapping/config/ConfigIni.java | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java b/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java index 1e87312a..a1809c52 100644 --- a/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java +++ b/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java @@ -89,23 +89,16 @@ public final class ConfigIni { initBucketNumber(); } - private String bundleStateToString(int state) { - switch (state) { - case Bundle.ACTIVE: - return "Active"; - case Bundle.INSTALLED: - return "Installed"; - case Bundle.RESOLVED: - return "Resolved"; - case Bundle.STARTING: - return "Starting"; - case Bundle.STOPPING: - return "Stopping"; - case Bundle.UNINSTALLED: - return "Uninstalled"; - default: - return "_Unknown_"; - } + private static String bundleStateToString(int state) { + return switch (state) { + case Bundle.ACTIVE -> "Active"; + case Bundle.INSTALLED -> "Installed"; + case Bundle.RESOLVED -> "Resolved"; + case Bundle.STARTING -> "Starting"; + case Bundle.STOPPING -> "Stopping"; + case Bundle.UNINSTALLED -> "Uninstalled"; + default -> "_Unknown_"; + }; } private void initRegisterValiditySb(BundleContext context) { -- 2.34.1 From b31e9f6ad534adeddd3468514f4a867f7a5649f3 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Aug 2025 10:42:48 +0200 Subject: [PATCH 03/10] Remove lisp.authEnabled This boolean is only used by southbound, migrate it to the already-existing ConfigAdmin integration. JIRA: LISPMAP-146 Change-Id: Ibd575241e2aae667a94f2e7d28e0c5426e4f4f8c Signed-off-by: Robert Varga --- .../odl-lispflowmapping-southbound/pom.xml | 5 --- .../lispflowmapping/config/ConfigIni.java | 38 ------------------- mappingservice/southbound/pom.xml | 4 -- .../southbound/LispSouthboundPlugin.java | 21 ++++++---- .../lisp/LispSouthboundHandler.java | 6 +-- .../southbound/LispSouthboundPluginTest.java | 2 +- .../lisp/LispSouthboundHandlerTest.java | 2 +- 7 files changed, 19 insertions(+), 59 deletions(-) diff --git a/features/odl-lispflowmapping-southbound/pom.xml b/features/odl-lispflowmapping-southbound/pom.xml index 96b08ff2..3051a05b 100644 --- a/features/odl-lispflowmapping-southbound/pom.xml +++ b/features/odl-lispflowmapping-southbound/pom.xml @@ -91,10 +91,5 @@ and is available at http://www.eclipse.org/legal/epl-v10.html mappingservice.southbound ${project.version} - - ${project.groupId} - mappingservice.config - ${project.version} - diff --git a/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java b/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java index a1809c52..15c3240e 100644 --- a/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java +++ b/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java @@ -25,7 +25,6 @@ public final class ConfigIni { private long registrationValiditySb; private long smrTimeout; private int smrRetryCount; - private boolean authEnabled; private int negativeMappingTTL; private int numberOfBucketsInTimeBucketWheel; @@ -46,7 +45,6 @@ public final class ConfigIni { private static final String LISP_REGISTER_VALIDITY_SB = "lisp.registerValiditySb"; private static final String LISP_SMR_RETRY_COUNT = "lisp.smrRetryCount"; private static final String LISP_SMR_TIMEOUT = "lisp.smrTimeout"; - private static final String LISP_AUTH_ENABLED = "lisp.authEnabled"; private static final String LISP_NEGATIVE_MAPPING_TTL = "lisp.negativeMappingTTL"; // SB Map Register validity period in milliseconds. Default is 3.3 minutes. @@ -84,7 +82,6 @@ public final class ConfigIni { initRegisterValiditySb(context); initSmrRetryCount(context); initSmrTimeout(context); - initAuthEnabled(context); initNegativeMappingTTL(context); initBucketNumber(); } @@ -298,32 +295,6 @@ public final class ConfigIni { } } - private void initAuthEnabled(BundleContext context) { - // set the default value first - this.authEnabled = true; - - String str = null; - - if (context != null) { - str = context.getProperty(LISP_AUTH_ENABLED); - } - - if (str == null) { - str = System.getProperty(LISP_AUTH_ENABLED); - if (str == null) { - LOG.debug("Configuration variable '{}' is unset. Setting to default value: 'true'", LISP_AUTH_ENABLED); - return; - } - } - - if (str.trim().equalsIgnoreCase("false")) { - this.authEnabled = false; - LOG.debug("Setting configuration variable '{}' to 'false'", LISP_AUTH_ENABLED); - } else { - LOG.debug("Setting configuration variable '{}' to 'true'", LISP_AUTH_ENABLED); - } - } - private void initNegativeMappingTTL(BundleContext context) { // set the default value first this.negativeMappingTTL = DEFAULT_NEGATIVE_MAPPING_TTL; @@ -423,15 +394,6 @@ public final class ConfigIni { return this.smrTimeout; } - public boolean isAuthEnabled() { - return this.authEnabled; - } - - public void setAuthEnabled(boolean authEnabled) { - LOG.debug("Setting configuration variable '{}' to '{}'", LISP_AUTH_ENABLED, authEnabled); - this.authEnabled = authEnabled; - } - public void setNegativeMappingTTL(int negativeMappingTTL) { LOG.debug("Setting configuration variable '{}' to '{}'", LISP_NEGATIVE_MAPPING_TTL, negativeMappingTTL); this.negativeMappingTTL = negativeMappingTTL; diff --git a/mappingservice/southbound/pom.xml b/mappingservice/southbound/pom.xml index da43551e..0b5d95de 100644 --- a/mappingservice/southbound/pom.xml +++ b/mappingservice/southbound/pom.xml @@ -27,10 +27,6 @@ ${project.groupId} mappingservice.api - - ${project.groupId} - mappingservice.config - ${project.groupId} mappingservice.inmemorydb diff --git a/mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundPlugin.java b/mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundPlugin.java index 0aa68b3f..f3bffb82 100644 --- a/mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundPlugin.java +++ b/mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/LispSouthboundPlugin.java @@ -78,14 +78,17 @@ import org.slf4j.LoggerFactory; public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCloseable, ClusterSingletonService { @ObjectClassDefinition public @interface Configuration { - @AttributeDefinition() + @AttributeDefinition String bindingAddress() default DEFAULT_BINDING_ADDRESS; - @AttributeDefinition() + @AttributeDefinition boolean mapRegisterCacheEnabled() default true; - @AttributeDefinition() + @AttributeDefinition long mapRegisterCacheTimeout() default DEFAULT_MAP_REGISTER_CACHE_TIMEOUT; + + @AttributeDefinition + boolean authenticationEnabled() default true; } protected static final Logger LOG = LoggerFactory.getLogger(LispSouthboundPlugin.class); @@ -102,6 +105,7 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl private final MapRegisterCache mapRegisterCache = new MapRegisterCache(); private final boolean mapRegisterCacheEnabled; private final long mapRegisterCacheTimeout; + private final boolean authenticationEnabled; private static Object startLock = new Object(); @@ -129,7 +133,7 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl final NotificationPublishService notificationPublishService, final ClusterSingletonServiceProvider clusterSingletonService) { this(dataBroker, notificationPublishService, clusterSingletonService, DEFAULT_BINDING_ADDRESS, true, - DEFAULT_MAP_REGISTER_CACHE_TIMEOUT); + DEFAULT_MAP_REGISTER_CACHE_TIMEOUT, true); } @Activate @@ -138,14 +142,16 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl @Reference final ClusterSingletonServiceProvider clusterSingletonService, final Configuration configuration) { this(dataBroker, notificationPublishService, clusterSingletonService, configuration.bindingAddress(), - configuration.mapRegisterCacheEnabled(), configuration.mapRegisterCacheTimeout()); + configuration.mapRegisterCacheEnabled(), configuration.mapRegisterCacheTimeout(), + configuration.authenticationEnabled()); init(); } public LispSouthboundPlugin(final DataBroker dataBroker, final NotificationPublishService notificationPublishService, final ClusterSingletonServiceProvider clusterSingletonService, - final String bindingAddress, final boolean mapRegisterCacheEnabled, final long mapRegisterCacheTimeout) { + final String bindingAddress, final boolean mapRegisterCacheEnabled, final long mapRegisterCacheTimeout, + final boolean authenticationEnabled) { LOG.info("LISP (RFC6830) Southbound Plugin is initializing..."); this.dataBroker = dataBroker; this.notificationPublishService = notificationPublishService; @@ -153,6 +159,7 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl this.bindingAddress = bindingAddress; this.mapRegisterCacheEnabled = mapRegisterCacheEnabled; this.mapRegisterCacheTimeout = mapRegisterCacheTimeout; + this.authenticationEnabled = authenticationEnabled; if (Epoll.isAvailable()) { // When lispflowmapping is under heavy load, there are usually two threads nearing 100% CPU core @@ -186,7 +193,7 @@ public class LispSouthboundPlugin implements IConfigLispSouthboundPlugin, AutoCl bootstrap.group(eventLoopGroup); bootstrap.channel(channelType); - lispSouthboundHandler = new LispSouthboundHandler(this); + lispSouthboundHandler = new LispSouthboundHandler(this, authenticationEnabled); bootstrap.handler(lispSouthboundHandler); xtrBootstrap.group(eventLoopGroup); diff --git a/mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/lisp/LispSouthboundHandler.java b/mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/lisp/LispSouthboundHandler.java index 535ab726..8033e9a6 100644 --- a/mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/lisp/LispSouthboundHandler.java +++ b/mappingservice/southbound/src/main/java/org/opendaylight/lispflowmapping/southbound/lisp/LispSouthboundHandler.java @@ -23,7 +23,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; -import org.opendaylight.lispflowmapping.config.ConfigIni; import org.opendaylight.lispflowmapping.lisp.authentication.ILispAuthentication; import org.opendaylight.lispflowmapping.lisp.authentication.LispAuthenticationUtil; import org.opendaylight.lispflowmapping.lisp.serializer.MapNotifySerializer; @@ -74,14 +73,15 @@ public class LispSouthboundHandler extends SimpleChannelInboundHandler Date: Fri, 15 Aug 2025 11:08:15 +0200 Subject: [PATCH 04/10] Remove mappingservice.config This artifact is holding only ConfigIni, which is only used by mappingservice.implementation. Rehost the entire package tgo mappingservice.implementation and eliminate the artifact. JIRA: LISPMAP-146 Change-Id: Ie90e2e1c5d5fe4a981a0f8ff02779f6917da20e3 Signed-off-by: Robert Varga --- artifacts/pom.xml | 5 ---- commons/parent/pom.xml | 5 ---- .../pom.xml | 5 ---- mappingservice/config/pom.xml | 28 ------------------- mappingservice/implementation/pom.xml | 4 --- .../lispflowmapping/config/ConfigIni.java | 0 mappingservice/pom.xml | 1 - 7 files changed, 48 deletions(-) delete mode 100644 mappingservice/config/pom.xml rename mappingservice/{config => implementation}/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java (100%) diff --git a/artifacts/pom.xml b/artifacts/pom.xml index 64785348..6ecbcd15 100644 --- a/artifacts/pom.xml +++ b/artifacts/pom.xml @@ -66,11 +66,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html mappingservice.lisp-proto ${project.version} - - ${project.groupId} - mappingservice.config - ${project.version} - diff --git a/commons/parent/pom.xml b/commons/parent/pom.xml index 22d9b2c6..93bd3fb8 100644 --- a/commons/parent/pom.xml +++ b/commons/parent/pom.xml @@ -106,11 +106,6 @@ mappingservice.lisp-proto ${lispflowmapping.version} - - org.opendaylight.lispflowmapping - mappingservice.config - ${lispflowmapping.version} - org.opendaylight.lispflowmapping ui-lispflowmapping diff --git a/features/odl-lispflowmapping-mappingservice/pom.xml b/features/odl-lispflowmapping-mappingservice/pom.xml index 7a351742..e9dfa00f 100644 --- a/features/odl-lispflowmapping-mappingservice/pom.xml +++ b/features/odl-lispflowmapping-mappingservice/pom.xml @@ -79,10 +79,5 @@ and is available at http://www.eclipse.org/legal/epl-v10.html mappingservice.implementation ${project.version} - - ${project.groupId} - mappingservice.config - ${project.version} - diff --git a/mappingservice/config/pom.xml b/mappingservice/config/pom.xml deleted file mode 100644 index 3e5a11bf..00000000 --- a/mappingservice/config/pom.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - 4.0.0 - - - org.opendaylight.lispflowmapping - mappingservice-parent - 1.22.0-SNAPSHOT - - - mappingservice.config - bundle - - ODL :: lispflowmapping :: ${project.artifactId} - - - - org.osgi - org.osgi.framework - - - org.opendaylight.lispflowmapping - mappingservice.api - 1.22.0-SNAPSHOT - - - diff --git a/mappingservice/implementation/pom.xml b/mappingservice/implementation/pom.xml index 884be116..cc850fc4 100644 --- a/mappingservice/implementation/pom.xml +++ b/mappingservice/implementation/pom.xml @@ -39,10 +39,6 @@ ${project.groupId} mappingservice.mapcache - - ${project.groupId} - mappingservice.config - org.mockito mockito-core diff --git a/mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java similarity index 100% rename from mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java rename to mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java diff --git a/mappingservice/pom.xml b/mappingservice/pom.xml index ff2a5f11..3a98569f 100644 --- a/mappingservice/pom.xml +++ b/mappingservice/pom.xml @@ -27,7 +27,6 @@ inmemorydb dsbackend mapcache - config implementation southbound shell -- 2.34.1 From 75bb238000dcf9305de40d4614e23dadc24844b4 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Aug 2025 12:49:54 +0200 Subject: [PATCH 05/10] Remove ConfigIni.getMaximumTimeoutTolerance() This method is not used anywhere, remove it to make things less cluttered. JIRA: LISPMAP-146 Change-Id: Ic26aad6362bda7e5f64d07fc36b61cc5960fa107 Signed-off-by: Robert Varga --- .../org/opendaylight/lispflowmapping/config/ConfigIni.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java index 15c3240e..c02db674 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java @@ -53,8 +53,6 @@ public final class ConfigIni { private static final int DEFAULT_SMR_RETRY_COUNT = 5; private static final int DEFAULT_NEGATIVE_MAPPING_TTL = 15; private static final int MIN_NUMBER_OF_BUCKETS_IN_TIME_BUCKET_WHEEL = 2; - private static final int TIMEOUT_TOLERANCE_MULTIPLIER_IN_TIME_BUCKET_WHEEL = 2; - private static final ConfigIni INSTANCE = new ConfigIni(); private ConfigIni() { @@ -407,10 +405,6 @@ public final class ConfigIni { return numberOfBucketsInTimeBucketWheel; } - public long getMaximumTimeoutTolerance() { - return TIMEOUT_TOLERANCE_MULTIPLIER_IN_TIME_BUCKET_WHEEL * getRegistrationValiditySb(); - } - public static ConfigIni getInstance() { return INSTANCE; } -- 2.34.1 From e25ad02355968efa0778024d337f5d29d80fade4 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Aug 2025 12:37:11 +0200 Subject: [PATCH 06/10] Inline MapResolver.locatorsNeedFixing() This is a very simple method, which we can replace with a stream matcher. Resulting code has the added benefit of not hiding the fact we are dealing with 'null', hence Eclipse is a bit happier. Change-Id: I4f96e9a46a334187fe2f2e6dc6a7a298e0c8372d Signed-off-by: Robert Varga --- .../implementation/lisp/MapResolver.java | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java index 6bc2f336..694179a8 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java @@ -227,20 +227,6 @@ public class MapResolver implements IMapResolverAsync { return mapping; } - private static boolean locatorsNeedFixing(List locatorRecords) { - // no locators - no fixing needed ;) - if (locatorRecords == null) { - return false; - } - - for (LocatorRecord record : locatorRecords) { - if (record.getRloc().getAddress() instanceof ExplicitLocatorPath) { - return true; - } - } - return false; - } - // Process locators according to configured policy private MappingRecord updateLocators(MappingRecord mapping, List itrRlocs) { // no fixing if elpPolicy is default @@ -251,7 +237,8 @@ public class MapResolver implements IMapResolverAsync { List locatorRecords = mapping.getLocatorRecord(); // if no updated is needed, just return the mapping - if (!locatorsNeedFixing(locatorRecords)) { + if (locatorRecords == null || locatorRecords.stream().noneMatch( + record -> record.getRloc().getAddress() instanceof ExplicitLocatorPath)) { return mapping; } -- 2.34.1 From 9fb59dc0c3556e16d63146023d2b6dcfdb700264 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Aug 2025 12:27:09 +0200 Subject: [PATCH 07/10] Introduce ExplicitLocatorPathPolicy lisp.elpPolicy is a free-form string, but it can only have three values. Introduce a dedicated type to express this, which makes things type-safe (and more performant). Also correct two performance bugs: - priority should be a primitive 'short', which prevents boxing - we check for default policy at the start of updateLocators(), hence we not not need to re-check for each locatorRecord JIRA: LISPMAP-146 Change-Id: I6bc6b0d6e913a5b9955c75b248ff5c63b600fe80 Signed-off-by: Robert Varga --- .../interfaces/lisp/IGenericMapResolver.java | 25 +++++++++++++++++- .../lispflowmapping/config/ConfigIni.java | 16 +++++++----- .../implementation/LispMappingService.java | 6 ++--- .../implementation/lisp/MapResolver.java | 26 +++++++++---------- .../implementation/lisp/MapResolverTest.java | 7 ++--- 5 files changed, 52 insertions(+), 28 deletions(-) diff --git a/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/lisp/IGenericMapResolver.java b/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/lisp/IGenericMapResolver.java index 5bc2c262..a6c39e6f 100644 --- a/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/lisp/IGenericMapResolver.java +++ b/mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/lisp/IGenericMapResolver.java @@ -11,6 +11,29 @@ package org.opendaylight.lispflowmapping.interfaces.lisp; * Methods to be implemented by a generic Map Resolver. */ public interface IGenericMapResolver { + /** + * Enumeration of methods of how to build a Map-Reply southbound message from a mapping containing an Explicit + * Locator Path (ELP) RLOC. It is used for compatibility with dataplane devices that don’t understand the ELP LCAF + * format. + */ + enum ExplicitLocatorPathPolicy { + /** + * Do not alter the mapping, returning all RLOCs unmodified. + */ + DEFAULT, + /** + * Add a new RLOC to the mapping, with a lower priority than the ELP, that is the next hop in the service chain. + * To determine the next hop, it searches the source RLOC of the Map-Request in the ELP, and chooses the next + * hop, if it exists, otherwise it chooses the first hop. + */ + BOTH, + /** + * Add a new RLOC using the same algorithm as {@link #BOTH}, but using the origin priority of the ELP RLOC, + * which is removed from the mapping. + */ + REPLACE, + } + /** * Configure MapResolver to use authentication. * @@ -34,5 +57,5 @@ public interface IGenericMapResolver { * @param elpPolicy * ELP policy */ - void setElpPolicy(String elpPolicy); + void setElpPolicy(ExplicitLocatorPathPolicy elpPolicy); } diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java index c02db674..4d4e4db5 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java @@ -8,6 +8,7 @@ package org.opendaylight.lispflowmapping.config; import java.util.concurrent.TimeUnit; +import org.opendaylight.lispflowmapping.interfaces.lisp.IGenericMapResolver.ExplicitLocatorPathPolicy; import org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingService; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; @@ -20,7 +21,7 @@ public final class ConfigIni { private static final Logger LOG = LoggerFactory.getLogger(ConfigIni.class); private boolean mappingMerge; private boolean smr; - private String elpPolicy; + private ExplicitLocatorPathPolicy elpPolicy; private IMappingService.LookupPolicy lookupPolicy; private long registrationValiditySb; private long smrTimeout; @@ -209,7 +210,7 @@ public final class ConfigIni { private void initElpPolicy(BundleContext context) { // set the default value first - this.elpPolicy = "default"; + this.elpPolicy = ExplicitLocatorPathPolicy.DEFAULT; String str = null; @@ -226,11 +227,12 @@ public final class ConfigIni { } } - if (str.trim().equalsIgnoreCase("both")) { - this.elpPolicy = "both"; + str = str.trim(); + if (str.equalsIgnoreCase("both")) { + this.elpPolicy = ExplicitLocatorPathPolicy.BOTH; LOG.debug("Setting configuration variable '{}' to 'both' (keep ELP, add next hop)", LISP_ELP_POLICY); - } else if (str.trim().equalsIgnoreCase("replace")) { - this.elpPolicy = "replace"; + } else if (str.equalsIgnoreCase("replace")) { + this.elpPolicy = ExplicitLocatorPathPolicy.REPLACE; LOG.debug("Setting configuration variable '{}' to 'replace' (next hop only)", LISP_ELP_POLICY); } else { LOG.debug("Setting configuration variable '{}' to 'default' (ELP only)", LISP_ELP_POLICY); @@ -347,7 +349,7 @@ public final class ConfigIni { this.smr = smr; } - public String getElpPolicy() { + public ExplicitLocatorPathPolicy getElpPolicy() { return elpPolicy; } diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java index aeaa3f4d..a7784541 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java @@ -22,10 +22,10 @@ import org.opendaylight.lispflowmapping.implementation.lisp.MapResolver; import org.opendaylight.lispflowmapping.implementation.lisp.MapServer; import org.opendaylight.lispflowmapping.implementation.util.LispNotificationHelper; import org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping; +import org.opendaylight.lispflowmapping.interfaces.lisp.IGenericMapResolver.ExplicitLocatorPathPolicy; import org.opendaylight.lispflowmapping.interfaces.lisp.IMapNotifyHandler; import org.opendaylight.lispflowmapping.interfaces.lisp.IMapRequestResultHandler; import org.opendaylight.lispflowmapping.interfaces.lisp.IMapResolverAsync; -import org.opendaylight.lispflowmapping.interfaces.lisp.ISmrNotificationListener; import org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingService; import org.opendaylight.lispflowmapping.lisp.type.LispMessage; import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier; @@ -82,7 +82,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle private static final Logger LOG = LoggerFactory.getLogger(LispMappingService.class); private volatile boolean smr = ConfigIni.getInstance().smrIsSet(); - private volatile String elpPolicy = ConfigIni.getInstance().getElpPolicy(); + private volatile ExplicitLocatorPathPolicy elpPolicy = ConfigIni.getInstance().getElpPolicy(); // These are non-final for testing private ThreadLocal tlsMapReply = new ThreadLocal<>(); @@ -122,7 +122,7 @@ public class LispMappingService implements IFlowMapping, IMapRequestResultHandle mapResolver = new MapResolver(mapService, smr, elpPolicy, this); mapServer = new MapServer(mapService, smr, this, notificationService); cssRegistration = clusterSingletonService.registerClusterSingletonService(this); - mapResolver.setSmrNotificationListener((ISmrNotificationListener) mapServer); + mapResolver.setSmrNotificationListener(mapServer); LOG.info("LISP (RFC6830) Mapping Service initialized"); } diff --git a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java index 694179a8..28113ae8 100644 --- a/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java +++ b/mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java @@ -66,17 +66,17 @@ public class MapResolver implements IMapResolverAsync { private final IMappingService mapService; private boolean subscriptionService; - private String elpPolicy; + private ExplicitLocatorPathPolicy elpPolicy; private final IMapRequestResultHandler requestHandler; private boolean authenticate = true; private ISmrNotificationListener smrNotificationListener; private static final int TTL_DELETE_MAPPING = 0; - public MapResolver(IMappingService mapService, boolean smr, String elpPolicy, + public MapResolver(IMappingService mapService, boolean smr, ExplicitLocatorPathPolicy elpPolicy, IMapRequestResultHandler requestHandler) { subscriptionService = smr; this.mapService = requireNonNull(mapService); - this.elpPolicy = elpPolicy; + this.elpPolicy = requireNonNull(elpPolicy); this.requestHandler = requestHandler; } @@ -229,8 +229,8 @@ public class MapResolver implements IMapResolverAsync { // Process locators according to configured policy private MappingRecord updateLocators(MappingRecord mapping, List itrRlocs) { - // no fixing if elpPolicy is default - if (elpPolicy.equalsIgnoreCase("default")) { + // no fixing if ELP policy is default + if (elpPolicy == ExplicitLocatorPathPolicy.DEFAULT) { return mapping; } @@ -243,15 +243,13 @@ public class MapResolver implements IMapResolverAsync { } MappingRecordBuilder recordBuilder = new MappingRecordBuilder(mapping); - recordBuilder.setLocatorRecord(new ArrayList()); + recordBuilder.setLocatorRecord(new ArrayList<>()); try { for (LocatorRecord record : locatorRecords) { Rloc container = record.getRloc(); - // For non-ELP RLOCs, or when ELP policy is default, or itrRlocs is null, just add the locator and be - // done - if (!(container.getAddress() instanceof ExplicitLocatorPath) - || elpPolicy.equalsIgnoreCase("default") || itrRlocs == null) { + // For non-ELP RLOCs or itrRlocs is null, just add the locator and be done + if (!(container.getAddress() instanceof ExplicitLocatorPath) || itrRlocs == null) { recordBuilder.getLocatorRecord().add( new LocatorRecordBuilder().setLocalLocator(record.getLocalLocator()) .setRlocProbed(record.getRlocProbed()).setWeight(record.getWeight()) @@ -264,8 +262,8 @@ public class MapResolver implements IMapResolverAsync { ExplicitLocatorPath teAddress = (ExplicitLocatorPath) container.getAddress(); SimpleAddress nextHop = getNextELPHop(teAddress, itrRlocs); if (nextHop != null) { - java.lang.Short priority = record.getPriority().toJava(); - if (elpPolicy.equalsIgnoreCase("both")) { + short priority = record.getPriority().toJava(); + if (elpPolicy == ExplicitLocatorPathPolicy.BOTH) { recordBuilder.getLocatorRecord().add( new LocatorRecordBuilder().setLocalLocator(record.getLocalLocator()) .setRlocProbed(record.getRlocProbed()).setWeight(record.getWeight()) @@ -336,8 +334,8 @@ public class MapResolver implements IMapResolverAsync { } @Override - public void setElpPolicy(String elpPolicy) { - this.elpPolicy = elpPolicy; + public void setElpPolicy(ExplicitLocatorPathPolicy elpPolicy) { + this.elpPolicy = requireNonNull(elpPolicy); } @Override diff --git a/mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolverTest.java b/mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolverTest.java index 7d370d5f..8063dbf6 100644 --- a/mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolverTest.java +++ b/mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolverTest.java @@ -23,6 +23,7 @@ import org.opendaylight.lispflowmapping.implementation.LispMappingService; import org.opendaylight.lispflowmapping.implementation.MappingService; import org.opendaylight.lispflowmapping.interfaces.dao.SubKeys; import org.opendaylight.lispflowmapping.interfaces.dao.Subscriber; +import org.opendaylight.lispflowmapping.interfaces.lisp.IGenericMapResolver.ExplicitLocatorPathPolicy; import org.opendaylight.lispflowmapping.lisp.type.LispMessage; import org.opendaylight.lispflowmapping.lisp.type.MappingData; import org.opendaylight.lispflowmapping.lisp.util.LispAddressStringifier; @@ -353,7 +354,7 @@ public class MapResolverTest { */ @Test public void handleMapRequest_withBothPolicy() { - mapResolver = new MapResolver(mapServiceMock, true, "both", lispMappingServiceMock); + mapResolver = new MapResolver(mapServiceMock, true, ExplicitLocatorPathPolicy.BOTH, lispMappingServiceMock); final List ipAddressList = new ArrayList<>(); // hop 1 @@ -409,7 +410,7 @@ public class MapResolverTest { */ @Test public void handleMapRequest_withReplacePolicy() { - mapResolver = new MapResolver(mapServiceMock, true, "replace", lispMappingServiceMock); + mapResolver = new MapResolver(mapServiceMock, true, ExplicitLocatorPathPolicy.REPLACE, lispMappingServiceMock); final List ipAddressList = new ArrayList<>(); // hop 1 @@ -499,7 +500,7 @@ public class MapResolverTest { Mockito.verify(lispMappingServiceMock).handleMapReply(mapReplyBuilder.build()); } - private static ItrRloc newItrRloc(LispAddressFamily clazz, Address address) { + private static ItrRloc newItrRloc(final LispAddressFamily clazz, final Address address) { return new ItrRlocBuilder().setRloc(new RlocBuilder() .setAddress(address) .setAddressType(clazz).build()).build(); -- 2.34.1 From eb1609a2d0f531d5d8df466b095a12593e27ee55 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Aug 2025 14:56:39 +0200 Subject: [PATCH 08/10] Eliminate unused properties We have a ton of magic properties which are not referenced anywhere: remove them. Change-Id: I6fe5d9194a3b59e800b920757cf952cf733319b2 Signed-off-by: Robert Varga --- commons/parent/pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/commons/parent/pom.xml b/commons/parent/pom.xml index 93bd3fb8..5b79f6d9 100644 --- a/commons/parent/pom.xml +++ b/commons/parent/pom.xml @@ -28,13 +28,8 @@ ODL :: lispflowmapping :: ${project.artifactId} - 1.0.0 - 0.5.0 1.22.0-SNAPSHOT - 0.25.0-SNAPSHOT - 0.29.0-SNAPSHOT src/main/yang-gen-sal - 0.5.0 src/main/yang -- 2.34.1 From 0d50eabb8dfac3e064f1c034bee7ba9a0d75fa59 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Aug 2025 15:01:42 +0200 Subject: [PATCH 09/10] Use lispflowmapping-artifacts in lispflowmapping-commons Reduce declaration overlap by importing our artifacts. Change-Id: I00eef8ea0b12d3e9a4bfaf123b26f83cd7f4009c Signed-off-by: Robert Varga --- commons/parent/pom.xml | 59 ++++-------------------------------------- 1 file changed, 5 insertions(+), 54 deletions(-) diff --git a/commons/parent/pom.xml b/commons/parent/pom.xml index 5b79f6d9..9172d8b1 100644 --- a/commons/parent/pom.xml +++ b/commons/parent/pom.xml @@ -35,8 +35,6 @@ - org.opendaylight.mdsal mdsal-artifacts @@ -53,61 +51,14 @@ org.opendaylight.lispflowmapping - common.build.tools - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - lispflowmapping-code-commons - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - lispflowmapping-commons - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - mappingservice.api - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - mappingservice.implementation - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - mappingservice.inmemorydb - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - mappingservice.northbound - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - mappingservice.shell - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - mappingservice.southbound - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - mappingservice.lisp-proto - ${lispflowmapping.version} - - - org.opendaylight.lispflowmapping - ui-lispflowmapping - ${lispflowmapping.version} + lispflowmapping-artifacts + 1.22.0-SNAPSHOT + pom + import + -- 2.34.1 From 587bf6d0199f72aedac56ceaa5ed44a148c2b486 Mon Sep 17 00:00:00 2001 From: jenkins-releng Date: Fri, 15 Aug 2025 13:05:19 +0000 Subject: [PATCH 10/10] Release Validate --- artifacts/pom.xml | 2 +- commons/build_tools/pom.xml | 2 +- commons/parent/pom.xml | 6 +++--- features/features-lispflowmapping/pom.xml | 2 +- features/odl-lispflowmapping-inmemorydb/pom.xml | 2 +- features/odl-lispflowmapping-mappingservice-shell/pom.xml | 2 +- features/odl-lispflowmapping-mappingservice/pom.xml | 2 +- features/odl-lispflowmapping-models/pom.xml | 2 +- features/odl-lispflowmapping-msmr/pom.xml | 2 +- features/odl-lispflowmapping-southbound/pom.xml | 2 +- features/pom.xml | 2 +- integrationtest/pom.xml | 4 ++-- lispflowmapping-karaf/pom.xml | 2 +- mappingservice/api/pom.xml | 2 +- mappingservice/dsbackend/pom.xml | 2 +- mappingservice/implementation/pom.xml | 2 +- mappingservice/inmemorydb/pom.xml | 2 +- mappingservice/lisp-proto/pom.xml | 2 +- mappingservice/mapcache/pom.xml | 2 +- mappingservice/pom.xml | 2 +- mappingservice/shell/pom.xml | 2 +- mappingservice/southbound/pom.xml | 2 +- pom.xml | 2 +- 23 files changed, 26 insertions(+), 26 deletions(-) diff --git a/artifacts/pom.xml b/artifacts/pom.xml index 6ecbcd15..a221e237 100644 --- a/artifacts/pom.xml +++ b/artifacts/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping lispflowmapping-artifacts - 1.22.0-SNAPSHOT + 1.22.0 pom diff --git a/commons/build_tools/pom.xml b/commons/build_tools/pom.xml index 4363358c..fbea2023 100644 --- a/commons/build_tools/pom.xml +++ b/commons/build_tools/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.lispflowmapping lispflowmapping-commons - 1.22.0-SNAPSHOT + 1.22.0 ../parent diff --git a/commons/parent/pom.xml b/commons/parent/pom.xml index 9172d8b1..39560b71 100644 --- a/commons/parent/pom.xml +++ b/commons/parent/pom.xml @@ -21,14 +21,14 @@ org.opendaylight.lispflowmapping lispflowmapping-commons - 1.22.0-SNAPSHOT + 1.22.0 pom ODL :: lispflowmapping :: ${project.artifactId} - 1.22.0-SNAPSHOT + 1.22.0 src/main/yang-gen-sal src/main/yang @@ -52,7 +52,7 @@ org.opendaylight.lispflowmapping lispflowmapping-artifacts - 1.22.0-SNAPSHOT + 1.22.0 pom import diff --git a/features/features-lispflowmapping/pom.xml b/features/features-lispflowmapping/pom.xml index 6ffe562e..82073731 100644 --- a/features/features-lispflowmapping/pom.xml +++ b/features/features-lispflowmapping/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping features-lispflowmapping - 1.22.0-SNAPSHOT + 1.22.0 feature diff --git a/features/odl-lispflowmapping-inmemorydb/pom.xml b/features/odl-lispflowmapping-inmemorydb/pom.xml index cd71e5e3..95b5708b 100644 --- a/features/odl-lispflowmapping-inmemorydb/pom.xml +++ b/features/odl-lispflowmapping-inmemorydb/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping odl-lispflowmapping-inmemorydb - 1.22.0-SNAPSHOT + 1.22.0 feature diff --git a/features/odl-lispflowmapping-mappingservice-shell/pom.xml b/features/odl-lispflowmapping-mappingservice-shell/pom.xml index b9787ae2..bab7249f 100644 --- a/features/odl-lispflowmapping-mappingservice-shell/pom.xml +++ b/features/odl-lispflowmapping-mappingservice-shell/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping odl-lispflowmapping-mappingservice-shell - 1.22.0-SNAPSHOT + 1.22.0 feature diff --git a/features/odl-lispflowmapping-mappingservice/pom.xml b/features/odl-lispflowmapping-mappingservice/pom.xml index e9dfa00f..a54be508 100644 --- a/features/odl-lispflowmapping-mappingservice/pom.xml +++ b/features/odl-lispflowmapping-mappingservice/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping odl-lispflowmapping-mappingservice - 1.22.0-SNAPSHOT + 1.22.0 feature diff --git a/features/odl-lispflowmapping-models/pom.xml b/features/odl-lispflowmapping-models/pom.xml index 2bbe9ca1..e3db169c 100644 --- a/features/odl-lispflowmapping-models/pom.xml +++ b/features/odl-lispflowmapping-models/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping odl-lispflowmapping-models - 1.22.0-SNAPSHOT + 1.22.0 feature diff --git a/features/odl-lispflowmapping-msmr/pom.xml b/features/odl-lispflowmapping-msmr/pom.xml index 811db7f9..c4e2807c 100644 --- a/features/odl-lispflowmapping-msmr/pom.xml +++ b/features/odl-lispflowmapping-msmr/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping odl-lispflowmapping-msmr - 1.22.0-SNAPSHOT + 1.22.0 feature diff --git a/features/odl-lispflowmapping-southbound/pom.xml b/features/odl-lispflowmapping-southbound/pom.xml index 3051a05b..6e4f3e9e 100644 --- a/features/odl-lispflowmapping-southbound/pom.xml +++ b/features/odl-lispflowmapping-southbound/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping odl-lispflowmapping-southbound - 1.22.0-SNAPSHOT + 1.22.0 feature diff --git a/features/pom.xml b/features/pom.xml index 3288f4aa..d4f8cd55 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping features-aggregator - 1.22.0-SNAPSHOT + 1.22.0 pom diff --git a/integrationtest/pom.xml b/integrationtest/pom.xml index 6525f227..3ea636ff 100644 --- a/integrationtest/pom.xml +++ b/integrationtest/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html 4.0.0 org.opendaylight.lispflowmapping mappingservice.integrationtest - 1.22.0-SNAPSHOT + 1.22.0 bundle @@ -28,7 +28,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html false org.opendaylight.lispflowmapping lispflowmapping-karaf - 1.22.0-SNAPSHOT + 1.22.0 zip diff --git a/lispflowmapping-karaf/pom.xml b/lispflowmapping-karaf/pom.xml index 241f1924..31465923 100644 --- a/lispflowmapping-karaf/pom.xml +++ b/lispflowmapping-karaf/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping lispflowmapping-karaf - 1.22.0-SNAPSHOT + 1.22.0 pom diff --git a/mappingservice/api/pom.xml b/mappingservice/api/pom.xml index f4c6fb11..a67881ae 100644 --- a/mappingservice/api/pom.xml +++ b/mappingservice/api/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.lispflowmapping mappingservice.api - 1.22.0-SNAPSHOT + 1.22.0 bundle diff --git a/mappingservice/dsbackend/pom.xml b/mappingservice/dsbackend/pom.xml index ca3b05b3..fb5e978d 100644 --- a/mappingservice/dsbackend/pom.xml +++ b/mappingservice/dsbackend/pom.xml @@ -13,7 +13,7 @@ org.opendaylight.lispflowmapping mappingservice-parent - 1.22.0-SNAPSHOT + 1.22.0 mappingservice.dsbackend diff --git a/mappingservice/implementation/pom.xml b/mappingservice/implementation/pom.xml index cc850fc4..4e7218ac 100644 --- a/mappingservice/implementation/pom.xml +++ b/mappingservice/implementation/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.lispflowmapping mappingservice-parent - 1.22.0-SNAPSHOT + 1.22.0 mappingservice.implementation diff --git a/mappingservice/inmemorydb/pom.xml b/mappingservice/inmemorydb/pom.xml index 2632e844..57d6fbd6 100644 --- a/mappingservice/inmemorydb/pom.xml +++ b/mappingservice/inmemorydb/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.lispflowmapping mappingservice-parent - 1.22.0-SNAPSHOT + 1.22.0 mappingservice.inmemorydb diff --git a/mappingservice/lisp-proto/pom.xml b/mappingservice/lisp-proto/pom.xml index d32cfe9c..73a3b5e8 100644 --- a/mappingservice/lisp-proto/pom.xml +++ b/mappingservice/lisp-proto/pom.xml @@ -18,7 +18,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.lispflowmapping mappingservice.lisp-proto - 1.22.0-SNAPSHOT + 1.22.0 bundle diff --git a/mappingservice/mapcache/pom.xml b/mappingservice/mapcache/pom.xml index 92459179..720d72ed 100644 --- a/mappingservice/mapcache/pom.xml +++ b/mappingservice/mapcache/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.lispflowmapping mappingservice-parent - 1.22.0-SNAPSHOT + 1.22.0 mappingservice.mapcache diff --git a/mappingservice/pom.xml b/mappingservice/pom.xml index 3a98569f..b012f078 100644 --- a/mappingservice/pom.xml +++ b/mappingservice/pom.xml @@ -11,7 +11,7 @@ org.opendaylight.lispflowmapping mappingservice-parent - 1.22.0-SNAPSHOT + 1.22.0 pom diff --git a/mappingservice/shell/pom.xml b/mappingservice/shell/pom.xml index 6cf1bf7e..2ad2a0c7 100644 --- a/mappingservice/shell/pom.xml +++ b/mappingservice/shell/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.lispflowmapping mappingservice-parent - 1.22.0-SNAPSHOT + 1.22.0 mappingservice.shell diff --git a/mappingservice/southbound/pom.xml b/mappingservice/southbound/pom.xml index 0b5d95de..cea085d7 100644 --- a/mappingservice/southbound/pom.xml +++ b/mappingservice/southbound/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.lispflowmapping mappingservice-parent - 1.22.0-SNAPSHOT + 1.22.0 mappingservice.southbound diff --git a/pom.xml b/pom.xml index ba7c8b66..90bab88f 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.opendaylight.lispflowmapping lispflowmapping-commons - 1.22.0-SNAPSHOT + 1.22.0 commons/parent -- 2.34.1