Commit 0c0a91eb authored by Leigh B Stoller's avatar Leigh B Stoller

No longer need the nobootinfo version of the dhcpd template, this

change is rolled into the main template and subboss template.
parent d98046da
......@@ -44,12 +44,11 @@ all: $(DHCPD_FILES)
include $(TESTBED_SRCDIR)/GNUmakerules
ifeq ($(DISABLE_DHCPD_INSTALL),0)
install: install-real
ifeq ($(BOOTINFO_EVENTS),0)
install: install-nobootinfo-real
subboss-install:
@echo "Must have BOOTINFO_EVENTS to support a subboss right now"
else
install: install-real
subboss-install: subboss-install-real
endif
else
......@@ -69,11 +68,6 @@ install-real: \
$(ETCDIR)/dhcpd.conf.template $(ETCDIR)/dhcpd.conf.subboss.template
-chmod 664 $(ETCDIR)/dhcpd.conf.template
install-nobootinfo-real: \
dhcpd.conf.nobootinfo.template
$(INSTALL) dhcpd.conf.nobootinfo.template $(ETCDIR)/dhcpd.conf.template
-chmod 664 $(ETCDIR)/dhcpd.conf.template
clean:
rm -f $(DHCPD_FILES) $(SUBBOSS_DHCPD_FILES)
......
#
# dhcpd.conf.template - From the emulab software distribution
#
# This file is used with dhcpd_makeconf to generate an actual dhpd.conf file
# from the database.
#
# Make sure to change all subnets (don't forget the mask!), the DHCP and DNS
# servers' IP addresses, the router's IP, and see the comment about nodetypes
# below.
#
server-identifier @BOSSNODE_IP@;
server-name "@BOSSNODE_IP@";
# Config these too?
option root-path "/tftpboot";
filename "/tftpboot/pxeboot.emu";
default-lease-time 36000; # 10 hours
max-lease-time 36000; # 10 hours
ddns-update-style none; # req'd vers 3 directive
# Define the PXE option space
# Code 1: Multicast IP address of bootfile
# Code 2: UDP port that client should monitor for MTFTP responses
# Code 3: UDP port that MTFTP servers are using to listen for MTFTP requests
# Code 4: Number of secondes a client must listen for activity before trying
# to start a new MTFTP transfer
# Code 5: Number of secondes a client must listen before trying to restart
# a MTFTP transfer
# Code 128: IP address of Emulab bootinfo server
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
option PXE.emulab-bootinfo code 128 = ip-address;
#
# For PXE booting nodes we set the magic bits to tell the client that we are
# PXE-saavy so they don't wait around for 12 seconds or so waiting for a
# better response.
#
# If, for some reason, this doesn't work for you, just comment out the
# entire PXE class block. It will work without it, it will just take longer.
#
class "PXE" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
# bit 3 = If set, and a boot file name is present in the initial
# DHCP or ProxyDHCP offer packet, download the boot file (do not
# prompt/menu/discover).
option PXE.discovery-control 8;
}
on commit {
if (@BOOTINFO_EVENTS@ = 0) {
if (substring (option vendor-class-identifier, 0, 9) = "PXEClient") {
set boot = "PXE";
} elsif (substring (option vendor-class-identifier, 0, 6) = "U-boot") {
set boot = "PXE";
} else {
set boot = "OS";
}
set clip = binary-to-ascii(10, 8, ".", leased-address);
set clhw = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
execute("@prefix@/sbin/reportboot", clip, clhw, boot);
}
}
@DHCPD_CONTROLNET_DECL@
shared-network emulab {
subnet @CONTROL_NETWORK@ netmask @CONTROL_NETMASK@ {
option subnet-mask @CONTROL_NETMASK@;
option routers @CONTROL_ROUTER_IP@;
option domain-name-servers @BOSSNODE_IP@;
option domain-name "@OURDOMAIN@";
next-server @BOSSNODE_IP@;
# Example of a dynamic range. If you uncomment the following line
# (after changing the IP addresses to suitable ones, of course)
# unknown nodes will get assigned a random IP in it
#range @DHCPD_DYNRANGE@;
# testbed PCs
group {
#
# For every PC nodetype, include a line like the one below.
# These lines will be replaced with auto-generated entries for
# nodes of that type. You can also use the class field from the
# node_types table
#
%%nodetype=pc
}
}
%%management
#
# Private network; for virtual (jailed) nodes.
#
subnet @VIRTNODE_NETWORK@ netmask @VIRTNODE_NETMASK@ {
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment