diff options
Diffstat (limited to 'lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/MapRequestModeCustomizer.java')
-rw-r--r-- | lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/MapRequestModeCustomizer.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/MapRequestModeCustomizer.java b/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/MapRequestModeCustomizer.java index cea02264c..d211a747f 100644 --- a/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/MapRequestModeCustomizer.java +++ b/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/translate/write/MapRequestModeCustomizer.java @@ -16,8 +16,6 @@ package io.fd.hc2vpp.lisp.translate.write; -import static com.google.common.base.Preconditions.checkNotNull; - import io.fd.hc2vpp.common.translate.util.JvppReplyConsumer; import io.fd.hc2vpp.lisp.translate.service.LispStateCheckService; import io.fd.hc2vpp.lisp.translate.util.CheckedLispCustomizer; @@ -27,14 +25,24 @@ import io.fd.honeycomb.translate.write.WriteFailedException; import io.fd.vpp.jvpp.core.dto.OneMapRequestMode; import io.fd.vpp.jvpp.core.dto.OneMapRequestModeReply; import io.fd.vpp.jvpp.core.future.FutureJVppCore; -import java.util.concurrent.CompletableFuture; -import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170911.map.request.mode.grouping.MapRequestMode; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170911.map.request.mode.grouping.MapRequestModeBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.annotation.Nonnull; +import java.util.concurrent.CompletableFuture; + +import static com.google.common.base.Preconditions.checkNotNull; +import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170911.MapRequestMode.DestinationOnly; public class MapRequestModeCustomizer extends CheckedLispCustomizer implements WriterCustomizer<MapRequestMode>, JvppReplyConsumer { + private static final Logger LOG = LoggerFactory.getLogger(MapRequestModeCustomizer.class); + private static final MapRequestMode DEFAULT_MODE = new MapRequestModeBuilder().setMode(DestinationOnly).build(); + public MapRequestModeCustomizer(@Nonnull final FutureJVppCore futureJVppCore, @Nonnull final LispStateCheckService lispStateCheckService) { super(futureJVppCore, lispStateCheckService); @@ -44,6 +52,7 @@ public class MapRequestModeCustomizer extends CheckedLispCustomizer public void writeCurrentAttributes(@Nonnull InstanceIdentifier<MapRequestMode> instanceIdentifier, @Nonnull MapRequestMode mapRequestMode, @Nonnull WriteContext writeContext) throws WriteFailedException { + LOG.debug("Setting map request mode to [{}]", mapRequestMode); lispStateCheckService.checkLispEnabledAfter(writeContext); getReplyForWrite(mapRequestModeRequestFuture(mapRequestMode), instanceIdentifier); } @@ -54,6 +63,7 @@ public class MapRequestModeCustomizer extends CheckedLispCustomizer @Nonnull MapRequestMode mapRequestModeAfter, @Nonnull WriteContext writeContext) throws WriteFailedException { lispStateCheckService.checkLispEnabledAfter(writeContext); + LOG.debug("Setting map request mode to [{}]", mapRequestModeAfter); getReplyForUpdate(mapRequestModeRequestFuture(mapRequestModeAfter), instanceIdentifier, mapRequestModeBefore, mapRequestModeAfter); } @@ -62,7 +72,10 @@ public class MapRequestModeCustomizer extends CheckedLispCustomizer public void deleteCurrentAttributes(@Nonnull InstanceIdentifier<MapRequestMode> instanceIdentifier, @Nonnull MapRequestMode mapRequestMode, @Nonnull WriteContext writeContext) throws WriteFailedException { - throw new UnsupportedOperationException("Map request mode cannot be deleted"); + LOG.debug("Setting map request mode to default[{}]", DEFAULT_MODE); + // there is no delete, just set to default. also prevents failing on delete of parent node + lispStateCheckService.checkLispEnabledBefore(writeContext); + getReplyForWrite(mapRequestModeRequestFuture(DEFAULT_MODE), instanceIdentifier); } private CompletableFuture<OneMapRequestModeReply> mapRequestModeRequestFuture( |