Subject: Re: SLP API question regarding DAADVERT and SAADVERTinformation

From: James Kempf <[email-masked]>
Date: Fri, 2 Mar 2001 16:58:07 -0800

Matt,

In the presence of a DA, there should never be a service:service-agent
request that goes out as part of querying for any service type except
for service:service-agent itself. A DA should always be used. However,
the application may want to get at service agent information, for example,
for administrative purposes. Therefore, a request for service:service-agent
via SLPFindSrvs() should be honored and should be executed by the multicast
mechanism (using the net.slp.typeHint property).

		jak

>James Kempf wrote:
>> 
>> Hi Matt,
>> 
>> It returns the service URLs or attributes (depending on whether the SrvRqst
>> or AttrRqst command is given) for the given service type, even if the
>> type is one of the special types. This isn't too hard to to handle, it only
>> requires a switch on the function code of the returned message to check
>> whether it is a SrvRply, DAAdvert, or SAAdvert.
>> 
>> The motivation is to make the API functions complete in the kinds of
>> service information they return.
>
>
>... So you agree with the suggested implementation?
>
>One more question -- this one may involve RFC 2608:
>
>How does the DA gain a list of "service:service-agent" URLs?  The
>OpenSLP implementation of the SLP API uses available DAs directly to
>resolve SrvRqsts.  If a SrvRqst is looking for "service:service-agent"
>then the DA will not return anything because it does not know about
>SAs.  I do not think that RFC 2608 addresses this issue.  Should DAs
>actively discover SAs, or are UAs required to multicast all SrvRqsts
>that are looking for "service:service-agent" types?  How does either of
>the solutions affect scalability?  Do we really what this additional
>complexity in SLP?
>
>Thanks,
>
>-- 
>Matthew Peterson
>Sr. Software Engineer
>Caldera Systems, Inc
>[email-masked]
>PGP Key: 9641 4E9B 8433 FC3E B899  A09E E12B 0490 8F8B C331

---

From: Matt Peterson <[email-masked]>
Date: Mon, 05 Mar 2001 10:22:45 -0700

> mechanism (using the net.slp.typeHint property).

I was not asking whether a "service:service-agent" request should be
sent for query general operation.  The RFC is quite clear that this
should not happen.  My question was whether or not a DA should be
expected to answer a SrvRqst query with a service-type of
"service:service-agent" or whether a SrvRqst of type
"service:service-agent" represents a special case that MUST always be
multicast, MUST never unicast to a DA, and to which DAs MUST never
reply.

It appears as though your answer affirms my assumption that
"service:service-agent" SrvRqsts are special cases and MUST be
multicast, and that DAs MUST not ever respond -- even if the request is
mistakenly made unicast.  The reason for posting was to alert the RFC
authors to the fact that this is not clear in the RFC and suggest that
mis-interpretations of the RFC might result in UA and DA implementations
that expect DAs to be able to know about SAs in order to be able to
answer unicast "service:service-agent" SrvRqsts that are sent for
administrative purposes.

One last question, in the event that a SrvRqst of type
"service:service-agent" were unicast to a DA, am I right in assuming
that the DA would (in addition to a logging entry for the admin's
attention) respond with an empty SrvRply? 

Thanks,

Matt