diff options
author | Håkon Hallingstad <hakon@yahooinc.com> | 2023-06-12 16:56:31 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@yahooinc.com> | 2023-06-12 16:56:31 +0200 |
commit | b3675c7d8f71809f726375034d651b8bf4810d68 (patch) | |
tree | 342729685a9038de2a00c0073202f16080aacf2c /node-admin/src | |
parent | c0b9a0e1ccc8b17af394a89ac551c84a8175567e (diff) |
Ignore GCP internal IPv6 addresses
Diffstat (limited to 'node-admin/src')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/IPAddresses.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/IPAddresses.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/IPAddresses.java index 4b59e40cc82..533941bbd13 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/IPAddresses.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/IPAddresses.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.node.admin.task.util.network; +import ai.vespa.net.CidrBlock; import com.google.common.net.InetAddresses; import com.yahoo.vespa.hosted.node.admin.nodeadmin.ConvergenceException; @@ -56,12 +57,14 @@ public interface IPAddresses { * @throws ConvergenceException if multiple addresses are found */ default Optional<Inet6Address> getIPv6Address(String hostname) { + CidrBlock gcpInternalBlock = CidrBlock.fromString("2600:2d00::/32"); List<Inet6Address> ipv6addresses = Stream.of(getAddresses(hostname)) .filter(Inet6Address.class::isInstance) .filter(inetAddress -> !inetAddress.isLoopbackAddress()) .map(Inet6Address.class::cast) .filter(inetAddress -> !inetAddress.isLinkLocalAddress()) .filter(inetAddress -> !inetAddress.isSiteLocalAddress()) + .filter(inet6Address -> !gcpInternalBlock.contains(inet6Address)) .toList(); if (ipv6addresses.size() <= 1) return ipv6addresses.stream().findFirst(); |