summaryrefslogtreecommitdiffstats
path: root/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/TapCustomizer.java
diff options
context:
space:
mode:
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());
}
}