summaryrefslogtreecommitdiffstats
path: root/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java
diff options
context:
space:
mode:
authorMaros Marsalek <mmarsale@cisco.com>2016-05-17 09:10:39 +0200
committerMaros Marsalek <mmarsale@cisco.com>2016-05-23 09:24:12 +0000
commitd54ea758da8dcf71d52727c4f01f87090c50bf2e (patch)
treebf86e49ad4899b50c97654ae144d4b2e8902d1b8 /v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java
parent9e59a344c5a5b81fb7b7292184e849ad0fc9507c (diff)
HONEYCOMB-61: Add BA broker for context data tree
With broker, context data can be accessed in a transactional manner, same as config data + Renamed data-api concepts to not include DataTree + Renamed context related concepts to better distinguish between them + Now passing full ReadContext to read customizers + Naming context is backed by context data broker Change-Id: I0b2876dd74a31a9ced7d9b5145672868e12f8b82 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Diffstat (limited to 'v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java')
-rw-r--r--v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java17
1 files changed, 9 insertions, 8 deletions
diff --git a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java
index 72679fe12..bafe788ad 100644
--- a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java
+++ b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java
@@ -69,7 +69,7 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> {
@Nonnull final WriteContext writeContext)
throws WriteFailedException.CreateFailedException {
try {
- createTap(id.firstKeyOf(Interface.class).getName(), dataAfter);
+ createTap(id.firstKeyOf(Interface.class).getName(), dataAfter, writeContext);
} catch (VppApiInvocationException e) {
LOG.warn("Write of Tap failed", e);
throw new WriteFailedException.CreateFailedException(id, dataAfter, e);
@@ -84,7 +84,7 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> {
final int index;
try {
- index = interfaceContext.getIndex(ifcName);
+ index = interfaceContext.getIndex(ifcName, writeContext.getMappingContext());
} catch (IllegalArgumentException e) {
throw new WriteFailedException.UpdateFailedException(id, dataBefore, dataAfter, e);
}
@@ -105,20 +105,20 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> {
final int index;
try {
- index = interfaceContext.getIndex(ifcName);
+ index = interfaceContext.getIndex(ifcName, writeContext.getMappingContext());
} catch (IllegalArgumentException e) {
throw new WriteFailedException.DeleteFailedException(id, e);
}
try {
- deleteTap(ifcName, index, dataBefore);
+ deleteTap(ifcName, index, dataBefore, writeContext);
} catch (VppApiInvocationException e) {
LOG.warn("Delete of Tap failed", e);
throw new WriteFailedException.DeleteFailedException(id, e);
}
}
- private void createTap(final String swIfName, final Tap tap) throws VppApiInvocationException {
+ private void createTap(final String swIfName, final Tap tap, final WriteContext writeContext) throws VppApiInvocationException {
LOG.debug("Setting tap interface: {}. Tap: {}", swIfName, tap);
final CompletionStage<TapConnectReply> tapConnectFuture =
getFutureJVpp().tapConnect(getTapConnectRequest(tap.getTapName(), tap.getMac(), tap.getDeviceInstance()));
@@ -130,7 +130,7 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> {
} else {
LOG.debug("Tap set successfully for: {}, tap: {}", swIfName, tap);
// Add new interface to our interface context
- interfaceContext.addName(reply.swIfIndex, swIfName);
+ interfaceContext.addName(reply.swIfIndex, swIfName, writeContext.getMappingContext());
}
}
@@ -148,7 +148,8 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> {
}
}
- private void deleteTap(final String swIfName, final int index, final Tap dataBefore)
+ private void deleteTap(final String swIfName, final int index, final Tap dataBefore,
+ final WriteContext writeContext)
throws VppApiInvocationException {
LOG.debug("Deleting tap interface: {}. Tap: {}", swIfName, dataBefore);
final CompletionStage<TapDeleteReply> vxlanAddDelTunnelReplyCompletionStage =
@@ -161,7 +162,7 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> {
} else {
LOG.debug("Tap deleted successfully for: {}, tap: {}", swIfName, dataBefore);
// Remove deleted interface from interface context
- interfaceContext.removeName(swIfName);
+ interfaceContext.removeName(swIfName, writeContext.getMappingContext());
}
}