xds: set listeningAddresses in Node and metadata as per the new interface (#6880)

diff --git a/xds/src/main/java/io/grpc/xds/XdsClientImpl.java b/xds/src/main/java/io/grpc/xds/XdsClientImpl.java
index 1f80532..2e7d337 100644
--- a/xds/src/main/java/io/grpc/xds/XdsClientImpl.java
+++ b/xds/src/main/java/io/grpc/xds/XdsClientImpl.java
@@ -41,6 +41,7 @@
 import io.envoyproxy.envoy.api.v2.RouteConfiguration;
 import io.envoyproxy.envoy.api.v2.core.Address;
 import io.envoyproxy.envoy.api.v2.core.Node;
+import io.envoyproxy.envoy.api.v2.core.SocketAddress;
 import io.envoyproxy.envoy.api.v2.listener.FilterChain;
 import io.envoyproxy.envoy.api.v2.listener.FilterChainMatch;
 import io.envoyproxy.envoy.api.v2.route.Route;
@@ -450,12 +451,17 @@
 
   /** In case of Listener watcher metadata to be updated to include port. */
   private void updateNodeMetadataForListenerRequest(int port) {
-    // TODO(sanjaypujare): fields of metadata to update to be finalized
     Struct newMetadata = node.getMetadata().toBuilder()
-        .putFields("listener_inbound_port",
-            Value.newBuilder().setStringValue("" + port).build())
+        .putFields("TRAFFICDIRECTOR_PROXYLESS",
+            Value.newBuilder().setStringValue("1").build())
         .build();
-    node = node.toBuilder().setMetadata(newMetadata).build();
+    Address listeningAddress =
+        Address.newBuilder()
+            .setSocketAddress(
+                SocketAddress.newBuilder().setAddress("0.0.0.0").setPortValue(port).build())
+            .build();
+    node =
+        node.toBuilder().setMetadata(newMetadata).addListeningAddresses(listeningAddress).build();
   }
 
   @Override
diff --git a/xds/src/test/java/io/grpc/xds/XdsClientImplTestForListener.java b/xds/src/test/java/io/grpc/xds/XdsClientImplTestForListener.java
index 976bafc..d59bc12 100644
--- a/xds/src/test/java/io/grpc/xds/XdsClientImplTestForListener.java
+++ b/xds/src/test/java/io/grpc/xds/XdsClientImplTestForListener.java
@@ -228,10 +228,18 @@
 
   private static Node getNodeToVerify() {
     Struct newMetadata = NODE.getMetadata().toBuilder()
-        .putFields("listener_inbound_port",
-            Value.newBuilder().setStringValue("" + PORT).build())
+        .putFields("TRAFFICDIRECTOR_PROXYLESS",
+            Value.newBuilder().setStringValue("1").build())
         .build();
-    return NODE.toBuilder().setMetadata(newMetadata).build();
+    Address listeningAddress =
+        Address.newBuilder()
+            .setSocketAddress(
+                SocketAddress.newBuilder().setAddress("0.0.0.0").setPortValue(PORT).build())
+            .build();
+    return NODE.toBuilder()
+        .setMetadata(newMetadata)
+        .addListeningAddresses(listeningAddress)
+        .build();
   }
 
   private static DiscoveryRequest buildDiscoveryRequest(