summaryrefslogtreecommitdiffstats
path: root/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/RemoteMappingCustomizer.java
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2016-12-23 12:06:31 +0100
committerJan Srnicek <jsrnicek@cisco.com>2017-01-04 07:26:07 +0000
commit9debe7fe89600b0e1d136f488119dddeb0c5702d (patch)
treed61f6e4b71d979ce0760e9de2dd0c3e373384f23 /lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/RemoteMappingCustomizer.java
parent26bd889c9fde0c56b9c2ef078fbaab8082172906 (diff)
HONEYCOMB-322: fix hc error after vpp restart if local-mapping was configured
In case of honeycomb restart, mapping context is read first. Then persisted config is being processed. Therefore customiers should not reject configuration if metadata they are going to add is already present in mapping context. Also includes: * locator-set and remote-mapping handling update * fixes write order of locator sets and local-mapping. Not included: * initializers for lisp (hc restart without vpp restart might fail) Change-Id: I82c1ee878d9ce074a6bd8197678653814514e6ca Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/RemoteMappingCustomizer.java')
-rwxr-xr-xlisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/RemoteMappingCustomizer.java8
1 files changed, 2 insertions, 6 deletions
diff --git a/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/RemoteMappingCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/RemoteMappingCustomizer.java
index 2078f57d4..4fec4d527 100755
--- a/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/RemoteMappingCustomizer.java
+++ b/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/RemoteMappingCustomizer.java
@@ -81,11 +81,6 @@ public class RemoteMappingCustomizer extends FutureJVppCustomizer
checkState(id.firstKeyOf(VniTable.class) != null, "Parent vni table not found");
checkAllowedCombination(id, dataAfter);
- //checks whether mapping not already contains such key
- MappingId mappingId = id.firstKeyOf(RemoteMapping.class).getId();
- checkState(!remoteMappingContext.containsEid(mappingId, writeContext.getMappingContext()),
- "Mapping for id %s already defined", mappingId);
-
try {
addDelRemoteMappingAndReply(true, dataAfter,
id.firstKeyOf(VniTable.class).getVirtualNetworkIdentifier().intValue());
@@ -93,7 +88,8 @@ public class RemoteMappingCustomizer extends FutureJVppCustomizer
throw new WriteFailedException.CreateFailedException(id, dataAfter, e);
}
- //after successfull adition adds mapping
+ // after successfull adition adds mapping
+ MappingId mappingId = id.firstKeyOf(RemoteMapping.class).getId();
remoteMappingContext.addEid(mappingId, dataAfter.getEid(), writeContext.getMappingContext());
}