summaryrefslogtreecommitdiffstats
path: root/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/MacTranslator.java
diff options
context:
space:
mode:
Diffstat (limited to 'vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/MacTranslator.java')
-rw-r--r--vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/MacTranslator.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/MacTranslator.java b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/MacTranslator.java
index 71b8a15e6..657029eb3 100644
--- a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/MacTranslator.java
+++ b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/MacTranslator.java
@@ -20,6 +20,7 @@ import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;
import com.google.common.base.Splitter;
+import io.fd.vpp.jvpp.core.types.MacAddress;
import java.util.Arrays;
import java.util.List;
import java.util.function.BiConsumer;
@@ -37,6 +38,9 @@ public interface MacTranslator {
/**
* Parse string represented mac address (using ":" as separator) into a byte array
+ *
+ * @param macAddress string representation of MAC address (using ":" as separator)
+ * @return byte array mac address
*/
@Nonnull
default byte[] parseMac(@Nonnull final String macAddress) {
@@ -45,6 +49,19 @@ public interface MacTranslator {
return parseMacLikeString(parts);
}
+ /**
+ * Parse string represented mac address (using ":" as separator) into a MacAddress in VPP
+ *
+ * @param macAddress string representation of MAC address (using ":" as separator)
+ * @return VPP MacAddress
+ */
+ @Nonnull
+ default MacAddress parseMacAddress(@Nonnull final String macAddress) {
+ MacAddress mac = new MacAddress();
+ mac.macaddress = parseMac(macAddress);
+ return mac;
+ }
+
default byte[] parseMacLikeString(final List<String> strings) {
return strings.stream().limit(6).map(this::parseHexByte).collect(
() -> new byte[strings.size()],