diff options
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.java | 17 |
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()], |