diff options
author | Michal Cmarada <mcmarada@cisco.com> | 2019-02-06 09:41:39 +0100 |
---|---|---|
committer | Michal Cmarada <mcmarada@cisco.com> | 2019-02-06 09:41:39 +0100 |
commit | 3751ef96ae1427cc8d5ecb9cbba705e837bb63ca (patch) | |
tree | 08c01465ea307e9eebcdf1e12990ebdb66961228 /vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv4Translator.java | |
parent | acf5a8a052e2f7f7c2b03c023df3dd489688cb00 (diff) |
fix after changes in VPP API
- fixes for mac adress
- fixes for ipaddress
- fixes refactoring in ipsec
Change-Id: Idc3e3557b72a5f1ac5b32b9738d90ca23ed6ed9e
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.java | 33 |
1 files changed, 33 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 24f4ae9aa..5f8a283ed 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 @@ -18,9 +18,14 @@ package io.fd.hc2vpp.common.translate.util; import static com.google.common.base.Preconditions.checkNotNull; +import io.fd.vpp.jvpp.core.types.Address; +import io.fd.vpp.jvpp.core.types.AddressFamily; +import io.fd.vpp.jvpp.core.types.AddressUnion; +import io.fd.vpp.jvpp.core.types.Ip4Address; import java.util.Arrays; import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IetfInetUtil; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; @@ -83,6 +88,34 @@ public interface Ipv4Translator extends ByteDataTranslator { return ipv4AddressNoZoneToArray(ipv4Addr.getValue()); } + /** + * Transform Ipv4 address to a Ip4Address acceptable by VPP. + * + * @return byte array with address bytes + */ + default Address ipv4AddressNoZoneToAddress(final Ipv4AddressNoZone ipv4Addr) { + Address address = new Address(); + address.af = AddressFamily.ADDRESS_IP4; + Ip4Address ip4Address = new Ip4Address(); + ip4Address.ip4Address = ipv4AddressNoZoneToArray(ipv4Addr); + address.un = new AddressUnion(ip4Address); + return address; + } + + /** + * Transform Ipv4 address to a Ip4Address acceptable by VPP. + * + * @return byte array with address bytes + */ + default Address ipv4AddressToAddress(final Ipv4Address ipv4Addr) { + Address address = new Address(); + address.af = AddressFamily.ADDRESS_IP4; + Ip4Address ip4Address = new Ip4Address(); + ip4Address.ip4Address = ipv4AddressNoZoneToArray(ipv4Addr.getValue()); + address.un = new AddressUnion(ip4Address); + return address; + } + default byte[] ipv4AddressNoZoneToArray(final String ipv4Addr) { byte[] retval = new byte[4]; String[] dots = ipv4Addr.split("\\."); |