2 # Enable proxyDHCP operation.
4 dhcpd-operation normal;
7 # BootServer is turned on
9 bootserver-operation on;
11 ddns-update-style ad-hoc;
14 # if this dhcpd server is not "master"
18 #-------------------------------------------------------------
19 # For each of the 3 servers (builtin) define the DHCPD option
20 # tags we are interested in.
21 #-------------------------------------------------------------
24 # Define DHCPD request option tags
28 # This option is used to determine the client boot-time binary runtime
31 option client-architecture code 93 =
35 # Now go to the DHCPD proxy option tags
39 option proxy.boot-prompt code 10 =
40 { unsigned integer 8, text };
42 option proxy.boot-menu code 9 = array of
43 { unsigned integer 16, unsigned integer 8, text };
45 option proxy.boot-servers code 8 = array of
46 { unsigned integer 16, unsigned integer 8, array of ip-address };
48 option proxy.discovery-control code 6 = unsigned integer 8;
51 # Now go to the PXE Bootserver options
55 option bs.boot-item code 71 =
56 { unsigned integer 16, unsigned integer 16 };
58 #-------------------------------------------------------------
59 # Actual configuration
60 #-------------------------------------------------------------
62 subnet 192.168.2.0 netmask 255.255.255.0 {
64 # In this section define regular DHCPD options
68 # Here we show settings with fixed addresses, but dynamic
69 # allocation is possible as well
72 hardware ethernet 00:d0:b7:c7:fb:f8;
73 fixed-address 192.168.2.10;
76 hardware ethernet 00:d0:b7:aa:f0:e3;
77 fixed-address 192.168.2.11;
81 # Now we look at options for every possible type of requests
87 # If requets was received by the ProxyDHCPD
91 # Provide proxyDHCP information for Intel ia64
92 # architecture machines.
94 if option client-architecture = 00:02 {
96 # Notify of PXE aware server
98 option vendor-class-identifier "PXEClient";
103 option proxy.discovery-control 3;
106 # Print a nice boot menu
109 # 14 -> means Redhat install
110 # 13 -> means Redhat Boot
111 # 23 & 26 are length of string following.
113 option proxy.boot-menu
114 14 23 "Remote Redhat/ia64 boot",
115 13 26 "Remote Redhat/ia64 install";
118 # list of possible bootservers for a ServerType
120 # Currently not possible to define more than one type
122 option proxy.boot-servers
127 # 30 is timeout in seconds
129 option proxy.boot-prompt
130 30 "Press <F8> or <M> for menu. Press <Esc> to local boot.";
134 vendor-option-space proxy;
136 } else if bootserver {
138 if option client-architecture = 00:02 {
140 # Now analyze bootserver request option tags
145 # Layer 0: bootloader binary (elilo.efi)
146 # Layer 1: elilo configuration file (elilo.conf)
147 # Layer 2: Linux/ia64 kernel
149 if substring(option bs.boot-item, 2, 2) = 00:00 {
151 filename "/tftpboot/elilo.efi";
154 # identify reply layer & server type
156 option bs.boot-item 14 0;
158 } else if substring(option bs.boot-item, 2, 2) = 00:01 {
160 filename "/tftpboot/elilo.conf";
163 # identify reply layer & server type
165 option bs.boot-item 14 1;
167 } else if substring(option bs.boot-item, 2, 3) = 00:02 {
169 filename "/tftpboot/vmlinux";
172 # identify reply layer & server type
174 option bs.boot-item 14 2;
178 vendor-option-space bs;
180 option vendor-class-identifier "PXEClient";
184 # notify of PXE aware DHCPD server
186 option vendor-class-identifier "PXEClient";