# dhcpd.conf
# config for testing v6 class support
# pools within a subnet

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

max-lease-time 60;
default-lease-time 60;

ddns-update-style none;

log-facility local7;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

option dhcp6.name-servers 2000::1;

# several classes to try out
class "class1" {
  log(info, concat("CLASS6 TEST Class1  ", option dhcp6.client-id));
  match if option dhcp6.client-id = "client_1";
}

class "class2" {
  log(info, concat("CLASS6 TEST Class2  ", option dhcp6.client-id));
  match if option dhcp6.client-id = "client_2";
}

class "class3" {
  log(info, concat("CLASS6 TEST Class3  ", option dhcp6.client-id));
  match if option dhcp6.client-id = "client_3";
}

subnet6 2000::0/64 {
  pool6 {
    log(info, concat("CLASS6 TEST Pool1  ", option dhcp6.client-id));
    range6 2000::0:100 2000::0:1FF;
    range6 2000::1:0/120 temporary;
    prefix6 2000::10:0:0 2000::1F:0:0 /120;
    allow members of "class1";
  }
  pool6 {
    log(info, concat("CLASS6 TEST Pool2  ", option dhcp6.client-id));
    range6 2000::0:200 2000::0:2FF;
    range6 2000::2:0/120 temporary;
    prefix6 2000::20:0:0 2000::2F:0:0 /120;
    allow members of "class2";
  }
  pool6 {
    log(info, concat("CLASS6 TEST Pool3  ", option dhcp6.client-id));
    range6 2000::0:300 2000::0:3FF;
    range6 2000::3:0/120 temporary;
    prefix6 2000::30:0:0 2000::3F:0:0 /120;
    allow known clients;
  }

  pool6 {
    log(info, concat("CLASS6 TEST Pool4  ", option dhcp6.client-id));
    range6 2000::0:400 2000::0:4FF;
    range6 2000::4:0/120 temporary;
    prefix6 2000::40:0:0 2000::4F:0:0 /120;
    allow unknown clients;
  }
}

# host definition to get a name for DDNS update
host client_1 {
host-identifier option dhcp6.client-id "client_1";
}

host client_2 {
host-identifier option dhcp6.client-id "client_2";
}

host client_3 {
host-identifier option dhcp6.client-id "client_3";
}