Subject: Re: DHCP and static configuration

From: James Kempf <[email-masked]>
Date: Fri, 10 Sep 1999 10:57:09 -0700 (PDT)

Mikael,

Sorry it has taken so long to get back to you.

>
>I'm trying to interpret the configuration rules of scopes and DAs. I think 
there are a lot of holes in the specs regarding this issue that needs to filled.
>
>RFC 2614 (SLP API), section 3.12, third paragraph, states the following about 
administrative scoping:
>
>   Scopes configured by DHCP and scopes of DAs
>   configured by DHCP have first priority (in that order) and must be
>   returned if they are available.  The net.slp.useScopes property has
>   second priority, and scopes discovered through the net.slp.useScopes
>   property must be returned if this property is set and there are no
>   scopes available from DHCP. If scopes are not available from either
>   of these sources and the net.slp.DAAddresses property is set, then
>   the scopes available from the configured DAs must be returned.
>
>But this doesn't match the scoping rules in RFC 2608 (SLPv2) and RFC 2610 (DHCP 
options for SLP) as I see it. Nowhere in these RFCs can I find that an agent 
should create its scope-list from the scopes of DAs except when an UA uses the 
User Selectable Scope model.

RFC 2608 states that an agent must contact all DAs that are configured through
DHCP or statically before using them. The returned DAAdverts will
contain the DA scopes. These scopes are what is meant in this case.

I believe the confusion comes with SAs. SAs are required to always
be administratively configured. So the above only applies to UAs.

>
>The second problem I have is how to interpret the MANDATORY flags in RFC2610.
>
>When the 'Mandatory' byte is 0 in option 79 (Scope option), 'static 
configuration takes presedence'. Does this mean that the scope-list in option 79 
is never used or used only when there is no static configuration of scopes?

I interpret this to mean that it is never used.

>Which DAs should be used if the 'Mandatory' byte is 0 in option 78 (DA option)?
>DAs from static configuration only, if present?

If there is static configuration information, this should be used for
both SAs and UAs.

>DAs from DA Discovery only?

Discovered DAs should only be used if there is no static configuration
information. Furthermore, SA scopes must be configured and not
discovered. I believe this is implied by the discussion of user
scoping v.s. administrative scoping in RFC 2608, since one would not
want the scopes of a printer to change depending on what DAs it
happens to be using.

>or a collection of all of these methods?
>
>Further, what should an SA do if it receives an empty scope-list in option 79?
>

I presume it must use scope "DEFAULT", even if there is static
information, unless the mandatory bit is not set.

>Even further, assuming the scopes of configured DAs should be used, which 
scopes should be used if there is a option 78 DA-list with Mandatory byte of 1, 
and there is a option 79 with mandatory byte of 0?

Since the mandatory byte is set for scopes, the scopes should be
obtained from static configuration or from the mandatory DAs, in that
order.

>I've made the following interpretation of RFC2608 and RFC2610:
>
>   If DHCP option 79 is available, Mandatory byte is 1, scope-list exists
>      => use these scopes only
>

Check.

>   If DHCP option 79 is available, scope-list is empty
>   or DHCP option 79 is not available
>      => use scopes from static configuration (e.g. 'net.slp.useScopes')

Check.

>   or if static config is absent,
>      => a) for SA use 'default'
>         b) for UA use 'User Selectable Scopes' 
>            (i.e. use DAs or SAs scope found in DA/SA discovery
>

Check.

>   If DHCP option 79 is available, Mandatory byte is 1, scope-list exists
>      => use these scopes only
>

Same as first one above?

>   If DHCP option 79 is available, Mandatory byte is 0, scope-list exists
>      => use scopes from static configuration

Check.

>   or if static config is absent,
>      => use scopes from DHCP option 79
>

Check. 

>Note that in my interpretation, scopes from DAs is never collected and used 
except for an UA using the 'User Selectable Scopes' model.

That conforms with RFC 2608 in that SA scopes must always be configured.

>Once the scopes have been decided using the administrative model above, DAs are 
choosen like this:
>
>   If DHCP option 78 is available, Mandatory byte is 1
>      => use these DAs only (whose scopes match the configured scopes)
>

Check.

>   If DHCP option 78 is available, Mandatory byte is 0
>      => use DAs from option 78 and any statically configured DAs
>         (whose scopes match the configured scopes)
>         and DAs found during DA Discovery.
>

I interpret the mandatory byte off to mean use statically configured
DAs only, i.e. ignore any DHCP configured scopes even if there
are no statically configured DAs. A sysadmin might want to turn
off DAs completely by toggling the mandatory byte off but not
statically configuring anything.

>My interpretation is not the one presented in RFC2614. I definetely think that 
2608 and 2610 leaves to much to be interpreted by the reader on this issue.

I think your interpretation is close to the one in RFC 2614, modulo the
following points:

1) If you interpret: "Scopes configured by DHCP and scopes of DAs
   configured by DHCP have first priority (in that order) and must be
   returned if they are available" to mean that, in addition, the
   mandatory byte turns off DHCP configuration.
   
2) Obtaining scopes from configured DAs only applies to UAs. SAs are
required by RFC 2608 to have their scopes configured.

But I agree that the text in RFC 2614 is not very clear and could stand
being rewritten based on the more precise language in 2610 and 2608.

BTW, I'm going to post a separate note on this topic, as I think
the whole procedure for DA and scope configuration is backwards.

		jak

---

From: Terry Lambert <[email-masked]>
Date: Fri, 10 Sep 1999 11:06:30 -0700

James Kempf wrote:

[ ... ]

> be administratively configured. So the above only applies to UAs.

[ ... ]

> That conforms with RFC 2608 in that SA scopes must always be

[ ... ]

> required by RFC 2608 to have their scopes configured.

[ ... ]

This appears to suck.  It means that printers (and other
devices with SAs) have to have user interfaces.  It also
means they have to have local, writable, persistant storage.

Are you sure you meant this the way it sounds?  I.e. an SA
can not be configured solely via DHCP?

It also seems to imply a DHCP requirement, which means that
I can't do autoconfiguration into the link.local net that
Windows 98 and Windows 2000 will select in the absence of a
DHCP server, and use the scope "DEFAULT" on an SA.

This means that I can't have a printer (or other device with
an SA) that I can just plug in an have it show up on the
network as an available resource in a small office, right?

The point of service location, IMO, is to remove the need
for explicit configuration, not move that configuration to
the front panel (worst case) or the DHCP administrator's
cubicle (best case, from what's described here).

> the whole procedure for DA and scope configuration is backwards.

Yes, it looks a little odd to me to, especially in the
context of a network with IPv4 or IPv6 stateless
autoconfiguration, which is the default behaviour for
the PC's that we believe will be consuming the services
provided by any SAs, and intermediated by any DAs, if
they are present on the network at all.

-- Terry Lambert
-- Whistle Communications, Inc., an I.B.M. Company
-- [email-masked]
-------------------------------------------------------------------
This is formal notice under California Assembly Bill 1629, enacted
9/26/98 that any UCE sent to my email address will be billed $50
per incident to the legally allowed maximum of $25,000.