From dd572eae7639d05066e3d3f8fcde8988f5dbc7b1 Mon Sep 17 00:00:00 2001
From: Jonas Smedegaard <dr@jones.dk>
Date: Wed, 6 Oct 2004 21:02:12 +0000
Subject: Add somewhat generic dhcpd addon snippets.

---
 dhcp3/dhcpd.etherboot-legacy | 83 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100644 dhcp3/dhcpd.etherboot-legacy

(limited to 'dhcp3/dhcpd.etherboot-legacy')

diff --git a/dhcp3/dhcpd.etherboot-legacy b/dhcp3/dhcpd.etherboot-legacy
new file mode 100644
index 0000000..0261498
--- /dev/null
+++ b/dhcp3/dhcpd.etherboot-legacy
@@ -0,0 +1,83 @@
+# Legacy site-local option support
+# If client does not include an etherboot-encapsulated-options field in its DHCPREQUEST, then
+# it will not understand etherboot-encapsulated-options in the DHCPACK and so we must send
+# back the options as site-local options (i.e. not encapsulated).
+# Note: we need do this only for options that existed prior to the switch to encapsulation.
+#
+# For some reason the encapsulation option makes isc-dhcpd-V3.0.1rc11
+# crash (too much info encapsulated?).
+
+option etherboot-encapsulated-options	code 150 = encapsulate etherboot;
+
+# Some of these options are untested and may clash with reserved code
+# numbers when legacy, so they have been commented out here.
+
+#option legacy-etherboot-extensions-path	code 18 = string;
+option legacy-etherboot-magic		code 128 = string;
+option legacy-etherboot-kernel-cmdline	code 129 = string;
+#option legacy-etherboot-netdevice	code 130 = text;
+option legacy-etherboot-menu-opts	code 160 = string;
+option legacy-etherboot-menu-selection	code 176 = unsigned integer 8;
+option legacy-etherboot-motd-1		code 184 = string;
+option legacy-etherboot-motd-2		code 185 = string;
+option legacy-etherboot-motd-3		code 186 = string;
+option legacy-etherboot-motd-4		code 187 = string;
+option legacy-etherboot-motd-5		code 188 = string;
+option legacy-etherboot-motd-6		code 189 = string;
+option legacy-etherboot-motd-7		code 190 = string;
+option legacy-etherboot-motd-8		code 191 = string;
+option legacy-etherboot-image-1		code 192 = string;
+option legacy-etherboot-image-2		code 193 = string;
+option legacy-etherboot-image-3		code 194 = string;
+option legacy-etherboot-image-4		code 195 = string;
+option legacy-etherboot-image-5		code 196 = string;
+option legacy-etherboot-image-6		code 197 = string;
+option legacy-etherboot-image-7		code 198 = string;
+option legacy-etherboot-image-8		code 199 = string;
+option legacy-etherboot-image-9		code 200 = string;
+option legacy-etherboot-image-10	code 201 = string;
+option legacy-etherboot-image-11	code 202 = string;
+option legacy-etherboot-image-12	code 203 = string;
+option legacy-etherboot-image-13	code 204 = string;
+option legacy-etherboot-image-14	code 205 = string;
+option legacy-etherboot-image-15	code 206 = string;
+option legacy-etherboot-image-16	code 207 = string;
+#option legacy-etherboot-kmod		code 254 = string;
+
+if (
+	( substring ( option vendor-class-identifier, 0, 9 ) = "Etherboot" )
+	and
+	( not exists etherboot-encapsulated-options )
+) {
+#	option legacy-etherboot-extensions-path	= config-option etherboot.extensions-path;
+	option legacy-etherboot-magic		= config-option etherboot.magic;
+	option legacy-etherboot-kernel-cmdline	= config-option etherboot.kernel-cmdline;
+#	option legacy-etherboot-netdevice	= config-option etherboot.netdevice;
+	option legacy-etherboot-menu-opts	= config-option etherboot.menu-opts;
+	option legacy-etherboot-menu-selection	= config-option etherboot.menu-selection;
+	option legacy-etherboot-motd-1		= config-option etherboot.motd-1;
+	option legacy-etherboot-motd-2		= config-option etherboot.motd-2;
+	option legacy-etherboot-motd-3		= config-option etherboot.motd-3;
+	option legacy-etherboot-motd-4		= config-option etherboot.motd-4;
+	option legacy-etherboot-motd-5		= config-option etherboot.motd-5;
+	option legacy-etherboot-motd-6		= config-option etherboot.motd-6;
+	option legacy-etherboot-motd-7		= config-option etherboot.motd-7;
+	option legacy-etherboot-motd-8		= config-option etherboot.motd-8;
+	option legacy-etherboot-image-1		= config-option etherboot.image-1;
+	option legacy-etherboot-image-2		= config-option etherboot.image-2;
+	option legacy-etherboot-image-3		= config-option etherboot.image-3;
+	option legacy-etherboot-image-4		= config-option etherboot.image-4;
+	option legacy-etherboot-image-5		= config-option etherboot.image-5;
+	option legacy-etherboot-image-6		= config-option etherboot.image-6;
+	option legacy-etherboot-image-7		= config-option etherboot.image-7;
+	option legacy-etherboot-image-8		= config-option etherboot.image-8;
+	option legacy-etherboot-image-9		= config-option etherboot.image-9;
+	option legacy-etherboot-image-10	= config-option etherboot.image-10;
+	option legacy-etherboot-image-11	= config-option etherboot.image-11;
+	option legacy-etherboot-image-12	= config-option etherboot.image-12;
+	option legacy-etherboot-image-13	= config-option etherboot.image-13;
+	option legacy-etherboot-image-14	= config-option etherboot.image-14;
+	option legacy-etherboot-image-15	= config-option etherboot.image-15;
+	option legacy-etherboot-image-16	= config-option etherboot.image-16;
+#	option legacy-etherboot-kmod		= config.option etherboot.kmod;
+}
-- 
cgit v1.2.3