diff options
Diffstat (limited to 'vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java')
-rw-r--r-- | vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java index 153143910..c1ccd2d88 100644 --- a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java +++ b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java @@ -78,6 +78,19 @@ public interface Ipv6Translator extends ByteDataTranslator { } /** + * Creates {@link io.fd.jvpp.nat.types.Ip6Address} from address part of {@link Ipv6Prefix} + * + * @return {@link io.fd.jvpp.nat.types.Ip6Address} + */ + default io.fd.jvpp.nat.types.Ip6Address ipv6AddressPrefixToNatIp6Address(@Nonnull final Ipv6Prefix ipv6Prefix) { + checkNotNull(ipv6Prefix, "Cannot convert null prefix"); + + io.fd.jvpp.nat.types.Ip6Address ip6Address = new io.fd.jvpp.nat.types.Ip6Address(); + ip6Address.ip6Address = ipv6AddressPrefixToArray(ipv6Prefix); + return ip6Address; + } + + /** * Transforms {@link Prefix} from {@link Ipv6Prefix} * @param ipv6Prefix prefix to be translated * @return Vpp {@link Prefix} from {@link Ipv6Prefix} @@ -95,6 +108,21 @@ public interface Ipv6Translator extends ByteDataTranslator { } /** + * Creates {@link io.fd.jvpp.nat.types.Ip6Prefix} from {@link Ipv6Prefix} + * + * @param ipv6Prefix prefix to be translated + * @return Vpp {@link io.fd.jvpp.nat.types.Ip6Prefix} from {@link Ipv6Prefix} + */ + default io.fd.jvpp.nat.types.Ip6Prefix ipv6AddressPrefixToNatIp6Prefix(@Nonnull final Ipv6Prefix ipv6Prefix) { + checkNotNull(ipv6Prefix, "Cannot convert null prefix"); + io.fd.jvpp.nat.types.Ip6Prefix prefix = new io.fd.jvpp.nat.types.Ip6Prefix(); + prefix.prefix = new io.fd.jvpp.nat.types.Ip6Address(); + prefix.prefix.ip6Address = ipv6AddressPrefixToArray(ipv6Prefix); + prefix.len = extractPrefix(ipv6Prefix); + return prefix; + } + + /** * Extracts {@link Ipv6Prefix} prefix */ default byte extractPrefix(Ipv6Prefix data) { |