import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public static Ipv6Prefix prefixForBytes(final byte[] bytes, final int length) {
Preconditions.checkArgument(length <= bytes.length * 8);
- return new Ipv6Prefix(addressForBytes(bytes).toString() + "/" + length);
+ byte[] tmp = Arrays.copyOfRange(bytes, 0, 16);
+ InetAddress a = null;
+ try {
+ a = InetAddress.getByAddress(tmp);
+ } catch (UnknownHostException e) {
+ throw new IllegalArgumentException(e.getMessage());
+ }
+ return new Ipv6Prefix(InetAddresses.toAddrString(a) + "/" + length);
}
public static List<Ipv6Prefix> prefixListForBytes(final byte[] bytes) {