Class IpConversionUtil
- 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 String
PREFIX_SEPARATOR
static com.google.common.base.Splitter
PREFIX_SPLITTER
-
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_SEPARATOR
public static final String PREFIX_SEPARATOR
- See Also:
- Constant Field Values
-
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
-
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 [] formmask
- - 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)
-
-