anchor.diff:  				       { network_address, Address }
   				      ]),
   
  -    %% Leave service edge out of it for now, to ease use cases.
  -    %% rvi_common:send_component_request(service_edge, register_remote_services, 
  -    %% 				      [
  -    %% 				       {services, Services}, 
  -    %% 				       { network_address, Address }
  -    %% 				      ]),
  +    %% Forward to service edge so that it can inform its locally
  +    %% connected services.
  +    %% Build a list of all our local services' addresses to provide
  +    %% to service edge so that it knows where to send the,
  +    LocalSvcAddresses = 
  +	ets:foldl(fun(#service_entry { network_address = LocalAddress }, Acc) -> 
  +			  [ LocalAddress | Acc ] end, 
  +		  [], ?LOCAL_SERVICE_TABLE),
  +
  +    %% Call service edge with local addresses (sorted and de-duped) and
  +    %% the services to register.
  +    rvi_common:send_component_request(service_edge, register_remote_services, 
  +     				      [
  +     				       { local_service_addresses, lists:usort(LocalSvcAddresses)}, 
  +     				       { services, Services}				       
  +     				      ]),
   
       {ok, [ { status, rvi_common:json_rpc_status(ok) } ]}.
   
  
positive.code:     ?info("service_discovery_rpc:get_services(): ~p", [ Services]),
      {ok, [ { status, rvi_common:json_rpc_status(ok) },
  	   { services, Services }]}.
  
  get_json_services(Table) ->
      Services = ets:foldl(fun(#service_entry {service = ServiceName, 
  
negative.code: 				    ]
  				   } | Acc ] end, 
  			 [], Table),
      ?info("service_discovery_rpc:get_services(): ~p", [ Services]),
      {ok, [ { status, rvi_common:json_rpc_status(ok) },
  	   { services, {array, Services }}]}.
  