java.lang.Object
org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.IpConversionUtil

public final class IpConversionUtil extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    static final com.google.common.base.Splitter
     
  • Method Summary

    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 byte @Nullable []
    convertArbitraryMaskToByteArray(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad mask)
     
    static byte @Nullable []
     
    static byte[]
     
    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 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)
     
    splitToParts(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix ipv4Prefix)
     
    splitToParts(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix ipv6Prefix)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • PREFIX_SEPARATOR

      public static final String PREFIX_SEPARATOR
      See Also:
    • PREFIX_SPLITTER

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

    • 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
    • byteArrayV6AddressToString

      public static String byteArrayV6AddressToString(byte[] binaryForm) throws UnknownHostException
      Throws:
      UnknownHostException
    • 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)
    • compressedIpv6MaskFormat

      public static Ipv6ArbitraryMask compressedIpv6MaskFormat(Ipv6ArbitraryMask ipv6Mask)