Hi Ethan,

based on our recent discussion, I have been investigating
if Sun DHCP server can limit scope of particular macro based
on client's platform making sure that macro as a whole is only
processed for the client with matching client class.

Looking at the official documentation (please see the excerpt
below), it doesn't seem to be available - it seems to me that
the only way to take 'client class' into account during server
side decision making process is to create macro with the same
name, i.e. "SUNW.Sun-Blade-100" (the approach suggested in recent
email thread discussing how to configure DHCP server for
x86 & Sparc platform w/o need for creating client specific macros).

But to be honest, I am not 100% sure if this implication is
correct.

Dave, since you are more familiar with this area, could I please
ask you if you might help us to clarify if this observation
might be correct or where could I take a look to further
investigate ?

Thank you very much,
Jan

...

Macro Processing by the DHCP Server
-----------------------------------

When the DHCP server processes a macro, it places the network options 
and values defined in
the macro in a DHCP message to a client. The server processes some 
macros automatically for
clients of a particular type.
For the server to process a macro automatically, the name of the macro 
must comply with one
of the categories shown in the following table.

Macro Category Description
-------------------------------------------
Client class The macro name matches a class of client, indicated by the 
client machine type,
operating system, or both. For example, if a server has a macro named
SUNW.Sun-Blade-100, any client whose hardware implementation is
SUNW,Sun-Blade-100 automatically receives the values in the
SUNW.Sun-Blade-100 macro.
Network address The macro name matches a DHCP-managed network IP 
address. For example,
if a server has a macro named 10.53.224.0, any client connected to the
10.53.224.0 network automatically receives the values in the 10.53.224.0
macro.
Client ID The macro name matches some unique identifier for the client, 
usually derived
from an Ethernet or MAC address. For example, if a server has a macro named
08002011DF32, the client with the client ID 08002011DF32 (derived from the
Ethernet address 8:0:20:11:DF:32) automatically receives the values in the
macro named 08002011DF32.
A macro with a name that does not use one of the categories listed in 
Table above can be
processed only if one of the following is true:

* The macro is mapped to an IP address.
* The macro is included in another macro that is processed automatically.
* The macro is included in another macro that is mapped to an IP address.

...

Order of Macro Processing
-------------------------

When a DHCP client requests DHCP services, the DHCP server determines 
which macros
match the client. The server processes the macros, using the macro 
categories to determine the
order of processing. The most general category is processed first, and 
the most specific category
is processed last. The macros are processed in the following order:

1. Client class macros ? The most general category
2. Network address macros ? More specific than Client class
3. Macros mapped to IP addresses ? More specific than Network address
4. Client ID macros ? The most specific category, pertaining to one client

A macro that is included in another macro is processed as part of the 
container macro.
If the same option is included in more than one macro, the value for 
that option in the macro
with the most specific category is used because it is processed last.
...


Reply via email to