Service Location Protocol Administration Guide

Proxy Advertising on Multihomed Hosts

If a host with multiple interfaces advertises services using slpd and proxy registration, the service URLs advertised by slpd must contain reachable host names or addresses. If unicast routing is enabled between the interfaces, then hosts on all subnets are able to reach hosts on the others, and proxy registrations can be made for a service on any subnet. If, however, unicast routing is disabled, then service clients on one subnet cannot reach services on another through the multihomed host (although they might be able to reach them through another router).

For example, suppose the host with default host name bigguy has three interface cards on three different unrouted subnets. The host names on these subnets are bigguy, with IP address 192.147.142.42, bigguy1, with IP address 192.147.143.42, and bigguy2, with IP address 192.147.144.42. Now suppose that a legacy printer, oldprinter, is connected to the 143 subnet. If the URL:


service:printing:lpr://oldprinter/queue1

is proxy-advertised on all interfaces by configuring net.slp.interfaces to listen on all interfaces, machines on the 142 and 144 subnets will receive the URL in response to service requests, though they will be unable to access the service.

The solution to this problem is to perform the proxy advertisement with slpd running on a machine connected the 143 subnet only, rather than on the multihomed host. Only hosts on the 143 subnet are able to obtain the advertisement in response to a service request.