--- /dev/null
+// This is and example configuration for iPXE boot in Kea6.
+
+{
+ "Dhcp6":{
+// mandatory part of the config that list interfaces on which kea will listen to incoming traffic
+ "interfaces-config":{
+ "interfaces":[
+ "ethX"
+ ]
+ },
+
+// Two classes are migrated form ISC-DHCP example:
+// if exists dhcp6.client-arch-type and
+// option dhcp6.client-arch-type = 00:07 {
+// option dhcp6.bootfile-url "http://[2001:db8::1]/ipxe.efi";
+// } else if exists dhcp6.user-class and
+// substring(option dhcp6.user-class, 2, 4) = "iPXE" {
+// option dhcp6.bootfile-url "http://[2001:db8::1]/ubuntu.cfg";
+// }
+//
+// In example shown below incoming packet will receive value http://[2001:db8::1]/ubuntu.cfg
+// if incoming packet will include user class option with "iPXE" in it and
+// value http://[2001:db8::1]/ipxe.efi if option client architecture type will be 7.
+// If incoming packet will include both of those options with matching values it will be assigned
+// to class "a-ipxe" because it was first matching class. If you want to change that order names
+// of the classes have to have different alphabetical order. In Kea 1.3.0 (and previous versions)
+// alphabetical order is used in classification.
+ "client-classes":[
+ {
+ "name":"a-ipxe",
+ "test":"substring(option[15].hex,2,4) == 'iPXE'",
+ "option-data":[
+ {
+ "space":"dhcp6",
+ "name":"bootfile-url",
+ "code":59,
+ "data":"http://[2001:db8::1]/ubuntu.cfg"
+ }
+ ]
+ },
+ {
+ "name":"b-efi",
+ "test":"option[61].hex == 0x00000007",
+ "option-data":[
+ {
+ "space":"dhcp6",
+ "name":"bootfile-url",
+ "code":59,
+ "data":"http://[2001:db8::1]/ipxe.efi"
+ }
+ ]
+ }
+ ],
+ "subnet6":[
+ {
+ "subnet":"2001:db8::/64"
+ }
+ ]
+ }
+}