Class IpConversionUtil


  • public final class IpConversionUtil
    extends Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static String byteArrayV6AddressToString​(byte[] binaryForm)  
      static String byteArrayV6PrefixToString​(byte[] binaryForm)
      Print a v6 prefix in byte array + 1 notation.
      static byte[] canonicalBinaryV6Address​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address)
      Convert Ipv6Address object to a valid Canonical v6 address in byte format.
      static byte[] canonicalBinaryV6Prefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
      Convert Ipv6Prefix object to a valid Canonical v6 prefix in byte format.
      static void canonicalizeIpv6Prefix​(byte[] prefix, int mask)
      Canonicalize a v6 prefix while in binary form.
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address compressedIpv6AddressFormat​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address)  
      static Ipv6ArbitraryMask compressedIpv6MaskFormat​(Ipv6ArbitraryMask ipv6Mask)  
      static byte @Nullable [] convertArbitraryMaskToByteArray​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad mask)  
      static byte @Nullable [] convertIpv6ArbitraryMaskToByteArray​(Ipv6ArbitraryMask mask)  
      static byte[] convertIpv6PrefixToByteArray​(int prefix)  
      static int countBits​(byte[] mask)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad createArbitraryBitMask​(byte[] bitmask)  
      static Ipv6ArbitraryMask createIpv6ArbitraryBitMask​(byte[] bitmask)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address, byte[] bytemask)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address, int intmask)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address, String mask)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address, byte[] bytemask)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address, int intmask)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address, String mask)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address extractIpv4Address​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad extractIpv4AddressMask​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)  
      static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address extractIpv6Address​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)  
      static @Nullable Ipv6ArbitraryMask extractIpv6AddressMask​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)  
      static Integer extractIpv6Prefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)  
      static Integer extractPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Prefix)  
      static Integer extractPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)  
      static Integer extractPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Prefix)  
      static Integer extractPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)  
      static Integer hasIpv4Prefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)
      Check if the supplied Ipv4Prefix has a prefix shorter than IPv4 address length.
      static Integer hasIpv6Prefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
      Check if the supplied Ipv6Prefix has a prefix shorter than IPv6 address length.
      static boolean isArbitraryBitMask​(byte[] byteMask)  
      static boolean isIpv6ArbitraryBitMask​(byte[] byteMask)  
      static int maskForIpv4Prefix​(int prefixLength)  
      static Iterator<String> splitToParts​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)  
      static Iterator<String> splitToParts​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)  
    • Field Detail

      • PREFIX_SPLITTER

        public static final com.google.common.base.Splitter PREFIX_SPLITTER
    • Method Detail

      • splitToParts

        public static Iterator<String> splitToParts​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)
      • splitToParts

        public static Iterator<String> splitToParts​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
      • createPrefix

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address)
      • createPrefix

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address,
                                                                                                                                 String mask)
      • createPrefix

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address,
                                                                                                                                 int intmask)
      • createPrefix

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Address,
                                                                                                                                 byte[] bytemask)
      • createPrefix

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address)
      • createPrefix

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address,
                                                                                                                                 String mask)
      • createPrefix

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address,
                                                                                                                                 int intmask)
      • createPrefix

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix createPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address,
                                                                                                                                 byte[] bytemask)
      • createArbitraryBitMask

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad createArbitraryBitMask​(byte[] bitmask)
      • createIpv6ArbitraryBitMask

        public static Ipv6ArbitraryMask createIpv6ArbitraryBitMask​(byte[] bitmask)
      • extractPrefix

        public static Integer extractPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)
      • extractPrefix

        public static Integer extractPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
      • extractPrefix

        public static Integer extractPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address ipv4Prefix)
      • extractPrefix

        public static Integer extractPrefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Prefix)
      • hasIpv4Prefix

        public static Integer hasIpv4Prefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)
        Check if the supplied Ipv4Prefix has a prefix shorter than IPv4 address length.
        Parameters:
        ipv4Prefix - Ipv4 prefix
        Returns:
        prefix if there is one, else null
      • maskForIpv4Prefix

        public static int maskForIpv4Prefix​(int prefixLength)
      • canonicalBinaryV6Address

        public static byte[] canonicalBinaryV6Address​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address)
        Convert Ipv6Address object to a valid Canonical v6 address in byte format.
        Parameters:
        ipv6Address - - v6 Address object
        Returns:
        - byte array of size 16. Last byte contains netmask
      • canonicalBinaryV6Prefix

        public static byte[] canonicalBinaryV6Prefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
        Convert Ipv6Prefix object to a valid Canonical v6 prefix in byte format.
        Parameters:
        ipv6Prefix - - v6 prefix object
        Returns:
        - byte array of size 16 + 1. Last byte contains netmask
      • byteArrayV6PrefixToString

        public static String byteArrayV6PrefixToString​(byte[] binaryForm)
                                                throws UnknownHostException
        Print a v6 prefix in byte array + 1 notation.
        Parameters:
        binaryForm - - prefix, in byte [] form, last byte is netmask
        Returns:
        string of v6 prefix
        Throws:
        UnknownHostException - unknown host exception
      • hasIpv6Prefix

        public static Integer hasIpv6Prefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
        Check if the supplied Ipv6Prefix has a prefix shorter than IPv6 address length.
        Parameters:
        ipv6Prefix - Ipv6 prefix
        Returns:
        prefix if there is one, else null
      • canonicalizeIpv6Prefix

        public static void canonicalizeIpv6Prefix​(byte[] prefix,
                                                  int mask)
        Canonicalize a v6 prefix while in binary form.
        Parameters:
        prefix - - prefix, in byte [] form
        mask - - mask - number of bits
      • convertIpv6PrefixToByteArray

        public static byte[] convertIpv6PrefixToByteArray​(int prefix)
      • extractIpv6Address

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address extractIpv6Address​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
      • extractIpv4Address

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address extractIpv4Address​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)
      • extractIpv4AddressMask

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad extractIpv4AddressMask​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)
      • extractIpv6AddressMask

        public static @Nullable Ipv6ArbitraryMask extractIpv6AddressMask​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
      • extractIpv6Prefix

        public static Integer extractIpv6Prefix​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
      • countBits

        public static int countBits​(byte[] mask)
      • convertArbitraryMaskToByteArray

        public static byte @Nullable [] convertArbitraryMaskToByteArray​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad mask)
      • isArbitraryBitMask

        public static boolean isArbitraryBitMask​(byte[] byteMask)
      • convertIpv6ArbitraryMaskToByteArray

        public static byte @Nullable [] convertIpv6ArbitraryMaskToByteArray​(Ipv6ArbitraryMask mask)
      • isIpv6ArbitraryBitMask

        public static boolean isIpv6ArbitraryBitMask​(byte[] byteMask)
      • compressedIpv6AddressFormat

        public static org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address compressedIpv6AddressFormat​(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address ipv6Address)