public static Ipv6AddressNoZone getDefaultInstance(String defaultValue) { return new Ipv6AddressNoZone(defaultValue); }
public static Ipv6AddressNoZone getDefaultInstance(String defaultValue) { return new Ipv6AddressNoZone(defaultValue); }
public static Ipv6AddressNoZone getDefaultInstance(String defaultValue) { return new Ipv6AddressNoZone(defaultValue); }
public static IpAddressNoZone getDefaultInstance(final String defaultValue) { if (IPV4_NO_ZONE_PATTERN.matcher(defaultValue).matches()) { return new IpAddressNoZone((new Ipv4AddressNoZone(defaultValue))); } else if (IPV6_NO_ZONE_PATTERN1.matcher(defaultValue).matches()) { return new IpAddressNoZone((new Ipv6AddressNoZone(defaultValue))); } else { throw new IllegalArgumentException("Cannot create IpAddress from " + defaultValue); } } }
public static IpAddressNoZone getDefaultInstance(final String defaultValue) { if (IPV4_NO_ZONE_PATTERN.matcher(defaultValue).matches()) { return new IpAddressNoZone((new Ipv4AddressNoZone(defaultValue))); } else if (IPV6_NO_ZONE_PATTERN1.matcher(defaultValue).matches()) { return new IpAddressNoZone((new Ipv6AddressNoZone(defaultValue))); } else { throw new IllegalArgumentException("Cannot create IpAddress from " + defaultValue); } } }
/** * Parse byte array returned by VPP representing an Ipv6 address. Vpp returns IP byte arrays in reversed order. * * @return Ipv46ddressNoZone containing string representation of IPv6 address constructed from submitted bytes. No * change in order. */ @Nonnull public static Ipv6AddressNoZone arrayToIpv6AddressNoZone(@Nonnull byte[] ip) { checkArgument(ip.length == 16, "Illegal array length"); try { return new Ipv6AddressNoZone(InetAddresses.toAddrString(InetAddresses.fromLittleEndianByteArray(ip))); } catch (UnknownHostException e) { throw new IllegalArgumentException("Unable to parse ipv6", e); } }
/** * Parse byte array returned by VPP representing an Ipv6 address. Vpp returns IP byte arrays in natural order. * * @return Ipv46ddressNoZone containing string representation of IPv6 address constructed from submitted bytes. No * change in order. */ @Nonnull public static Ipv6AddressNoZone arrayToIpv6AddressNoZoneReversed(@Nonnull byte[] ip) { checkArgument(ip.length == 16, "Illegal array length"); ip = reverseBytes(ip); try { return new Ipv6AddressNoZone(InetAddresses.toAddrString(InetAddresses.fromLittleEndianByteArray(ip))); } catch (UnknownHostException e) { throw new IllegalArgumentException("Unable to parse ipv6", e); } }
/** * Creates address array from address part of {@link Ipv6Prefix} */ public static byte[] ipv6AddressPrefixToArray(@Nonnull final Ipv6Prefix ipv4Prefix) { checkNotNull(ipv4Prefix, "Cannot convert null prefix"); return ipv6AddressNoZoneToArray(new Ipv6AddressNoZone( new Ipv6Address(ipv4Prefix.getValue().substring(0, ipv4Prefix.getValue().indexOf('/'))))); }
/** * Converts {@link IpAddress} to array representing {@link Ipv4Address} or {@link Ipv6Address} */ public static byte[] ipAddressToArray(boolean isIpv6, @Nonnull IpAddress address) { checkNotNull(address, "Cannot convert null Address"); if (isIpv6) { return ipv6AddressNoZoneToArray(new Ipv6AddressNoZone(address.getIpv6Address())); } else { return ipv4AddressNoZoneToArray(new Ipv4AddressNoZone(address.getIpv4Address())); } }
public static final byte[] ipAddressToArray(IpAddress address) { checkNotNull(address, "Cannot resolve null adddress"); if (isIpv6(address)) { return ipv6AddressNoZoneToArray(new Ipv6AddressNoZone(address.getIpv6Address())); } else { return ipv4AddressNoZoneToArray(new Ipv4AddressNoZone(address.getIpv4Address())); } }
default byte[] resolveByteArray(EidType type, Address address) { switch (type) { case IPV4: return ipv4AddressNoZoneToArray(new Ipv4AddressNoZone(((Ipv4) address).getIpv4())); case IPV6: return ipv6AddressNoZoneToArray(new Ipv6AddressNoZone(((Ipv6) address).getIpv6())); case MAC: return parseMac(((Mac) address).getMac().getValue()); case IPV4_PREFIX: return ipv4AddressPrefixToArray(v4LispPrefixToInetPrefix(Ipv4Prefix.class.cast(address))); case IPV6_PREFIX: return ipv6AddressPrefixToArray(v6LispPrefixToInetPrefix(Ipv6Prefix.class.cast(address))); default: throw new IllegalArgumentException("Unsupported type"); } }
private Ipv6Address extractLocator(Ipv6Address sid, final MappingContext mappingContext, String locName) { /* * TODO(HC2VPP-353): VPP does not support locator length, therefore it is necessary to use default value for * locator length, if there is no other way of getting the value (e.g. hc2vpp starts with configuration already * present in VPP). * */ int locLength = locName == null ? DEFAULT_LOCATOR_LENGTH : LocatorContextManager.parseLength(locatorCtx.getLocator(locName, mappingContext)); com.googlecode.ipv6.IPv6Address ip = com.googlecode.ipv6.IPv6Address.fromString(sid.getValue()); IPv6NetworkMask mask = IPv6NetworkMask.fromPrefixLength(locLength); // strip function part if present ip = ip.maskWithNetworkMask(mask); return new Ipv6AddressNoZone(ip.toString()); }