summaryrefslogtreecommitdiffstats
path: root/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfaces/TapCustomizer.java
diff options
context:
space:
mode:
Diffstat (limited to 'v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfaces/TapCustomizer.java')
-rw-r--r--v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfaces/TapCustomizer.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfaces/TapCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfaces/TapCustomizer.java
index 220fb95e8..a22a0d429 100644
--- a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfaces/TapCustomizer.java
+++ b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/interfaces/TapCustomizer.java
@@ -29,6 +29,7 @@ import io.fd.vpp.jvpp.core.dto.TapDeleteReply;
import io.fd.vpp.jvpp.core.dto.TapModify;
import io.fd.vpp.jvpp.core.dto.TapModifyReply;
import io.fd.vpp.jvpp.core.future.FutureJVppCore;
+import java.nio.charset.StandardCharsets;
import java.util.concurrent.CompletionStage;
import javax.annotation.Nonnull;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.InterfaceType;
@@ -98,7 +99,7 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> implemen
final WriteContext writeContext) throws WriteFailedException {
LOG.debug("Setting tap interface: {}. Tap: {}", swIfName, tap);
final CompletionStage<TapConnectReply> tapConnectFuture = getFutureJVpp()
- .tapConnect(getTapConnectRequest(tap.getTapName(), tap.getMac(), tap.getDeviceInstance()));
+ .tapConnect(getTapConnectRequest(tap));
final TapConnectReply reply = getReplyForCreate(tapConnectFuture.toCompletableFuture(), id, tap);
LOG.debug("Tap set successfully for: {}, tap: {}", swIfName, tap);
// Add new interface to our interface context
@@ -128,10 +129,11 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> implemen
interfaceContext.removeName(swIfName, writeContext.getMappingContext());
}
- private TapConnect getTapConnectRequest(final String tapName, final PhysAddress mac, final Long deviceInstance) {
+ private TapConnect getTapConnectRequest(final Tap tap) {
final TapConnect tapConnect = new TapConnect();
- tapConnect.tapName = tapName.getBytes();
+ tapConnect.tapName = tap.getTapName().getBytes();
+ final PhysAddress mac = tap.getMac();
if (mac == null) {
tapConnect.useRandomMac = 1;
tapConnect.macAddress = new byte[6];
@@ -140,6 +142,7 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> implemen
tapConnect.macAddress = parseMac(mac.getValue());
}
+ final Long deviceInstance = tap.getDeviceInstance();
if (deviceInstance == null) {
tapConnect.renumber = 0;
} else {
@@ -147,6 +150,11 @@ public class TapCustomizer extends AbstractInterfaceTypeCustomizer<Tap> implemen
tapConnect.customDevInstance = Math.toIntExact(deviceInstance);
}
+ final String tag = tap.getTag();
+ if (tag != null) {
+ tapConnect.tag = tag.getBytes(StandardCharsets.US_ASCII);
+ }
+
return tapConnect;
}