fix XdsTestServer/TestServiceServer listenAddresses conflict (#11612)

This commit is contained in:
jiangyuan 2024-10-15 03:33:06 +08:00 committed by GitHub
parent ca43d78f58
commit 36e29abf41
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 9 deletions

View File

@ -180,19 +180,23 @@ public class TestServiceServer {
break;
case IPV4:
SocketAddress v4Address = Util.getV4Address(port);
InetSocketAddress localV4Address = new InetSocketAddress("127.0.0.1", port);
serverBuilder =
NettyServerBuilder.forAddress(new InetSocketAddress("127.0.0.1", port), serverCreds);
if (v4Address == null) {
NettyServerBuilder.forAddress(localV4Address, serverCreds);
if (v4Address != null && !v4Address.equals(localV4Address)) {
((NettyServerBuilder) serverBuilder).addListenAddress(v4Address);
}
break;
case IPV6:
List<SocketAddress> v6Addresses = Util.getV6Addresses(port);
InetSocketAddress localV6Address = new InetSocketAddress("::1", port);
serverBuilder =
NettyServerBuilder.forAddress(new InetSocketAddress("::1", port), serverCreds);
NettyServerBuilder.forAddress(localV6Address, serverCreds);
for (SocketAddress address : v6Addresses) {
if (!address.equals(localV6Address)) {
((NettyServerBuilder) serverBuilder).addListenAddress(address);
}
}
break;
default:
throw new AssertionError("Unknown address type: " + addressType);

View File

@ -242,19 +242,22 @@ public final class XdsTestServer {
break;
case IPV4:
SocketAddress v4Address = Util.getV4Address(port);
InetSocketAddress localV4Address = new InetSocketAddress("127.0.0.1", port);
serverBuilder = NettyServerBuilder.forAddress(
new InetSocketAddress("127.0.0.1", port), insecureServerCreds);
if (v4Address != null) {
localV4Address, insecureServerCreds);
if (v4Address != null && !v4Address.equals(localV4Address) ) {
((NettyServerBuilder) serverBuilder).addListenAddress(v4Address);
}
break;
case IPV6:
List<SocketAddress> v6Addresses = Util.getV6Addresses(port);
serverBuilder = NettyServerBuilder.forAddress(
new InetSocketAddress("::1", port), insecureServerCreds);
InetSocketAddress localV6Address = new InetSocketAddress("::1", port);
serverBuilder = NettyServerBuilder.forAddress(localV6Address, insecureServerCreds);
for (SocketAddress address : v6Addresses) {
if (!address.equals(localV6Address)) {
((NettyServerBuilder) serverBuilder).addListenAddress(address);
}
}
break;
default:
throw new AssertionError("Unknown address type: " + addressType);