|  | @@ -185,7 +185,8 @@ void PopulateMetadataValue(upb_arena* arena, google_protobuf_Value* value_pb,
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  void PopulateNode(upb_arena* arena, const XdsBootstrap::Node* node,
 | 
	
		
			
				|  |  | -                  const char* build_version, envoy_api_v2_core_Node* node_msg) {
 | 
	
		
			
				|  |  | +                  const char* build_version, const std::string& server_name,
 | 
	
		
			
				|  |  | +                  envoy_api_v2_core_Node* node_msg) {
 | 
	
		
			
				|  |  |    if (node != nullptr) {
 | 
	
		
			
				|  |  |      if (!node->id.empty()) {
 | 
	
		
			
				|  |  |        envoy_api_v2_core_Node_set_id(node_msg,
 | 
	
	
		
			
				|  | @@ -200,6 +201,18 @@ void PopulateNode(upb_arena* arena, const XdsBootstrap::Node* node,
 | 
	
		
			
				|  |  |            envoy_api_v2_core_Node_mutable_metadata(node_msg, arena);
 | 
	
		
			
				|  |  |        PopulateMetadata(arena, metadata, node->metadata.object_value());
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    if (!server_name.empty()) {
 | 
	
		
			
				|  |  | +      google_protobuf_Struct* metadata =
 | 
	
		
			
				|  |  | +          envoy_api_v2_core_Node_mutable_metadata(node_msg, arena);
 | 
	
		
			
				|  |  | +      google_protobuf_Struct_FieldsEntry* field =
 | 
	
		
			
				|  |  | +          google_protobuf_Struct_add_fields(metadata, arena);
 | 
	
		
			
				|  |  | +      google_protobuf_Struct_FieldsEntry_set_key(
 | 
	
		
			
				|  |  | +          field, upb_strview_makez("PROXYLESS_CLIENT_HOSTNAME"));
 | 
	
		
			
				|  |  | +      google_protobuf_Value* value =
 | 
	
		
			
				|  |  | +          google_protobuf_Struct_FieldsEntry_mutable_value(field, arena);
 | 
	
		
			
				|  |  | +      google_protobuf_Value_set_string_value(
 | 
	
		
			
				|  |  | +          value, upb_strview_make(server_name.data(), server_name.size()));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |      if (!node->locality_region.empty() || !node->locality_zone.empty() ||
 | 
	
		
			
				|  |  |          !node->locality_subzone.empty()) {
 | 
	
		
			
				|  |  |        envoy_api_v2_core_Locality* locality =
 | 
	
	
		
			
				|  | @@ -260,7 +273,7 @@ envoy_api_v2_DiscoveryRequest* CreateDiscoveryRequest(
 | 
	
		
			
				|  |  |    if (build_version != nullptr) {
 | 
	
		
			
				|  |  |      envoy_api_v2_core_Node* node_msg =
 | 
	
		
			
				|  |  |          envoy_api_v2_DiscoveryRequest_mutable_node(request, arena);
 | 
	
		
			
				|  |  | -    PopulateNode(arena, node, build_version, node_msg);
 | 
	
		
			
				|  |  | +    PopulateNode(arena, node, build_version, "", node_msg);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    return request;
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -960,15 +973,7 @@ grpc_slice XdsApi::CreateLrsInitialRequest(const std::string& server_name) {
 | 
	
		
			
				|  |  |    envoy_api_v2_core_Node* node_msg =
 | 
	
		
			
				|  |  |        envoy_service_load_stats_v2_LoadStatsRequest_mutable_node(request,
 | 
	
		
			
				|  |  |                                                                  arena.ptr());
 | 
	
		
			
				|  |  | -  PopulateNode(arena.ptr(), node_, build_version_, node_msg);
 | 
	
		
			
				|  |  | -  // Add cluster stats. There is only one because we only use one server name in
 | 
	
		
			
				|  |  | -  // one channel.
 | 
	
		
			
				|  |  | -  envoy_api_v2_endpoint_ClusterStats* cluster_stats =
 | 
	
		
			
				|  |  | -      envoy_service_load_stats_v2_LoadStatsRequest_add_cluster_stats(
 | 
	
		
			
				|  |  | -          request, arena.ptr());
 | 
	
		
			
				|  |  | -  // Set the cluster name.
 | 
	
		
			
				|  |  | -  envoy_api_v2_endpoint_ClusterStats_set_cluster_name(
 | 
	
		
			
				|  |  | -      cluster_stats, upb_strview_makez(server_name.c_str()));
 | 
	
		
			
				|  |  | +  PopulateNode(arena.ptr(), node_, build_version_, server_name, node_msg);
 | 
	
		
			
				|  |  |    return SerializeLrsRequest(request, arena.ptr());
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |