summaryrefslogtreecommitdiffstats
path: root/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java
diff options
context:
space:
mode:
authorMichal Cmarada <mcmarada@cisco.com>2019-05-06 13:48:21 +0200
committerMichal Cmarada <mcmarada@cisco.com>2019-05-06 13:48:21 +0200
commit97554c44ffc7f7ce82fe89d6da5ac15c46ee80b4 (patch)
treed1756819a8e108ab381129e747575c9515e0072e /vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java
parentb248447c7ab16c86b28e9bda5f7224a9d106ac43 (diff)
fix Nat implementation after API changes in VPP
Change-Id: Ibe8ead5a19119af9eb6b673f0713890ad5e243cb Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
Diffstat (limited to 'vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java')
-rw-r--r--vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java
index 88085db78..f6fc3c78f 100644
--- a/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java
+++ b/vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java
@@ -56,6 +56,20 @@ public interface Ipv4Translator extends ByteDataTranslator {
}
/**
+ * Creates {@link io.fd.jvpp.nat.types.Ip4Address} address from address part of {@link Ipv4Prefix}
+ *
+ * @return {@link io.fd.jvpp.nat.types.Ip4Address}
+ */
+ default io.fd.jvpp.nat.types.Ip4Address ipv4AddressPrefixToNatIp4Address(@Nonnull final Ipv4Prefix ipv4Prefix) {
+ checkNotNull(ipv4Prefix, "Cannot convert null prefix");
+
+ io.fd.jvpp.nat.types.Ip4Address address = new io.fd.jvpp.nat.types.Ip4Address();
+ address.ip4Address = ipv4AddressPrefixToArray(ipv4Prefix);
+
+ return address;
+ }
+
+ /**
* Extracts {@link Ipv4Prefix} prefix
*/
default byte extractPrefix(Ipv4Prefix data) {
@@ -89,6 +103,17 @@ public interface Ipv4Translator extends ByteDataTranslator {
}
/**
+ * Transform Ipv4 address to a {@link io.fd.jvpp.nat.types.Ip4Address} acceptable by VPP.
+ *
+ * @return {@link io.fd.jvpp.nat.types.Ip4Address}
+ */
+ default io.fd.jvpp.nat.types.Ip4Address ipv4AddressNoZoneToNatIp4Address(final Ipv4AddressNoZone ipv4Addr) {
+ io.fd.jvpp.nat.types.Ip4Address ip4Address = new io.fd.jvpp.nat.types.Ip4Address();
+ ip4Address.ip4Address = ipv4AddressNoZoneToArray(ipv4Addr.getValue());
+ return ip4Address;
+ }
+
+ /**
* Transform Ipv4 address to a Ip4Address acceptable by VPP.
*
* @return byte array with address bytes