1<!--
2  -- ident	"%Z%%M%	%I%	%E% SMI"
3  --
4    CDDL HEADER START
5
6    The contents of this file are subject to the terms of the
7    Common Development and Distribution License, Version 1.0 only
8    (the "License").  You may not use this file except in compliance
9    with the License.
10
11    You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12    or http://www.opensolaris.org/os/licensing.
13    See the License for the specific language governing permissions
14    and limitations under the License.
15
16    When distributing Covered Code, include this CDDL HEADER in each
17    file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18    If applicable, add the following below this CDDL HEADER, with the
19    fields enclosed by brackets "[]" replaced with your own identifying
20    information: Portions Copyright [yyyy] [name of copyright owner]
21
22    CDDL HEADER END
23
24 -- Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
25  -- Use is subject to license terms.
26  -->
27<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
28<html>
29
30<head>
31<title>DHCP Manager Help: About Macros and Options</title>
32<meta NAME="AUTHOR" CONTENT="smorgan">
33<meta NAME="KEYWORDS" CONTENT="DHCP">
34
35</head>
36<body bgcolor="#FFFFFF">
37
38<a name="top"></a>
39
40<table border=0 cellspacing=0 cellpadding=0 width=645>
41
42<!-- Start navigation banner -->
43
44<tr><td colspan=4  WIDTH="615" align="center" valign="top"><IMG SRC="art/bannersmc.gif" WIDTH=615 BORDER=0 ALT="DHCP Manager Help">
45
46	</td>
47	</tr>
48
49<!-- End navigation banner -->
50
51
52<tr>
53
54<!-- Start contents block -->
55
56	<td colspan=1 valign="top" width=105>
57	<P>&nbsp;</P>
58	<A HREF="dhcp_main_top.html"><STRONG>Overview</STRONG></A><BR>
59	&nbsp;&nbsp;<A HREF="dhcp_solaris_about.html">Solaris DHCP</A><BR>
60	<IMG SRC="art/tip2.gif" WIDTH=12 HEIGHT=10 BORDER=0 ALT="">About Macros<BR>
61	&nbsp;&nbsp;<A HREF="dhcp_main_hlp.html">Getting Help</A><P>
62	<A HREF="dhcp_relay_ref.html"><STRONG>Servers and Relays</STRONG></A><P>
63	<A HREF="dhcp_net_ref.html"><STRONG>Networks</STRONG></A><P>
64	<A HREF="dhcp_addr_ref.html"><STRONG>Addresses</STRONG></A><P>
65	<A HREF="dhcp_macro_ref.html"><STRONG>Macros</STRONG></A><P>
66	<A HREF="dhcp_option_ref.html"><STRONG>Options</STRONG></A><P>
67	<A HREF="dhcp_main_how.html"><STRONG>How To..</STRONG></A><P>
68	<A HREF="dhcp_main_idx.html"><STRONG>Index</STRONG></A>
69
70		</td>
71
72<!-- End contents block -->
73
74<!-- Start column rule -->
75
76	<td colspan=1 width=5 bgcolor="#CCCCCC">&nbsp;</td>
77
78<!-- End column spacer -->
79
80<!-- Start column spacer -->
81
82	<td colspan=1 width=10 bgcolor="#FFFFFF">&nbsp;</td>
83
84<!-- End column spacer -->
85
86
87
88<!-- Start topic block -->
89
90<td colspan=1 valign="top" bgcolor="#ffffff" width=495>
91
92
93
94<P>&nbsp;</P>
95
96<h1>About Macros and Options</H1>
97
98
99In a DHCP environment, <em>macros</em> are containers for <em>option values</em> that are
100passed as configuration parameters from the DHCP server to the DHCP client. For example,
101you might define a macro that contains options specifying a DNS server and print server
102to be used by all clients using IP addresses owned by a particular DHCP server.<p>
103
104<em>Options</em> specify the format in which option values are
105defined in the DHCP server's <tt>dhcptab</tt> (in which all DHCP
106options and macros are stored). For example, option category, data type, vendor, and granularity all determine the <em>shape</em> of the options
107contained in your macros. Creating and modifying options is described
108further in the help pages for <a href="dhcp_option_create.html">Create Option</a> and
109<a href="dhcp_option_mod.html">Modify Option</a>.<p>
110
111<h1>
112         Macro Processing
113      </h1>
114      <p>
115         Remember the following points when naming DHCP macros and adding
116         options to macros:
117      </p>
118      <ol>
119         <li>
120            <strong>Automatic processing</strong> occurs for Client Class,
121            Network, and Client ID category macros when the macro category
122            matches the client's class, network address, or client
123            identifier.
124            <br>
125         </li>
126         <li>
127            <strong>Macro categories</strong> determine the order in which
128            macros are processed automatically.
129             <br>
130         </li>
131         <li>
132            <strong>Macro names</strong> determine macro categories, with the
133            exception of IP address macros, which are categorized by their
134            assignment to an IP address.<br>
135
136             <p>
137               For most macros, make your macro names <strong>match the names
138               of the resources or devices</strong> to which you want the
139               macros to apply. For example:
140            </p>
141            <br>
142            <table cellpadding="4" cellspacing="4" border="1">
143               <tr>
144                  <td bgcolor="#CCCFFF" valign="middle" align="left">
145                     <p>
146                        For Clients...
147                     </p>
148                  </td>
149                  <td bgcolor="#CCCFFF" valign="middle" align="left">
150                     <p>
151                        Name Your Macro
152                     </p>
153                  </td>
154               </tr>
155               <tr>
156                  <td valign="top">
157                     <p>
158                        Of a particular client class
159                     </p>
160                  </td>
161                  <td valign="top">
162                     <p>
163                        Same name as the DHCP client's client class. The
164                        client class is determined by the client vendor. For
165                        example, the client class name for a Sun Blade <sup><font
166                        size="-2"> TM</font></sup> 150 client is SUNW,Sun-Blade-100 so
167                        you must name your macro <tt> SUNW.Sun-Blade-100</tt> . On
168                        Solaris DHCP client systems, you
169                        can determine the client class by typing the command
170                        <tt> uname -i</tt> on the client machine. Note that
171                        macro names cannot contain commas; if a comma appears
172                        in the client class, replace it with a period in the
173                        macro name.
174                     </p>
175                  </td>
176               </tr>
177               <tr>
178                  <td valign="top">
179                     <p>
180                        On a particular network
181                     </p>
182                  </td>
183                  <td valign="top">
184                     <p>
185                        Same as the IP address of the network through which the
186                        client is connecting; for example, name your macro <tt>
187                        10.0.0.0</tt>.
188                     </p>
189                  </td>
190               </tr>
191               <tr>
192                  <td valign="top">
193                     <p>
194                        Using a particular IP Address
195                     </p>
196                  </td>
197                  <td valign="top">
198                     <p>
199                        Any name, but using the DHCP server's hostname or IP
200                        address is recommended; for example, name your macro
201                        <tt> shiva</tt> or <tt> 125.53.224.45</tt> . This kind
202                        of macro is valuable for use as a configuration macro
203                        for all clients obtaining configuration information
204                        from this DHCP server.
205                     </p>
206                  </td>
207               </tr>
208               <tr>
209                  <td valign="top">
210                     <p>
211                        Identified by a particular client ID
212                     </p>
213                  </td>
214                  <td valign="top">
215                     <p>
216                        Same as the unique client identifier; for example,
217                        name your macro <tt> 010800201112B7</tt> .
218                     </p>
219                  </td>
220               </tr>
221            </table>
222            <br>
223         </li>
224         <li>
225            <strong>Order is important.</strong> The order in which macros are
226            processed is significant. If an option is contained in more than
227            one macro, the option value passed to the client is the value
228            assigned in the macro processed last. Macros are processed in the
229            order shown in the illustration.<br>
230            <br>
231
232            <p>
233               <img src="art/macroflow.gif"  alt="order of macro processing" vspace="0" hspace="0" border="0"
234               height="225" width="400">
235            </p>
236            <p>
237               As shown in the illustration, macro processing progresses from
238               the general to the specific.
239            </p>
240            <ul type="disc">
241               <li>
242                  <p>
243                     Client Class macros are processed first.<br>
244                  </p>
245               </li>
246               <li>
247                  <p>
248                     Network macros are processed second, superseding any
249                     competing settings in Client Class macros.<br>
250                  </p>
251               </li>
252               <li>
253                  <p>
254                     IP Address macros are processed third, superseding any
255                     competing settings in previous macros.<br>
256                  </p>
257               </li>
258               <li>
259                  <p>
260                     Client ID macros are processed last, superseding any
261                     competing settings in all previous macros.<br>
262                  </p>
263               </li>
264            </ul>
265          </li>
266         <li>
267			<p>
268            <strong>Macros can include other macros.</strong> Regardless of a
269            macro's category, it can include other macros so that, for example,
270            a client class macro could be called from an IP Address macro.<br>
271            <br>
272         </li>
273      </ol>
274      <p>
275276      </p>
277      <br>
278	&nbsp;&nbsp;&nbsp;<A HREF="#top"><small>return to top</small></A>
279
280<p>&nbsp;</p>
281
282
283<!-- Don't go past this line! -->
284
285	</td>
286
287<!-- End topic block -->
288
289</tr>
290
291</table>
292
293<!-- End topic table -->
294
295</body>
296</html>
297