aboutsummaryrefslogtreecommitdiffstats
path: root/examples/tg19/dhcp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/tg19/dhcp')
-rw-r--r--examples/tg19/dhcp/config/automatic_zones_fap4.conf109
-rw-r--r--examples/tg19/dhcp/config/automatic_zones_v4.conf2311
-rw-r--r--examples/tg19/dhcp/config/automatic_zones_v6.conf1926
-rw-r--r--examples/tg19/dhcp/config/dhcpd-notify-v4.conf10
-rw-r--r--examples/tg19/dhcp/config/dhcpd-notify-v6.conf9
-rw-r--r--examples/tg19/dhcp/config/dhcpd.conf70
-rw-r--r--examples/tg19/dhcp/config/dhcpd4_pxeboot.conf9
-rw-r--r--examples/tg19/dhcp/config/dhcpd4_revzones.conf528
-rw-r--r--examples/tg19/dhcp/config/dhcpd4_voip.conf18
-rw-r--r--examples/tg19/dhcp/config/dhcpd4_wlc.conf16
-rw-r--r--examples/tg19/dhcp/config/dhcpd6.conf56
-rw-r--r--examples/tg19/dhcp/config/fap4.conf48
-rw-r--r--examples/tg19/dhcp/gondul-lol5
-rw-r--r--examples/tg19/dhcp/templates/dhcpd.conf20
-rw-r--r--examples/tg19/dhcp/templates/dhcpd6.conf17
-rw-r--r--examples/tg19/dhcp/templates/fap_dhcp4.conf14
-rwxr-xr-xexamples/tg19/dhcp/tools/make_dhcp.sh36
17 files changed, 5202 insertions, 0 deletions
diff --git a/examples/tg19/dhcp/config/automatic_zones_fap4.conf b/examples/tg19/dhcp/config/automatic_zones_fap4.conf
new file mode 100644
index 0000000..31bb690
--- /dev/null
+++ b/examples/tg19/dhcp/config/automatic_zones_fap4.conf
@@ -0,0 +1,109 @@
+# mgmt.r1.ring
+subnet 88.92.2.64 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.2.65;
+ pool {
+ range 88.92.2.96 88.92.2.126;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s1.floor
+subnet 88.92.0.0 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.0.1;
+ pool {
+ range 88.92.0.32 88.92.0.62;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s2.floor
+subnet 88.92.0.64 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.0.65;
+ pool {
+ range 88.92.0.96 88.92.0.126;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s3.floor
+subnet 88.92.0.128 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.0.129;
+ pool {
+ range 88.92.0.160 88.92.0.190;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s4.floor
+subnet 88.92.0.192 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.0.193;
+ pool {
+ range 88.92.0.224 88.92.0.254;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s5.floor
+subnet 88.92.1.0 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.1.1;
+ pool {
+ range 88.92.1.32 88.92.1.62;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s6.floor
+subnet 88.92.1.64 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.1.65;
+ pool {
+ range 88.92.1.96 88.92.1.126;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s7.floor
+subnet 88.92.1.128 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.1.129;
+ pool {
+ range 88.92.1.160 88.92.1.190;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s8.floor
+subnet 88.92.1.192 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.1.193;
+ pool {
+ range 88.92.1.224 88.92.1.254;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+# mgmt.s9.floor
+subnet 88.92.2.0 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.2.1;
+ pool {
+ range 88.92.2.32 88.92.2.62;
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
diff --git a/examples/tg19/dhcp/config/automatic_zones_v4.conf b/examples/tg19/dhcp/config/automatic_zones_v4.conf
new file mode 100644
index 0000000..c144a42
--- /dev/null
+++ b/examples/tg19/dhcp/config/automatic_zones_v4.conf
@@ -0,0 +1,2311 @@
+# Autogenerated dhcpd.conf from gondul
+
+# ap-mgmt.r1.ring
+subnet 88.92.6.128 netmask 255.255.255.192 {
+ range 88.92.6.130 88.92.6.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.6.129;
+ option domain-name "ap-mgmt.r1.ring.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.r1.ring.tg19.gathering.org";
+}
+
+zone ap-mgmt.r1.ring.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s1.floor
+subnet 88.92.4.64 netmask 255.255.255.192 {
+ range 88.92.4.66 88.92.4.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.4.65;
+ option domain-name "ap-mgmt.s1.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s1.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s1.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s2.floor
+subnet 88.92.4.128 netmask 255.255.255.192 {
+ range 88.92.4.130 88.92.4.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.4.129;
+ option domain-name "ap-mgmt.s2.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s2.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s2.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s3.floor
+subnet 88.92.4.192 netmask 255.255.255.192 {
+ range 88.92.4.194 88.92.4.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.4.193;
+ option domain-name "ap-mgmt.s3.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s3.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s3.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s4.floor
+subnet 88.92.5.0 netmask 255.255.255.192 {
+ range 88.92.5.2 88.92.5.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.5.1;
+ option domain-name "ap-mgmt.s4.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s4.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s4.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s5.floor
+subnet 88.92.5.64 netmask 255.255.255.192 {
+ range 88.92.5.66 88.92.5.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.5.65;
+ option domain-name "ap-mgmt.s5.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s5.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s5.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s6.floor
+subnet 88.92.5.128 netmask 255.255.255.192 {
+ range 88.92.5.130 88.92.5.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.5.129;
+ option domain-name "ap-mgmt.s6.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s6.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s6.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s7.floor
+subnet 88.92.5.192 netmask 255.255.255.192 {
+ range 88.92.5.194 88.92.5.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.5.193;
+ option domain-name "ap-mgmt.s7.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s7.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s7.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s8.floor
+subnet 88.92.6.0 netmask 255.255.255.192 {
+ range 88.92.6.2 88.92.6.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.6.1;
+ option domain-name "ap-mgmt.s8.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s8.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s8.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s9.floor
+subnet 88.92.6.64 netmask 255.255.255.192 {
+ range 88.92.6.66 88.92.6.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.6.65;
+ option domain-name "ap-mgmt.s9.floor.tg19.gathering.org";
+ ddns-domainname "ap-mgmt.s9.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s9.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e11-1
+subnet 88.92.82.0 netmask 255.255.255.192 {
+ range 88.92.82.2 88.92.82.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.82.1;
+ option domain-name "e11-1.tg19.gathering.org";
+ ddns-domainname "e11-1.tg19.gathering.org";
+}
+
+zone e11-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e11-2
+subnet 88.92.82.64 netmask 255.255.255.192 {
+ range 88.92.82.66 88.92.82.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.82.65;
+ option domain-name "e11-2.tg19.gathering.org";
+ ddns-domainname "e11-2.tg19.gathering.org";
+}
+
+zone e11-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e11-3
+subnet 88.92.82.128 netmask 255.255.255.192 {
+ range 88.92.82.130 88.92.82.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.82.129;
+ option domain-name "e11-3.tg19.gathering.org";
+ ddns-domainname "e11-3.tg19.gathering.org";
+}
+
+zone e11-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e11-4
+subnet 88.92.82.192 netmask 255.255.255.192 {
+ range 88.92.82.194 88.92.82.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.82.193;
+ option domain-name "e11-4.tg19.gathering.org";
+ ddns-domainname "e11-4.tg19.gathering.org";
+}
+
+zone e11-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e13-1
+subnet 88.92.83.0 netmask 255.255.255.192 {
+ range 88.92.83.2 88.92.83.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.83.1;
+ option domain-name "e13-1.tg19.gathering.org";
+ ddns-domainname "e13-1.tg19.gathering.org";
+}
+
+zone e13-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e13-2
+subnet 88.92.83.64 netmask 255.255.255.192 {
+ range 88.92.83.66 88.92.83.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.83.65;
+ option domain-name "e13-2.tg19.gathering.org";
+ ddns-domainname "e13-2.tg19.gathering.org";
+}
+
+zone e13-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e13-3
+subnet 88.92.83.128 netmask 255.255.255.192 {
+ range 88.92.83.130 88.92.83.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.83.129;
+ option domain-name "e13-3.tg19.gathering.org";
+ ddns-domainname "e13-3.tg19.gathering.org";
+}
+
+zone e13-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e13-4
+subnet 88.92.83.192 netmask 255.255.255.192 {
+ range 88.92.83.194 88.92.83.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.83.193;
+ option domain-name "e13-4.tg19.gathering.org";
+ ddns-domainname "e13-4.tg19.gathering.org";
+}
+
+zone e13-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e15-1
+subnet 88.92.84.0 netmask 255.255.255.192 {
+ range 88.92.84.2 88.92.84.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.84.1;
+ option domain-name "e15-1.tg19.gathering.org";
+ ddns-domainname "e15-1.tg19.gathering.org";
+}
+
+zone e15-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e15-2
+subnet 88.92.84.64 netmask 255.255.255.192 {
+ range 88.92.84.66 88.92.84.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.84.65;
+ option domain-name "e15-2.tg19.gathering.org";
+ ddns-domainname "e15-2.tg19.gathering.org";
+}
+
+zone e15-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e15-3
+subnet 88.92.84.128 netmask 255.255.255.192 {
+ range 88.92.84.130 88.92.84.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.84.129;
+ option domain-name "e15-3.tg19.gathering.org";
+ ddns-domainname "e15-3.tg19.gathering.org";
+}
+
+zone e15-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e15-4
+subnet 88.92.84.192 netmask 255.255.255.192 {
+ range 88.92.84.194 88.92.84.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.84.193;
+ option domain-name "e15-4.tg19.gathering.org";
+ ddns-domainname "e15-4.tg19.gathering.org";
+}
+
+zone e15-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e17-1
+subnet 88.92.85.0 netmask 255.255.255.192 {
+ range 88.92.85.2 88.92.85.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.85.1;
+ option domain-name "e17-1.tg19.gathering.org";
+ ddns-domainname "e17-1.tg19.gathering.org";
+}
+
+zone e17-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e17-2
+subnet 88.92.85.64 netmask 255.255.255.192 {
+ range 88.92.85.66 88.92.85.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.85.65;
+ option domain-name "e17-2.tg19.gathering.org";
+ ddns-domainname "e17-2.tg19.gathering.org";
+}
+
+zone e17-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e17-3
+subnet 88.92.85.128 netmask 255.255.255.192 {
+ range 88.92.85.130 88.92.85.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.85.129;
+ option domain-name "e17-3.tg19.gathering.org";
+ ddns-domainname "e17-3.tg19.gathering.org";
+}
+
+zone e17-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e17-4
+subnet 88.92.85.192 netmask 255.255.255.192 {
+ range 88.92.85.194 88.92.85.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.85.193;
+ option domain-name "e17-4.tg19.gathering.org";
+ ddns-domainname "e17-4.tg19.gathering.org";
+}
+
+zone e17-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e19-1
+subnet 88.92.86.0 netmask 255.255.255.192 {
+ range 88.92.86.2 88.92.86.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.86.1;
+ option domain-name "e19-1.tg19.gathering.org";
+ ddns-domainname "e19-1.tg19.gathering.org";
+}
+
+zone e19-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e19-2
+subnet 88.92.86.64 netmask 255.255.255.192 {
+ range 88.92.86.66 88.92.86.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.86.65;
+ option domain-name "e19-2.tg19.gathering.org";
+ ddns-domainname "e19-2.tg19.gathering.org";
+}
+
+zone e19-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e19-3
+subnet 88.92.86.128 netmask 255.255.255.192 {
+ range 88.92.86.130 88.92.86.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.86.129;
+ option domain-name "e19-3.tg19.gathering.org";
+ ddns-domainname "e19-3.tg19.gathering.org";
+}
+
+zone e19-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e19-4
+subnet 88.92.86.192 netmask 255.255.255.192 {
+ range 88.92.86.194 88.92.86.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.86.193;
+ option domain-name "e19-4.tg19.gathering.org";
+ ddns-domainname "e19-4.tg19.gathering.org";
+}
+
+zone e19-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e21-1
+subnet 88.92.87.0 netmask 255.255.255.192 {
+ range 88.92.87.2 88.92.87.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.87.1;
+ option domain-name "e21-1.tg19.gathering.org";
+ ddns-domainname "e21-1.tg19.gathering.org";
+}
+
+zone e21-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e21-2
+subnet 88.92.87.64 netmask 255.255.255.192 {
+ range 88.92.87.66 88.92.87.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.87.65;
+ option domain-name "e21-2.tg19.gathering.org";
+ ddns-domainname "e21-2.tg19.gathering.org";
+}
+
+zone e21-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e21-3
+subnet 88.92.87.128 netmask 255.255.255.192 {
+ range 88.92.87.130 88.92.87.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.87.129;
+ option domain-name "e21-3.tg19.gathering.org";
+ ddns-domainname "e21-3.tg19.gathering.org";
+}
+
+zone e21-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e21-4
+subnet 88.92.87.192 netmask 255.255.255.192 {
+ range 88.92.87.194 88.92.87.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.87.193;
+ option domain-name "e21-4.tg19.gathering.org";
+ ddns-domainname "e21-4.tg19.gathering.org";
+}
+
+zone e21-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e23-1
+subnet 88.92.88.0 netmask 255.255.255.192 {
+ range 88.92.88.2 88.92.88.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.88.1;
+ option domain-name "e23-1.tg19.gathering.org";
+ ddns-domainname "e23-1.tg19.gathering.org";
+}
+
+zone e23-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e23-2
+subnet 88.92.88.64 netmask 255.255.255.192 {
+ range 88.92.88.66 88.92.88.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.88.65;
+ option domain-name "e23-2.tg19.gathering.org";
+ ddns-domainname "e23-2.tg19.gathering.org";
+}
+
+zone e23-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e23-3
+subnet 88.92.88.128 netmask 255.255.255.192 {
+ range 88.92.88.130 88.92.88.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.88.129;
+ option domain-name "e23-3.tg19.gathering.org";
+ ddns-domainname "e23-3.tg19.gathering.org";
+}
+
+zone e23-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e23-4
+subnet 88.92.88.192 netmask 255.255.255.192 {
+ range 88.92.88.194 88.92.88.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.88.193;
+ option domain-name "e23-4.tg19.gathering.org";
+ ddns-domainname "e23-4.tg19.gathering.org";
+}
+
+zone e23-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e25-2
+subnet 88.92.89.0 netmask 255.255.255.192 {
+ range 88.92.89.2 88.92.89.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.89.1;
+ option domain-name "e25-2.tg19.gathering.org";
+ ddns-domainname "e25-2.tg19.gathering.org";
+}
+
+zone e25-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e27-2
+subnet 88.92.89.64 netmask 255.255.255.192 {
+ range 88.92.89.66 88.92.89.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.89.65;
+ option domain-name "e27-2.tg19.gathering.org";
+ ddns-domainname "e27-2.tg19.gathering.org";
+}
+
+zone e27-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e29-2
+subnet 88.92.89.128 netmask 255.255.255.192 {
+ range 88.92.89.130 88.92.89.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.89.129;
+ option domain-name "e29-2.tg19.gathering.org";
+ ddns-domainname "e29-2.tg19.gathering.org";
+}
+
+zone e29-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e31-2
+subnet 88.92.89.192 netmask 255.255.255.192 {
+ range 88.92.89.194 88.92.89.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.89.193;
+ option domain-name "e31-2.tg19.gathering.org";
+ ddns-domainname "e31-2.tg19.gathering.org";
+}
+
+zone e31-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e33-2
+subnet 88.92.90.0 netmask 255.255.255.192 {
+ range 88.92.90.2 88.92.90.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.90.1;
+ option domain-name "e33-2.tg19.gathering.org";
+ ddns-domainname "e33-2.tg19.gathering.org";
+}
+
+zone e33-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e35-2
+subnet 88.92.90.64 netmask 255.255.255.192 {
+ range 88.92.90.66 88.92.90.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.90.65;
+ option domain-name "e35-2.tg19.gathering.org";
+ ddns-domainname "e35-2.tg19.gathering.org";
+}
+
+zone e35-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e37-2
+subnet 88.92.90.128 netmask 255.255.255.192 {
+ range 88.92.90.130 88.92.90.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.90.129;
+ option domain-name "e37-2.tg19.gathering.org";
+ ddns-domainname "e37-2.tg19.gathering.org";
+}
+
+zone e37-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e39-2
+subnet 88.92.90.192 netmask 255.255.255.192 {
+ range 88.92.90.194 88.92.90.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.90.193;
+ option domain-name "e39-2.tg19.gathering.org";
+ ddns-domainname "e39-2.tg19.gathering.org";
+}
+
+zone e39-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e41-1
+subnet 88.92.91.0 netmask 255.255.255.192 {
+ range 88.92.91.2 88.92.91.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.91.1;
+ option domain-name "e41-1.tg19.gathering.org";
+ ddns-domainname "e41-1.tg19.gathering.org";
+}
+
+zone e41-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e41-2
+subnet 88.92.91.64 netmask 255.255.255.192 {
+ range 88.92.91.66 88.92.91.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.91.65;
+ option domain-name "e41-2.tg19.gathering.org";
+ ddns-domainname "e41-2.tg19.gathering.org";
+}
+
+zone e41-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e41-3
+subnet 88.92.91.128 netmask 255.255.255.192 {
+ range 88.92.91.130 88.92.91.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.91.129;
+ option domain-name "e41-3.tg19.gathering.org";
+ ddns-domainname "e41-3.tg19.gathering.org";
+}
+
+zone e41-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e41-4
+subnet 88.92.91.192 netmask 255.255.255.192 {
+ range 88.92.91.194 88.92.91.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.91.193;
+ option domain-name "e41-4.tg19.gathering.org";
+ ddns-domainname "e41-4.tg19.gathering.org";
+}
+
+zone e41-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e43-1
+subnet 88.92.92.0 netmask 255.255.255.192 {
+ range 88.92.92.2 88.92.92.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.92.1;
+ option domain-name "e43-1.tg19.gathering.org";
+ ddns-domainname "e43-1.tg19.gathering.org";
+}
+
+zone e43-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e43-2
+subnet 88.92.92.64 netmask 255.255.255.192 {
+ range 88.92.92.66 88.92.92.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.92.65;
+ option domain-name "e43-2.tg19.gathering.org";
+ ddns-domainname "e43-2.tg19.gathering.org";
+}
+
+zone e43-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e43-3
+subnet 88.92.92.128 netmask 255.255.255.192 {
+ range 88.92.92.130 88.92.92.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.92.129;
+ option domain-name "e43-3.tg19.gathering.org";
+ ddns-domainname "e43-3.tg19.gathering.org";
+}
+
+zone e43-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e43-4
+subnet 88.92.92.192 netmask 255.255.255.192 {
+ range 88.92.92.194 88.92.92.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.92.193;
+ option domain-name "e43-4.tg19.gathering.org";
+ ddns-domainname "e43-4.tg19.gathering.org";
+}
+
+zone e43-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e45-1
+subnet 88.92.93.0 netmask 255.255.255.192 {
+ range 88.92.93.2 88.92.93.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.93.1;
+ option domain-name "e45-1.tg19.gathering.org";
+ ddns-domainname "e45-1.tg19.gathering.org";
+}
+
+zone e45-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e45-2
+subnet 88.92.93.64 netmask 255.255.255.192 {
+ range 88.92.93.66 88.92.93.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.93.65;
+ option domain-name "e45-2.tg19.gathering.org";
+ ddns-domainname "e45-2.tg19.gathering.org";
+}
+
+zone e45-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e45-3
+subnet 88.92.93.128 netmask 255.255.255.192 {
+ range 88.92.93.130 88.92.93.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.93.129;
+ option domain-name "e45-3.tg19.gathering.org";
+ ddns-domainname "e45-3.tg19.gathering.org";
+}
+
+zone e45-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e45-4
+subnet 88.92.93.192 netmask 255.255.255.192 {
+ range 88.92.93.194 88.92.93.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.93.193;
+ option domain-name "e45-4.tg19.gathering.org";
+ ddns-domainname "e45-4.tg19.gathering.org";
+}
+
+zone e45-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e47-1
+subnet 88.92.94.0 netmask 255.255.255.192 {
+ range 88.92.94.2 88.92.94.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.94.1;
+ option domain-name "e47-1.tg19.gathering.org";
+ ddns-domainname "e47-1.tg19.gathering.org";
+}
+
+zone e47-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e47-2
+subnet 88.92.94.64 netmask 255.255.255.192 {
+ range 88.92.94.66 88.92.94.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.94.65;
+ option domain-name "e47-2.tg19.gathering.org";
+ ddns-domainname "e47-2.tg19.gathering.org";
+}
+
+zone e47-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e47-3
+subnet 88.92.94.128 netmask 255.255.255.192 {
+ range 88.92.94.130 88.92.94.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.94.129;
+ option domain-name "e47-3.tg19.gathering.org";
+ ddns-domainname "e47-3.tg19.gathering.org";
+}
+
+zone e47-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e47-4
+subnet 88.92.94.192 netmask 255.255.255.192 {
+ range 88.92.94.194 88.92.94.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.94.193;
+ option domain-name "e47-4.tg19.gathering.org";
+ ddns-domainname "e47-4.tg19.gathering.org";
+}
+
+zone e47-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e49-1
+subnet 88.92.95.0 netmask 255.255.255.192 {
+ range 88.92.95.2 88.92.95.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.95.1;
+ option domain-name "e49-1.tg19.gathering.org";
+ ddns-domainname "e49-1.tg19.gathering.org";
+}
+
+zone e49-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e49-2
+subnet 88.92.95.64 netmask 255.255.255.192 {
+ range 88.92.95.66 88.92.95.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.95.65;
+ option domain-name "e49-2.tg19.gathering.org";
+ ddns-domainname "e49-2.tg19.gathering.org";
+}
+
+zone e49-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e49-3
+subnet 88.92.95.128 netmask 255.255.255.192 {
+ range 88.92.95.130 88.92.95.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.95.129;
+ option domain-name "e49-3.tg19.gathering.org";
+ ddns-domainname "e49-3.tg19.gathering.org";
+}
+
+zone e49-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e49-4
+subnet 88.92.95.192 netmask 255.255.255.192 {
+ range 88.92.95.194 88.92.95.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.95.193;
+ option domain-name "e49-4.tg19.gathering.org";
+ ddns-domainname "e49-4.tg19.gathering.org";
+}
+
+zone e49-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e51-1
+subnet 88.92.96.0 netmask 255.255.255.192 {
+ range 88.92.96.2 88.92.96.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.96.1;
+ option domain-name "e51-1.tg19.gathering.org";
+ ddns-domainname "e51-1.tg19.gathering.org";
+}
+
+zone e51-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e51-2
+subnet 88.92.96.64 netmask 255.255.255.192 {
+ range 88.92.96.66 88.92.96.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.96.65;
+ option domain-name "e51-2.tg19.gathering.org";
+ ddns-domainname "e51-2.tg19.gathering.org";
+}
+
+zone e51-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e51-3
+subnet 88.92.96.128 netmask 255.255.255.192 {
+ range 88.92.96.130 88.92.96.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.96.129;
+ option domain-name "e51-3.tg19.gathering.org";
+ ddns-domainname "e51-3.tg19.gathering.org";
+}
+
+zone e51-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e51-4
+subnet 88.92.96.192 netmask 255.255.255.192 {
+ range 88.92.96.194 88.92.96.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.96.193;
+ option domain-name "e51-4.tg19.gathering.org";
+ ddns-domainname "e51-4.tg19.gathering.org";
+}
+
+zone e51-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e53-1
+subnet 88.92.97.0 netmask 255.255.255.192 {
+ range 88.92.97.2 88.92.97.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.97.1;
+ option domain-name "e53-1.tg19.gathering.org";
+ ddns-domainname "e53-1.tg19.gathering.org";
+}
+
+zone e53-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e53-2
+subnet 88.92.97.64 netmask 255.255.255.192 {
+ range 88.92.97.66 88.92.97.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.97.65;
+ option domain-name "e53-2.tg19.gathering.org";
+ ddns-domainname "e53-2.tg19.gathering.org";
+}
+
+zone e53-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e53-3
+subnet 88.92.97.128 netmask 255.255.255.192 {
+ range 88.92.97.130 88.92.97.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.97.129;
+ option domain-name "e53-3.tg19.gathering.org";
+ ddns-domainname "e53-3.tg19.gathering.org";
+}
+
+zone e53-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e53-4
+subnet 88.92.97.192 netmask 255.255.255.192 {
+ range 88.92.97.194 88.92.97.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.97.193;
+ option domain-name "e53-4.tg19.gathering.org";
+ ddns-domainname "e53-4.tg19.gathering.org";
+}
+
+zone e53-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e55-1
+subnet 88.92.98.0 netmask 255.255.255.192 {
+ range 88.92.98.2 88.92.98.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.98.1;
+ option domain-name "e55-1.tg19.gathering.org";
+ ddns-domainname "e55-1.tg19.gathering.org";
+}
+
+zone e55-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e55-2
+subnet 88.92.98.64 netmask 255.255.255.192 {
+ range 88.92.98.66 88.92.98.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.98.65;
+ option domain-name "e55-2.tg19.gathering.org";
+ ddns-domainname "e55-2.tg19.gathering.org";
+}
+
+zone e55-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e55-3
+subnet 88.92.98.128 netmask 255.255.255.192 {
+ range 88.92.98.130 88.92.98.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.98.129;
+ option domain-name "e55-3.tg19.gathering.org";
+ ddns-domainname "e55-3.tg19.gathering.org";
+}
+
+zone e55-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e55-4
+subnet 88.92.98.192 netmask 255.255.255.192 {
+ range 88.92.98.194 88.92.98.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.98.193;
+ option domain-name "e55-4.tg19.gathering.org";
+ ddns-domainname "e55-4.tg19.gathering.org";
+}
+
+zone e55-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e57-1
+subnet 88.92.99.0 netmask 255.255.255.192 {
+ range 88.92.99.2 88.92.99.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.99.1;
+ option domain-name "e57-1.tg19.gathering.org";
+ ddns-domainname "e57-1.tg19.gathering.org";
+}
+
+zone e57-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e57-2
+subnet 88.92.99.64 netmask 255.255.255.192 {
+ range 88.92.99.66 88.92.99.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.99.65;
+ option domain-name "e57-2.tg19.gathering.org";
+ ddns-domainname "e57-2.tg19.gathering.org";
+}
+
+zone e57-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e57-3
+subnet 88.92.99.128 netmask 255.255.255.192 {
+ range 88.92.99.130 88.92.99.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.99.129;
+ option domain-name "e57-3.tg19.gathering.org";
+ ddns-domainname "e57-3.tg19.gathering.org";
+}
+
+zone e57-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e57-4
+subnet 88.92.99.192 netmask 255.255.255.192 {
+ range 88.92.99.194 88.92.99.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.99.193;
+ option domain-name "e57-4.tg19.gathering.org";
+ ddns-domainname "e57-4.tg19.gathering.org";
+}
+
+zone e57-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e59-1
+subnet 88.92.100.0 netmask 255.255.255.192 {
+ range 88.92.100.2 88.92.100.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.100.1;
+ option domain-name "e59-1.tg19.gathering.org";
+ ddns-domainname "e59-1.tg19.gathering.org";
+}
+
+zone e59-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e59-2
+subnet 88.92.100.64 netmask 255.255.255.192 {
+ range 88.92.100.66 88.92.100.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.100.65;
+ option domain-name "e59-2.tg19.gathering.org";
+ ddns-domainname "e59-2.tg19.gathering.org";
+}
+
+zone e59-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e59-3
+subnet 88.92.100.128 netmask 255.255.255.192 {
+ range 88.92.100.130 88.92.100.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.100.129;
+ option domain-name "e59-3.tg19.gathering.org";
+ ddns-domainname "e59-3.tg19.gathering.org";
+}
+
+zone e59-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e59-4
+subnet 88.92.100.192 netmask 255.255.255.192 {
+ range 88.92.100.194 88.92.100.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.100.193;
+ option domain-name "e59-4.tg19.gathering.org";
+ ddns-domainname "e59-4.tg19.gathering.org";
+}
+
+zone e59-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e61-1
+subnet 88.92.101.0 netmask 255.255.255.192 {
+ range 88.92.101.2 88.92.101.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.101.1;
+ option domain-name "e61-1.tg19.gathering.org";
+ ddns-domainname "e61-1.tg19.gathering.org";
+}
+
+zone e61-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e61-2
+subnet 88.92.101.64 netmask 255.255.255.192 {
+ range 88.92.101.66 88.92.101.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.101.65;
+ option domain-name "e61-2.tg19.gathering.org";
+ ddns-domainname "e61-2.tg19.gathering.org";
+}
+
+zone e61-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e61-3
+subnet 88.92.101.128 netmask 255.255.255.192 {
+ range 88.92.101.130 88.92.101.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.101.129;
+ option domain-name "e61-3.tg19.gathering.org";
+ ddns-domainname "e61-3.tg19.gathering.org";
+}
+
+zone e61-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e61-4
+subnet 88.92.101.192 netmask 255.255.255.192 {
+ range 88.92.101.194 88.92.101.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.101.193;
+ option domain-name "e61-4.tg19.gathering.org";
+ ddns-domainname "e61-4.tg19.gathering.org";
+}
+
+zone e61-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e63-1
+subnet 88.92.102.0 netmask 255.255.255.192 {
+ range 88.92.102.2 88.92.102.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.102.1;
+ option domain-name "e63-1.tg19.gathering.org";
+ ddns-domainname "e63-1.tg19.gathering.org";
+}
+
+zone e63-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e63-2
+subnet 88.92.102.64 netmask 255.255.255.192 {
+ range 88.92.102.66 88.92.102.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.102.65;
+ option domain-name "e63-2.tg19.gathering.org";
+ ddns-domainname "e63-2.tg19.gathering.org";
+}
+
+zone e63-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e63-3
+subnet 88.92.102.128 netmask 255.255.255.192 {
+ range 88.92.102.130 88.92.102.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.102.129;
+ option domain-name "e63-3.tg19.gathering.org";
+ ddns-domainname "e63-3.tg19.gathering.org";
+}
+
+zone e63-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e63-4
+subnet 88.92.102.192 netmask 255.255.255.192 {
+ range 88.92.102.194 88.92.102.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.102.193;
+ option domain-name "e63-4.tg19.gathering.org";
+ ddns-domainname "e63-4.tg19.gathering.org";
+}
+
+zone e63-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e65-1
+subnet 88.92.103.0 netmask 255.255.255.192 {
+ range 88.92.103.2 88.92.103.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.103.1;
+ option domain-name "e65-1.tg19.gathering.org";
+ ddns-domainname "e65-1.tg19.gathering.org";
+}
+
+zone e65-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e65-2
+subnet 88.92.103.64 netmask 255.255.255.192 {
+ range 88.92.103.66 88.92.103.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.103.65;
+ option domain-name "e65-2.tg19.gathering.org";
+ ddns-domainname "e65-2.tg19.gathering.org";
+}
+
+zone e65-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e65-3
+subnet 88.92.103.128 netmask 255.255.255.192 {
+ range 88.92.103.130 88.92.103.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.103.129;
+ option domain-name "e65-3.tg19.gathering.org";
+ ddns-domainname "e65-3.tg19.gathering.org";
+}
+
+zone e65-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e65-4
+subnet 88.92.103.192 netmask 255.255.255.192 {
+ range 88.92.103.194 88.92.103.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.103.193;
+ option domain-name "e65-4.tg19.gathering.org";
+ ddns-domainname "e65-4.tg19.gathering.org";
+}
+
+zone e65-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e67-1
+subnet 88.92.104.0 netmask 255.255.255.192 {
+ range 88.92.104.2 88.92.104.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.104.1;
+ option domain-name "e67-1.tg19.gathering.org";
+ ddns-domainname "e67-1.tg19.gathering.org";
+}
+
+zone e67-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e67-2
+subnet 88.92.104.64 netmask 255.255.255.192 {
+ range 88.92.104.66 88.92.104.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.104.65;
+ option domain-name "e67-2.tg19.gathering.org";
+ ddns-domainname "e67-2.tg19.gathering.org";
+}
+
+zone e67-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e67-3
+subnet 88.92.104.128 netmask 255.255.255.192 {
+ range 88.92.104.130 88.92.104.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.104.129;
+ option domain-name "e67-3.tg19.gathering.org";
+ ddns-domainname "e67-3.tg19.gathering.org";
+}
+
+zone e67-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e67-4
+subnet 88.92.104.192 netmask 255.255.255.192 {
+ range 88.92.104.194 88.92.104.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.104.193;
+ option domain-name "e67-4.tg19.gathering.org";
+ ddns-domainname "e67-4.tg19.gathering.org";
+}
+
+zone e67-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e69-1
+subnet 88.92.105.0 netmask 255.255.255.192 {
+ range 88.92.105.2 88.92.105.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.105.1;
+ option domain-name "e69-1.tg19.gathering.org";
+ ddns-domainname "e69-1.tg19.gathering.org";
+}
+
+zone e69-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e69-2
+subnet 88.92.105.64 netmask 255.255.255.192 {
+ range 88.92.105.66 88.92.105.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.105.65;
+ option domain-name "e69-2.tg19.gathering.org";
+ ddns-domainname "e69-2.tg19.gathering.org";
+}
+
+zone e69-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e69-3
+subnet 88.92.105.128 netmask 255.255.255.192 {
+ range 88.92.105.130 88.92.105.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.105.129;
+ option domain-name "e69-3.tg19.gathering.org";
+ ddns-domainname "e69-3.tg19.gathering.org";
+}
+
+zone e69-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e69-4
+subnet 88.92.105.192 netmask 255.255.255.192 {
+ range 88.92.105.194 88.92.105.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.105.193;
+ option domain-name "e69-4.tg19.gathering.org";
+ ddns-domainname "e69-4.tg19.gathering.org";
+}
+
+zone e69-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e7-1
+subnet 88.92.80.0 netmask 255.255.255.192 {
+ range 88.92.80.2 88.92.80.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.80.1;
+ option domain-name "e7-1.tg19.gathering.org";
+ ddns-domainname "e7-1.tg19.gathering.org";
+}
+
+zone e7-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e7-2
+subnet 88.92.80.64 netmask 255.255.255.192 {
+ range 88.92.80.66 88.92.80.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.80.65;
+ option domain-name "e7-2.tg19.gathering.org";
+ ddns-domainname "e7-2.tg19.gathering.org";
+}
+
+zone e7-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e7-3
+subnet 88.92.80.128 netmask 255.255.255.192 {
+ range 88.92.80.130 88.92.80.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.80.129;
+ option domain-name "e7-3.tg19.gathering.org";
+ ddns-domainname "e7-3.tg19.gathering.org";
+}
+
+zone e7-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e7-4
+subnet 88.92.80.192 netmask 255.255.255.192 {
+ range 88.92.80.194 88.92.80.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.80.193;
+ option domain-name "e7-4.tg19.gathering.org";
+ ddns-domainname "e7-4.tg19.gathering.org";
+}
+
+zone e7-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e71-1
+subnet 88.92.106.0 netmask 255.255.255.192 {
+ range 88.92.106.2 88.92.106.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.106.1;
+ option domain-name "e71-1.tg19.gathering.org";
+ ddns-domainname "e71-1.tg19.gathering.org";
+}
+
+zone e71-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e71-2
+subnet 88.92.106.64 netmask 255.255.255.192 {
+ range 88.92.106.66 88.92.106.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.106.65;
+ option domain-name "e71-2.tg19.gathering.org";
+ ddns-domainname "e71-2.tg19.gathering.org";
+}
+
+zone e71-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e71-3
+subnet 88.92.106.128 netmask 255.255.255.192 {
+ range 88.92.106.130 88.92.106.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.106.129;
+ option domain-name "e71-3.tg19.gathering.org";
+ ddns-domainname "e71-3.tg19.gathering.org";
+}
+
+zone e71-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e71-4
+subnet 88.92.106.192 netmask 255.255.255.192 {
+ range 88.92.106.194 88.92.106.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.106.193;
+ option domain-name "e71-4.tg19.gathering.org";
+ ddns-domainname "e71-4.tg19.gathering.org";
+}
+
+zone e71-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e73-1
+subnet 88.92.107.0 netmask 255.255.255.192 {
+ range 88.92.107.2 88.92.107.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.107.1;
+ option domain-name "e73-1.tg19.gathering.org";
+ ddns-domainname "e73-1.tg19.gathering.org";
+}
+
+zone e73-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e73-2
+subnet 88.92.107.64 netmask 255.255.255.192 {
+ range 88.92.107.66 88.92.107.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.107.65;
+ option domain-name "e73-2.tg19.gathering.org";
+ ddns-domainname "e73-2.tg19.gathering.org";
+}
+
+zone e73-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e73-3
+subnet 88.92.107.128 netmask 255.255.255.192 {
+ range 88.92.107.130 88.92.107.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.107.129;
+ option domain-name "e73-3.tg19.gathering.org";
+ ddns-domainname "e73-3.tg19.gathering.org";
+}
+
+zone e73-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e73-4
+subnet 88.92.107.192 netmask 255.255.255.192 {
+ range 88.92.107.194 88.92.107.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.107.193;
+ option domain-name "e73-4.tg19.gathering.org";
+ ddns-domainname "e73-4.tg19.gathering.org";
+}
+
+zone e73-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e75-1
+subnet 88.92.108.0 netmask 255.255.255.192 {
+ range 88.92.108.2 88.92.108.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.108.1;
+ option domain-name "e75-1.tg19.gathering.org";
+ ddns-domainname "e75-1.tg19.gathering.org";
+}
+
+zone e75-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e75-2
+subnet 88.92.108.64 netmask 255.255.255.192 {
+ range 88.92.108.66 88.92.108.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.108.65;
+ option domain-name "e75-2.tg19.gathering.org";
+ ddns-domainname "e75-2.tg19.gathering.org";
+}
+
+zone e75-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e75-3
+subnet 88.92.108.128 netmask 255.255.255.192 {
+ range 88.92.108.130 88.92.108.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.108.129;
+ option domain-name "e75-3.tg19.gathering.org";
+ ddns-domainname "e75-3.tg19.gathering.org";
+}
+
+zone e75-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e75-4
+subnet 88.92.108.192 netmask 255.255.255.192 {
+ range 88.92.108.194 88.92.108.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.108.193;
+ option domain-name "e75-4.tg19.gathering.org";
+ ddns-domainname "e75-4.tg19.gathering.org";
+}
+
+zone e75-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e77-1
+subnet 88.92.109.0 netmask 255.255.255.192 {
+ range 88.92.109.2 88.92.109.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.109.1;
+ option domain-name "e77-1.tg19.gathering.org";
+ ddns-domainname "e77-1.tg19.gathering.org";
+}
+
+zone e77-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e77-3
+subnet 88.92.109.64 netmask 255.255.255.192 {
+ range 88.92.109.66 88.92.109.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.109.65;
+ option domain-name "e77-3.tg19.gathering.org";
+ ddns-domainname "e77-3.tg19.gathering.org";
+}
+
+zone e77-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e77-4
+subnet 88.92.109.128 netmask 255.255.255.192 {
+ range 88.92.109.130 88.92.109.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.109.129;
+ option domain-name "e77-4.tg19.gathering.org";
+ ddns-domainname "e77-4.tg19.gathering.org";
+}
+
+zone e77-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e79-1
+subnet 88.92.109.192 netmask 255.255.255.192 {
+ range 88.92.109.194 88.92.109.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.109.193;
+ option domain-name "e79-1.tg19.gathering.org";
+ ddns-domainname "e79-1.tg19.gathering.org";
+}
+
+zone e79-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e79-3
+subnet 88.92.110.0 netmask 255.255.255.192 {
+ range 88.92.110.2 88.92.110.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.110.1;
+ option domain-name "e79-3.tg19.gathering.org";
+ ddns-domainname "e79-3.tg19.gathering.org";
+}
+
+zone e79-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e79-4
+subnet 88.92.110.64 netmask 255.255.255.192 {
+ range 88.92.110.66 88.92.110.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.110.65;
+ option domain-name "e79-4.tg19.gathering.org";
+ ddns-domainname "e79-4.tg19.gathering.org";
+}
+
+zone e79-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e81-1
+subnet 88.92.110.128 netmask 255.255.255.192 {
+ range 88.92.110.130 88.92.110.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.110.129;
+ option domain-name "e81-1.tg19.gathering.org";
+ ddns-domainname "e81-1.tg19.gathering.org";
+}
+
+zone e81-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e81-3
+subnet 88.92.110.192 netmask 255.255.255.192 {
+ range 88.92.110.194 88.92.110.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.110.193;
+ option domain-name "e81-3.tg19.gathering.org";
+ ddns-domainname "e81-3.tg19.gathering.org";
+}
+
+zone e81-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e81-4
+subnet 88.92.111.0 netmask 255.255.255.192 {
+ range 88.92.111.2 88.92.111.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.111.1;
+ option domain-name "e81-4.tg19.gathering.org";
+ ddns-domainname "e81-4.tg19.gathering.org";
+}
+
+zone e81-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e9-1
+subnet 88.92.81.0 netmask 255.255.255.192 {
+ range 88.92.81.2 88.92.81.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.81.1;
+ option domain-name "e9-1.tg19.gathering.org";
+ ddns-domainname "e9-1.tg19.gathering.org";
+}
+
+zone e9-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e9-2
+subnet 88.92.81.64 netmask 255.255.255.192 {
+ range 88.92.81.66 88.92.81.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.81.65;
+ option domain-name "e9-2.tg19.gathering.org";
+ ddns-domainname "e9-2.tg19.gathering.org";
+}
+
+zone e9-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e9-3
+subnet 88.92.81.128 netmask 255.255.255.192 {
+ range 88.92.81.130 88.92.81.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.81.129;
+ option domain-name "e9-3.tg19.gathering.org";
+ ddns-domainname "e9-3.tg19.gathering.org";
+}
+
+zone e9-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e9-4
+subnet 88.92.81.192 netmask 255.255.255.192 {
+ range 88.92.81.194 88.92.81.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.81.193;
+ option domain-name "e9-4.tg19.gathering.org";
+ ddns-domainname "e9-4.tg19.gathering.org";
+}
+
+zone e9-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# Event-Intern
+subnet 88.92.12.192 netmask 255.255.255.192 {
+ range 88.92.12.194 88.92.12.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.12.193;
+ option domain-name "Event-Intern.tg19.gathering.org";
+ ddns-domainname "Event-Intern.tg19.gathering.org";
+}
+
+zone Event-Intern.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# noc-wifi
+subnet 185.110.150.128 netmask 255.255.255.128 {
+ range 185.110.150.130 185.110.150.254;
+ option subnet-mask 255.255.255.128;
+ option routers 185.110.150.129;
+ option domain-name "noc-wifi.tg19.gathering.org";
+ ddns-domainname "noc-wifi.tg19.gathering.org";
+}
+
+zone noc-wifi.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.auditorium
+subnet 88.92.11.128 netmask 255.255.255.192 {
+ range 88.92.11.130 88.92.11.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.11.129;
+ option domain-name "s1.auditorium.tg19.gathering.org";
+ ddns-domainname "s1.auditorium.tg19.gathering.org";
+}
+
+zone s1.auditorium.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.boh
+subnet 88.92.12.64 netmask 255.255.255.192 {
+ range 88.92.12.66 88.92.12.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.12.65;
+ option domain-name "s1.boh.tg19.gathering.org";
+ ddns-domainname "s1.boh.tg19.gathering.org";
+}
+
+zone s1.boh.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.cna
+subnet 88.92.8.192 netmask 255.255.255.192 {
+ range 88.92.8.194 88.92.8.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.8.193;
+ option domain-name "s1.cna.tg19.gathering.org";
+ ddns-domainname "s1.cna.tg19.gathering.org";
+}
+
+zone s1.cna.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.elkjop
+subnet 88.92.111.64 netmask 255.255.255.192 {
+ range 88.92.111.66 88.92.111.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.111.65;
+ option domain-name "s1.elkjop.tg19.gathering.org";
+ ddns-domainname "s1.elkjop.tg19.gathering.org";
+}
+
+zone s1.elkjop.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.event
+subnet 88.92.9.0 netmask 255.255.255.192 {
+ range 88.92.9.2 88.92.9.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.9.1;
+ option domain-name "s1.event.tg19.gathering.org";
+ ddns-domainname "s1.event.tg19.gathering.org";
+}
+
+zone s1.event.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.event-ob
+subnet 88.92.13.192 netmask 255.255.255.192 {
+ range 88.92.13.194 88.92.13.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.13.193;
+ option domain-name "s1.event-ob.tg19.gathering.org";
+ ddns-domainname "s1.event-ob.tg19.gathering.org";
+}
+
+zone s1.event-ob.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.foh
+subnet 88.92.13.0 netmask 255.255.255.192 {
+ range 88.92.13.2 88.92.13.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.13.1;
+ option domain-name "s1.foh.tg19.gathering.org";
+ ddns-domainname "s1.foh.tg19.gathering.org";
+}
+
+zone s1.foh.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.fugleberget
+subnet 88.92.10.64 netmask 255.255.255.192 {
+ range 88.92.10.66 88.92.10.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.10.65;
+ option domain-name "s1.fugleberget.tg19.gathering.org";
+ ddns-domainname "s1.fugleberget.tg19.gathering.org";
+}
+
+zone s1.fugleberget.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.infodesk
+subnet 88.92.111.128 netmask 255.255.255.192 {
+ range 88.92.111.130 88.92.111.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.111.129;
+ option domain-name "s1.infodesk.tg19.gathering.org";
+ ddns-domainname "s1.infodesk.tg19.gathering.org";
+}
+
+zone s1.infodesk.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.log
+subnet 88.92.8.64 netmask 255.255.255.192 {
+ range 88.92.8.66 88.92.8.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.8.65;
+ option domain-name "s1.log.tg19.gathering.org";
+ ddns-domainname "s1.log.tg19.gathering.org";
+}
+
+zone s1.log.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.medic
+subnet 88.92.11.64 netmask 255.255.255.192 {
+ range 88.92.11.66 88.92.11.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.11.65;
+ option domain-name "s1.medic.tg19.gathering.org";
+ ddns-domainname "s1.medic.tg19.gathering.org";
+}
+
+zone s1.medic.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.noc
+subnet 185.110.150.0 netmask 255.255.255.192 {
+ range 185.110.150.2 185.110.150.62;
+ option subnet-mask 255.255.255.192;
+ option routers 185.110.150.1;
+ option domain-name "s1.noc.tg19.gathering.org";
+ ddns-domainname "s1.noc.tg19.gathering.org";
+}
+
+zone s1.noc.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.north
+subnet 88.92.12.128 netmask 255.255.255.192 {
+ range 88.92.12.130 88.92.12.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.12.129;
+ option domain-name "s1.north.tg19.gathering.org";
+ ddns-domainname "s1.north.tg19.gathering.org";
+}
+
+zone s1.north.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.presse
+subnet 88.92.9.192 netmask 255.255.255.192 {
+ range 88.92.9.194 88.92.9.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.9.193;
+ option domain-name "s1.presse.tg19.gathering.org";
+ ddns-domainname "s1.presse.tg19.gathering.org";
+}
+
+zone s1.presse.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.resepsjon
+subnet 88.92.11.0 netmask 255.255.255.192 {
+ range 88.92.11.2 88.92.11.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.11.1;
+ option domain-name "s1.resepsjon.tg19.gathering.org";
+ ddns-domainname "s1.resepsjon.tg19.gathering.org";
+}
+
+zone s1.resepsjon.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.roof
+subnet 88.92.11.192 netmask 255.255.255.192 {
+ range 88.92.11.194 88.92.11.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.11.193;
+ option domain-name "s1.roof.tg19.gathering.org";
+ ddns-domainname "s1.roof.tg19.gathering.org";
+}
+
+zone s1.roof.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.secbua
+subnet 88.92.9.128 netmask 255.255.255.192 {
+ range 88.92.9.130 88.92.9.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.9.129;
+ option domain-name "s1.secbua.tg19.gathering.org";
+ ddns-domainname "s1.secbua.tg19.gathering.org";
+}
+
+zone s1.secbua.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.south
+subnet 88.92.10.128 netmask 255.255.255.192 {
+ range 88.92.10.130 88.92.10.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.10.129;
+ option domain-name "s1.south.tg19.gathering.org";
+ ddns-domainname "s1.south.tg19.gathering.org";
+}
+
+zone s1.south.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.sponsorgate
+subnet 88.92.10.192 netmask 255.255.255.192 {
+ range 88.92.10.194 88.92.10.254;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.10.193;
+ option domain-name "s1.sponsorgate.tg19.gathering.org";
+ ddns-domainname "s1.sponsorgate.tg19.gathering.org";
+}
+
+zone s1.sponsorgate.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.systemstonad
+subnet 88.92.9.64 netmask 255.255.255.192 {
+ range 88.92.9.66 88.92.9.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.9.65;
+ option domain-name "s1.systemstonad.tg19.gathering.org";
+ ddns-domainname "s1.systemstonad.tg19.gathering.org";
+}
+
+zone s1.systemstonad.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.videorom
+subnet 88.92.10.0 netmask 255.255.255.192 {
+ range 88.92.10.2 88.92.10.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.10.1;
+ option domain-name "s1.videorom.tg19.gathering.org";
+ ddns-domainname "s1.videorom.tg19.gathering.org";
+}
+
+zone s1.videorom.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s2.cna
+subnet 88.92.13.64 netmask 255.255.255.192 {
+ range 88.92.13.66 88.92.13.126;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.13.65;
+ option domain-name "s2.cna.tg19.gathering.org";
+ ddns-domainname "s2.cna.tg19.gathering.org";
+}
+
+zone s2.cna.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s2.log
+subnet 88.92.8.128 netmask 255.255.255.192 {
+ range 88.92.8.130 88.92.8.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.8.129;
+ option domain-name "s2.log.tg19.gathering.org";
+ ddns-domainname "s2.log.tg19.gathering.org";
+}
+
+zone s2.log.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s2.noc
+subnet 185.110.150.64 netmask 255.255.255.192 {
+ range 185.110.150.66 185.110.150.126;
+ option subnet-mask 255.255.255.192;
+ option routers 185.110.150.65;
+ option domain-name "s2.noc.tg19.gathering.org";
+ ddns-domainname "s2.noc.tg19.gathering.org";
+}
+
+zone s2.noc.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s2.roof
+subnet 88.92.12.0 netmask 255.255.255.192 {
+ range 88.92.12.2 88.92.12.62;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.12.1;
+ option domain-name "s2.roof.tg19.gathering.org";
+ ddns-domainname "s2.roof.tg19.gathering.org";
+}
+
+zone s2.roof.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s3.cna
+subnet 88.92.13.128 netmask 255.255.255.192 {
+ range 88.92.13.130 88.92.13.190;
+ option subnet-mask 255.255.255.192;
+ option routers 88.92.13.129;
+ option domain-name "s3.cna.tg19.gathering.org";
+ ddns-domainname "s3.cna.tg19.gathering.org";
+}
+
+zone s3.cna.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# stand-wifi-klienter
+subnet 88.92.32.0 netmask 255.255.224.0 {
+ range 88.92.32.2 88.92.63.254;
+ option subnet-mask 255.255.224.0;
+ option routers 88.92.32.1;
+ option domain-name "stand-wifi-klienter.tg19.gathering.org";
+ ddns-domainname "stand-wifi-klienter.tg19.gathering.org";
+}
+
+zone stand-wifi-klienter.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# stand-wifi-mgmt
+subnet 88.92.4.0 netmask 255.255.255.224 {
+ range 88.92.4.2 88.92.4.30;
+ option subnet-mask 255.255.255.224;
+ option routers 88.92.4.1;
+ option domain-name "stand-wifi-mgmt.tg19.gathering.org";
+ ddns-domainname "stand-wifi-mgmt.tg19.gathering.org";
+}
+
+zone stand-wifi-mgmt.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
diff --git a/examples/tg19/dhcp/config/automatic_zones_v6.conf b/examples/tg19/dhcp/config/automatic_zones_v6.conf
new file mode 100644
index 0000000..54a4576
--- /dev/null
+++ b/examples/tg19/dhcp/config/automatic_zones_v6.conf
@@ -0,0 +1,1926 @@
+# Autogenerated dhcpd6.conf from gondul
+
+# ap-mgmt.r1.ring
+subnet6 2a06:5841:d:aa::/64 {
+ range6 2a06:5841:d:aa::1000 2a06:5841:d:aa::9999;
+ option domain-name "ap-mgmt.r1.ring.tg19.gathering.org";
+}
+
+zone ap-mgmt.r1.ring.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s1.floor
+subnet6 2a06:5841:d:a1::/64 {
+ range6 2a06:5841:d:a1::1000 2a06:5841:d:a1::9999;
+ option domain-name "ap-mgmt.s1.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s1.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s2.floor
+subnet6 2a06:5841:d:a2::/64 {
+ range6 2a06:5841:d:a2::1000 2a06:5841:d:a2::9999;
+ option domain-name "ap-mgmt.s2.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s2.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s3.floor
+subnet6 2a06:5841:d:a3::/64 {
+ range6 2a06:5841:d:a3::1000 2a06:5841:d:a3::9999;
+ option domain-name "ap-mgmt.s3.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s3.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s4.floor
+subnet6 2a06:5841:d:a4::/64 {
+ range6 2a06:5841:d:a4::1000 2a06:5841:d:a4::9999;
+ option domain-name "ap-mgmt.s4.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s4.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s5.floor
+subnet6 2a06:5841:d:a5::/64 {
+ range6 2a06:5841:d:a5::1000 2a06:5841:d:a5::9999;
+ option domain-name "ap-mgmt.s5.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s5.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s6.floor
+subnet6 2a06:5841:d:a6::/64 {
+ range6 2a06:5841:d:a6::1000 2a06:5841:d:a6::9999;
+ option domain-name "ap-mgmt.s6.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s6.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s7.floor
+subnet6 2a06:5841:d:a7::/64 {
+ range6 2a06:5841:d:a7::1000 2a06:5841:d:a7::9999;
+ option domain-name "ap-mgmt.s7.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s7.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s8.floor
+subnet6 2a06:5841:d:a8::/64 {
+ range6 2a06:5841:d:a8::1000 2a06:5841:d:a8::9999;
+ option domain-name "ap-mgmt.s8.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s8.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# ap-mgmt.s9.floor
+subnet6 2a06:5841:d:a9::/64 {
+ range6 2a06:5841:d:a9::1000 2a06:5841:d:a9::9999;
+ option domain-name "ap-mgmt.s9.floor.tg19.gathering.org";
+}
+
+zone ap-mgmt.s9.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e11-1
+subnet6 2a06:5844:e:111::/64 {
+ range6 2a06:5844:e:111::1000 2a06:5844:e:111::9999;
+ option domain-name "e11-1.tg19.gathering.org";
+}
+
+zone e11-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e11-2
+subnet6 2a06:5844:e:112::/64 {
+ range6 2a06:5844:e:112::1000 2a06:5844:e:112::9999;
+ option domain-name "e11-2.tg19.gathering.org";
+}
+
+zone e11-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e11-3
+subnet6 2a06:5844:e:113::/64 {
+ range6 2a06:5844:e:113::1000 2a06:5844:e:113::9999;
+ option domain-name "e11-3.tg19.gathering.org";
+}
+
+zone e11-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e11-4
+subnet6 2a06:5844:e:114::/64 {
+ range6 2a06:5844:e:114::1000 2a06:5844:e:114::9999;
+ option domain-name "e11-4.tg19.gathering.org";
+}
+
+zone e11-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e13-1
+subnet6 2a06:5844:e:131::/64 {
+ range6 2a06:5844:e:131::1000 2a06:5844:e:131::9999;
+ option domain-name "e13-1.tg19.gathering.org";
+}
+
+zone e13-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e13-2
+subnet6 2a06:5844:e:132::/64 {
+ range6 2a06:5844:e:132::1000 2a06:5844:e:132::9999;
+ option domain-name "e13-2.tg19.gathering.org";
+}
+
+zone e13-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e13-3
+subnet6 2a06:5844:e:133::/64 {
+ range6 2a06:5844:e:133::1000 2a06:5844:e:133::9999;
+ option domain-name "e13-3.tg19.gathering.org";
+}
+
+zone e13-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e13-4
+subnet6 2a06:5844:e:134::/64 {
+ range6 2a06:5844:e:134::1000 2a06:5844:e:134::9999;
+ option domain-name "e13-4.tg19.gathering.org";
+}
+
+zone e13-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e15-1
+subnet6 2a06:5844:e:151::/64 {
+ range6 2a06:5844:e:151::1000 2a06:5844:e:151::9999;
+ option domain-name "e15-1.tg19.gathering.org";
+}
+
+zone e15-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e15-2
+subnet6 2a06:5844:e:152::/64 {
+ range6 2a06:5844:e:152::1000 2a06:5844:e:152::9999;
+ option domain-name "e15-2.tg19.gathering.org";
+}
+
+zone e15-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e15-3
+subnet6 2a06:5844:e:153::/64 {
+ range6 2a06:5844:e:153::1000 2a06:5844:e:153::9999;
+ option domain-name "e15-3.tg19.gathering.org";
+}
+
+zone e15-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e15-4
+subnet6 2a06:5844:e:154::/64 {
+ range6 2a06:5844:e:154::1000 2a06:5844:e:154::9999;
+ option domain-name "e15-4.tg19.gathering.org";
+}
+
+zone e15-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e17-1
+subnet6 2a06:5844:e:171::/64 {
+ range6 2a06:5844:e:171::1000 2a06:5844:e:171::9999;
+ option domain-name "e17-1.tg19.gathering.org";
+}
+
+zone e17-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e17-2
+subnet6 2a06:5844:e:172::/64 {
+ range6 2a06:5844:e:172::1000 2a06:5844:e:172::9999;
+ option domain-name "e17-2.tg19.gathering.org";
+}
+
+zone e17-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e17-3
+subnet6 2a06:5844:e:173::/64 {
+ range6 2a06:5844:e:173::1000 2a06:5844:e:173::9999;
+ option domain-name "e17-3.tg19.gathering.org";
+}
+
+zone e17-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e17-4
+subnet6 2a06:5844:e:174::/64 {
+ range6 2a06:5844:e:174::1000 2a06:5844:e:174::9999;
+ option domain-name "e17-4.tg19.gathering.org";
+}
+
+zone e17-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e19-1
+subnet6 2a06:5844:e:191::/64 {
+ range6 2a06:5844:e:191::1000 2a06:5844:e:191::9999;
+ option domain-name "e19-1.tg19.gathering.org";
+}
+
+zone e19-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e19-2
+subnet6 2a06:5844:e:192::/64 {
+ range6 2a06:5844:e:192::1000 2a06:5844:e:192::9999;
+ option domain-name "e19-2.tg19.gathering.org";
+}
+
+zone e19-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e19-3
+subnet6 2a06:5844:e:193::/64 {
+ range6 2a06:5844:e:193::1000 2a06:5844:e:193::9999;
+ option domain-name "e19-3.tg19.gathering.org";
+}
+
+zone e19-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e19-4
+subnet6 2a06:5844:e:194::/64 {
+ range6 2a06:5844:e:194::1000 2a06:5844:e:194::9999;
+ option domain-name "e19-4.tg19.gathering.org";
+}
+
+zone e19-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e21-1
+subnet6 2a06:5844:e:211::/64 {
+ range6 2a06:5844:e:211::1000 2a06:5844:e:211::9999;
+ option domain-name "e21-1.tg19.gathering.org";
+}
+
+zone e21-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e21-2
+subnet6 2a06:5844:e:212::/64 {
+ range6 2a06:5844:e:212::1000 2a06:5844:e:212::9999;
+ option domain-name "e21-2.tg19.gathering.org";
+}
+
+zone e21-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e21-3
+subnet6 2a06:5844:e:213::/64 {
+ range6 2a06:5844:e:213::1000 2a06:5844:e:213::9999;
+ option domain-name "e21-3.tg19.gathering.org";
+}
+
+zone e21-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e21-4
+subnet6 2a06:5844:e:214::/64 {
+ range6 2a06:5844:e:214::1000 2a06:5844:e:214::9999;
+ option domain-name "e21-4.tg19.gathering.org";
+}
+
+zone e21-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e23-1
+subnet6 2a06:5844:e:231::/64 {
+ range6 2a06:5844:e:231::1000 2a06:5844:e:231::9999;
+ option domain-name "e23-1.tg19.gathering.org";
+}
+
+zone e23-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e23-2
+subnet6 2a06:5844:e:232::/64 {
+ range6 2a06:5844:e:232::1000 2a06:5844:e:232::9999;
+ option domain-name "e23-2.tg19.gathering.org";
+}
+
+zone e23-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e23-3
+subnet6 2a06:5844:e:233::/64 {
+ range6 2a06:5844:e:233::1000 2a06:5844:e:233::9999;
+ option domain-name "e23-3.tg19.gathering.org";
+}
+
+zone e23-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e23-4
+subnet6 2a06:5844:e:234::/64 {
+ range6 2a06:5844:e:234::1000 2a06:5844:e:234::9999;
+ option domain-name "e23-4.tg19.gathering.org";
+}
+
+zone e23-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e25-2
+subnet6 2a06:5844:e:252::/64 {
+ range6 2a06:5844:e:252::1000 2a06:5844:e:252::9999;
+ option domain-name "e25-2.tg19.gathering.org";
+}
+
+zone e25-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e27-2
+subnet6 2a06:5844:e:272::/64 {
+ range6 2a06:5844:e:272::1000 2a06:5844:e:272::9999;
+ option domain-name "e27-2.tg19.gathering.org";
+}
+
+zone e27-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e29-2
+subnet6 2a06:5844:e:292::/64 {
+ range6 2a06:5844:e:292::1000 2a06:5844:e:292::9999;
+ option domain-name "e29-2.tg19.gathering.org";
+}
+
+zone e29-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e31-2
+subnet6 2a06:5844:e:312::/64 {
+ range6 2a06:5844:e:312::1000 2a06:5844:e:312::9999;
+ option domain-name "e31-2.tg19.gathering.org";
+}
+
+zone e31-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e33-2
+subnet6 2a06:5844:e:332::/64 {
+ range6 2a06:5844:e:332::1000 2a06:5844:e:332::9999;
+ option domain-name "e33-2.tg19.gathering.org";
+}
+
+zone e33-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e35-2
+subnet6 2a06:5844:e:352::/64 {
+ range6 2a06:5844:e:352::1000 2a06:5844:e:352::9999;
+ option domain-name "e35-2.tg19.gathering.org";
+}
+
+zone e35-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e37-2
+subnet6 2a06:5844:e:372::/64 {
+ range6 2a06:5844:e:372::1000 2a06:5844:e:372::9999;
+ option domain-name "e37-2.tg19.gathering.org";
+}
+
+zone e37-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e39-2
+subnet6 2a06:5844:e:392::/64 {
+ range6 2a06:5844:e:392::1000 2a06:5844:e:392::9999;
+ option domain-name "e39-2.tg19.gathering.org";
+}
+
+zone e39-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e41-1
+subnet6 2a06:5844:e:411::/64 {
+ range6 2a06:5844:e:411::1000 2a06:5844:e:411::9999;
+ option domain-name "e41-1.tg19.gathering.org";
+}
+
+zone e41-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e41-2
+subnet6 2a06:5844:e:412::/64 {
+ range6 2a06:5844:e:412::1000 2a06:5844:e:412::9999;
+ option domain-name "e41-2.tg19.gathering.org";
+}
+
+zone e41-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e41-3
+subnet6 2a06:5844:e:413::/64 {
+ range6 2a06:5844:e:413::1000 2a06:5844:e:413::9999;
+ option domain-name "e41-3.tg19.gathering.org";
+}
+
+zone e41-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e41-4
+subnet6 2a06:5844:e:414::/64 {
+ range6 2a06:5844:e:414::1000 2a06:5844:e:414::9999;
+ option domain-name "e41-4.tg19.gathering.org";
+}
+
+zone e41-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e43-1
+subnet6 2a06:5844:e:431::/64 {
+ range6 2a06:5844:e:431::1000 2a06:5844:e:431::9999;
+ option domain-name "e43-1.tg19.gathering.org";
+}
+
+zone e43-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e43-2
+subnet6 2a06:5844:e:432::/64 {
+ range6 2a06:5844:e:432::1000 2a06:5844:e:432::9999;
+ option domain-name "e43-2.tg19.gathering.org";
+}
+
+zone e43-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e43-3
+subnet6 2a06:5844:e:433::/64 {
+ range6 2a06:5844:e:433::1000 2a06:5844:e:433::9999;
+ option domain-name "e43-3.tg19.gathering.org";
+}
+
+zone e43-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e43-4
+subnet6 2a06:5844:e:434::/64 {
+ range6 2a06:5844:e:434::1000 2a06:5844:e:434::9999;
+ option domain-name "e43-4.tg19.gathering.org";
+}
+
+zone e43-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e45-1
+subnet6 2a06:5844:e:451::/64 {
+ range6 2a06:5844:e:451::1000 2a06:5844:e:451::9999;
+ option domain-name "e45-1.tg19.gathering.org";
+}
+
+zone e45-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e45-2
+subnet6 2a06:5844:e:452::/64 {
+ range6 2a06:5844:e:452::1000 2a06:5844:e:452::9999;
+ option domain-name "e45-2.tg19.gathering.org";
+}
+
+zone e45-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e45-3
+subnet6 2a06:5844:e:453::/64 {
+ range6 2a06:5844:e:453::1000 2a06:5844:e:453::9999;
+ option domain-name "e45-3.tg19.gathering.org";
+}
+
+zone e45-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e45-4
+subnet6 2a06:5844:e:454::/64 {
+ range6 2a06:5844:e:454::1000 2a06:5844:e:454::9999;
+ option domain-name "e45-4.tg19.gathering.org";
+}
+
+zone e45-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e47-1
+subnet6 2a06:5844:e:471::/64 {
+ range6 2a06:5844:e:471::1000 2a06:5844:e:471::9999;
+ option domain-name "e47-1.tg19.gathering.org";
+}
+
+zone e47-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e47-2
+subnet6 2a06:5844:e:472::/64 {
+ range6 2a06:5844:e:472::1000 2a06:5844:e:472::9999;
+ option domain-name "e47-2.tg19.gathering.org";
+}
+
+zone e47-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e47-3
+subnet6 2a06:5844:e:473::/64 {
+ range6 2a06:5844:e:473::1000 2a06:5844:e:473::9999;
+ option domain-name "e47-3.tg19.gathering.org";
+}
+
+zone e47-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e47-4
+subnet6 2a06:5844:e:474::/64 {
+ range6 2a06:5844:e:474::1000 2a06:5844:e:474::9999;
+ option domain-name "e47-4.tg19.gathering.org";
+}
+
+zone e47-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e49-1
+subnet6 2a06:5844:e:491::/64 {
+ range6 2a06:5844:e:491::1000 2a06:5844:e:491::9999;
+ option domain-name "e49-1.tg19.gathering.org";
+}
+
+zone e49-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e49-2
+subnet6 2a06:5844:e:492::/64 {
+ range6 2a06:5844:e:492::1000 2a06:5844:e:492::9999;
+ option domain-name "e49-2.tg19.gathering.org";
+}
+
+zone e49-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e49-3
+subnet6 2a06:5844:e:493::/64 {
+ range6 2a06:5844:e:493::1000 2a06:5844:e:493::9999;
+ option domain-name "e49-3.tg19.gathering.org";
+}
+
+zone e49-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e49-4
+subnet6 2a06:5844:e:494::/64 {
+ range6 2a06:5844:e:494::1000 2a06:5844:e:494::9999;
+ option domain-name "e49-4.tg19.gathering.org";
+}
+
+zone e49-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e51-1
+subnet6 2a06:5844:e:511::/64 {
+ range6 2a06:5844:e:511::1000 2a06:5844:e:511::9999;
+ option domain-name "e51-1.tg19.gathering.org";
+}
+
+zone e51-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e51-2
+subnet6 2a06:5844:e:512::/64 {
+ range6 2a06:5844:e:512::1000 2a06:5844:e:512::9999;
+ option domain-name "e51-2.tg19.gathering.org";
+}
+
+zone e51-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e51-3
+subnet6 2a06:5844:e:513::/64 {
+ range6 2a06:5844:e:513::1000 2a06:5844:e:513::9999;
+ option domain-name "e51-3.tg19.gathering.org";
+}
+
+zone e51-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e51-4
+subnet6 2a06:5844:e:514::/64 {
+ range6 2a06:5844:e:514::1000 2a06:5844:e:514::9999;
+ option domain-name "e51-4.tg19.gathering.org";
+}
+
+zone e51-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e53-1
+subnet6 2a06:5844:e:531::/64 {
+ range6 2a06:5844:e:531::1000 2a06:5844:e:531::9999;
+ option domain-name "e53-1.tg19.gathering.org";
+}
+
+zone e53-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e53-2
+subnet6 2a06:5844:e:532::/64 {
+ range6 2a06:5844:e:532::1000 2a06:5844:e:532::9999;
+ option domain-name "e53-2.tg19.gathering.org";
+}
+
+zone e53-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e53-3
+subnet6 2a06:5844:e:533::/64 {
+ range6 2a06:5844:e:533::1000 2a06:5844:e:533::9999;
+ option domain-name "e53-3.tg19.gathering.org";
+}
+
+zone e53-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e53-4
+subnet6 2a06:5844:e:534::/64 {
+ range6 2a06:5844:e:534::1000 2a06:5844:e:534::9999;
+ option domain-name "e53-4.tg19.gathering.org";
+}
+
+zone e53-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e55-1
+subnet6 2a06:5844:e:551::/64 {
+ range6 2a06:5844:e:551::1000 2a06:5844:e:551::9999;
+ option domain-name "e55-1.tg19.gathering.org";
+}
+
+zone e55-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e55-2
+subnet6 2a06:5844:e:552::/64 {
+ range6 2a06:5844:e:552::1000 2a06:5844:e:552::9999;
+ option domain-name "e55-2.tg19.gathering.org";
+}
+
+zone e55-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e55-3
+subnet6 2a06:5844:e:553::/64 {
+ range6 2a06:5844:e:553::1000 2a06:5844:e:553::9999;
+ option domain-name "e55-3.tg19.gathering.org";
+}
+
+zone e55-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e55-4
+subnet6 2a06:5844:e:554::/64 {
+ range6 2a06:5844:e:554::1000 2a06:5844:e:554::9999;
+ option domain-name "e55-4.tg19.gathering.org";
+}
+
+zone e55-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e57-1
+subnet6 2a06:5844:e:571::/64 {
+ range6 2a06:5844:e:571::1000 2a06:5844:e:571::9999;
+ option domain-name "e57-1.tg19.gathering.org";
+}
+
+zone e57-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e57-2
+subnet6 2a06:5844:e:572::/64 {
+ range6 2a06:5844:e:572::1000 2a06:5844:e:572::9999;
+ option domain-name "e57-2.tg19.gathering.org";
+}
+
+zone e57-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e57-3
+subnet6 2a06:5844:e:573::/64 {
+ range6 2a06:5844:e:573::1000 2a06:5844:e:573::9999;
+ option domain-name "e57-3.tg19.gathering.org";
+}
+
+zone e57-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e57-4
+subnet6 2a06:5844:e:574::/64 {
+ range6 2a06:5844:e:574::1000 2a06:5844:e:574::9999;
+ option domain-name "e57-4.tg19.gathering.org";
+}
+
+zone e57-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e59-1
+subnet6 2a06:5844:e:591::/64 {
+ range6 2a06:5844:e:591::1000 2a06:5844:e:591::9999;
+ option domain-name "e59-1.tg19.gathering.org";
+}
+
+zone e59-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e59-2
+subnet6 2a06:5844:e:592::/64 {
+ range6 2a06:5844:e:592::1000 2a06:5844:e:592::9999;
+ option domain-name "e59-2.tg19.gathering.org";
+}
+
+zone e59-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e59-3
+subnet6 2a06:5844:e:593::/64 {
+ range6 2a06:5844:e:593::1000 2a06:5844:e:593::9999;
+ option domain-name "e59-3.tg19.gathering.org";
+}
+
+zone e59-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e59-4
+subnet6 2a06:5844:e:594::/64 {
+ range6 2a06:5844:e:594::1000 2a06:5844:e:594::9999;
+ option domain-name "e59-4.tg19.gathering.org";
+}
+
+zone e59-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e61-1
+subnet6 2a06:5844:e:611::/64 {
+ range6 2a06:5844:e:611::1000 2a06:5844:e:611::9999;
+ option domain-name "e61-1.tg19.gathering.org";
+}
+
+zone e61-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e61-2
+subnet6 2a06:5844:e:612::/64 {
+ range6 2a06:5844:e:612::1000 2a06:5844:e:612::9999;
+ option domain-name "e61-2.tg19.gathering.org";
+}
+
+zone e61-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e61-3
+subnet6 2a06:5844:e:613::/64 {
+ range6 2a06:5844:e:613::1000 2a06:5844:e:613::9999;
+ option domain-name "e61-3.tg19.gathering.org";
+}
+
+zone e61-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e61-4
+subnet6 2a06:5844:e:614::/64 {
+ range6 2a06:5844:e:614::1000 2a06:5844:e:614::9999;
+ option domain-name "e61-4.tg19.gathering.org";
+}
+
+zone e61-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e63-1
+subnet6 2a06:5844:e:631::/64 {
+ range6 2a06:5844:e:631::1000 2a06:5844:e:631::9999;
+ option domain-name "e63-1.tg19.gathering.org";
+}
+
+zone e63-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e63-2
+subnet6 2a06:5844:e:632::/64 {
+ range6 2a06:5844:e:632::1000 2a06:5844:e:632::9999;
+ option domain-name "e63-2.tg19.gathering.org";
+}
+
+zone e63-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e63-3
+subnet6 2a06:5844:e:633::/64 {
+ range6 2a06:5844:e:633::1000 2a06:5844:e:633::9999;
+ option domain-name "e63-3.tg19.gathering.org";
+}
+
+zone e63-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e63-4
+subnet6 2a06:5844:e:634::/64 {
+ range6 2a06:5844:e:634::1000 2a06:5844:e:634::9999;
+ option domain-name "e63-4.tg19.gathering.org";
+}
+
+zone e63-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e65-1
+subnet6 2a06:5844:e:651::/64 {
+ range6 2a06:5844:e:651::1000 2a06:5844:e:651::9999;
+ option domain-name "e65-1.tg19.gathering.org";
+}
+
+zone e65-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e65-2
+subnet6 2a06:5844:e:652::/64 {
+ range6 2a06:5844:e:652::1000 2a06:5844:e:652::9999;
+ option domain-name "e65-2.tg19.gathering.org";
+}
+
+zone e65-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e65-3
+subnet6 2a06:5844:e:653::/64 {
+ range6 2a06:5844:e:653::1000 2a06:5844:e:653::9999;
+ option domain-name "e65-3.tg19.gathering.org";
+}
+
+zone e65-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e65-4
+subnet6 2a06:5844:e:654::/64 {
+ range6 2a06:5844:e:654::1000 2a06:5844:e:654::9999;
+ option domain-name "e65-4.tg19.gathering.org";
+}
+
+zone e65-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e67-1
+subnet6 2a06:5844:e:671::/64 {
+ range6 2a06:5844:e:671::1000 2a06:5844:e:671::9999;
+ option domain-name "e67-1.tg19.gathering.org";
+}
+
+zone e67-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e67-2
+subnet6 2a06:5844:e:672::/64 {
+ range6 2a06:5844:e:672::1000 2a06:5844:e:672::9999;
+ option domain-name "e67-2.tg19.gathering.org";
+}
+
+zone e67-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e67-3
+subnet6 2a06:5844:e:673::/64 {
+ range6 2a06:5844:e:673::1000 2a06:5844:e:673::9999;
+ option domain-name "e67-3.tg19.gathering.org";
+}
+
+zone e67-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e67-4
+subnet6 2a06:5844:e:674::/64 {
+ range6 2a06:5844:e:674::1000 2a06:5844:e:674::9999;
+ option domain-name "e67-4.tg19.gathering.org";
+}
+
+zone e67-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e69-1
+subnet6 2a06:5844:e:691::/64 {
+ range6 2a06:5844:e:691::1000 2a06:5844:e:691::9999;
+ option domain-name "e69-1.tg19.gathering.org";
+}
+
+zone e69-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e69-2
+subnet6 2a06:5844:e:692::/64 {
+ range6 2a06:5844:e:692::1000 2a06:5844:e:692::9999;
+ option domain-name "e69-2.tg19.gathering.org";
+}
+
+zone e69-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e69-3
+subnet6 2a06:5844:e:693::/64 {
+ range6 2a06:5844:e:693::1000 2a06:5844:e:693::9999;
+ option domain-name "e69-3.tg19.gathering.org";
+}
+
+zone e69-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e69-4
+subnet6 2a06:5844:e:694::/64 {
+ range6 2a06:5844:e:694::1000 2a06:5844:e:694::9999;
+ option domain-name "e69-4.tg19.gathering.org";
+}
+
+zone e69-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e7-1
+subnet6 2a06:5844:e:71::/64 {
+ range6 2a06:5844:e:71::1000 2a06:5844:e:71::9999;
+ option domain-name "e7-1.tg19.gathering.org";
+}
+
+zone e7-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e7-2
+subnet6 2a06:5844:e:72::/64 {
+ range6 2a06:5844:e:72::1000 2a06:5844:e:72::9999;
+ option domain-name "e7-2.tg19.gathering.org";
+}
+
+zone e7-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e7-3
+subnet6 2a06:5844:e:73::/64 {
+ range6 2a06:5844:e:73::1000 2a06:5844:e:73::9999;
+ option domain-name "e7-3.tg19.gathering.org";
+}
+
+zone e7-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e7-4
+subnet6 2a06:5844:e:74::/64 {
+ range6 2a06:5844:e:74::1000 2a06:5844:e:74::9999;
+ option domain-name "e7-4.tg19.gathering.org";
+}
+
+zone e7-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e71-1
+subnet6 2a06:5844:e:711::/64 {
+ range6 2a06:5844:e:711::1000 2a06:5844:e:711::9999;
+ option domain-name "e71-1.tg19.gathering.org";
+}
+
+zone e71-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e71-2
+subnet6 2a06:5844:e:712::/64 {
+ range6 2a06:5844:e:712::1000 2a06:5844:e:712::9999;
+ option domain-name "e71-2.tg19.gathering.org";
+}
+
+zone e71-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e71-3
+subnet6 2a06:5844:e:713::/64 {
+ range6 2a06:5844:e:713::1000 2a06:5844:e:713::9999;
+ option domain-name "e71-3.tg19.gathering.org";
+}
+
+zone e71-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e71-4
+subnet6 2a06:5844:e:714::/64 {
+ range6 2a06:5844:e:714::1000 2a06:5844:e:714::9999;
+ option domain-name "e71-4.tg19.gathering.org";
+}
+
+zone e71-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e73-1
+subnet6 2a06:5844:e:731::/64 {
+ range6 2a06:5844:e:731::1000 2a06:5844:e:731::9999;
+ option domain-name "e73-1.tg19.gathering.org";
+}
+
+zone e73-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e73-2
+subnet6 2a06:5844:e:732::/64 {
+ range6 2a06:5844:e:732::1000 2a06:5844:e:732::9999;
+ option domain-name "e73-2.tg19.gathering.org";
+}
+
+zone e73-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e73-3
+subnet6 2a06:5844:e:733::/64 {
+ range6 2a06:5844:e:733::1000 2a06:5844:e:733::9999;
+ option domain-name "e73-3.tg19.gathering.org";
+}
+
+zone e73-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e73-4
+subnet6 2a06:5844:e:734::/64 {
+ range6 2a06:5844:e:734::1000 2a06:5844:e:734::9999;
+ option domain-name "e73-4.tg19.gathering.org";
+}
+
+zone e73-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e75-1
+subnet6 2a06:5844:e:751::/64 {
+ range6 2a06:5844:e:751::1000 2a06:5844:e:751::9999;
+ option domain-name "e75-1.tg19.gathering.org";
+}
+
+zone e75-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e75-2
+subnet6 2a06:5844:e:752::/64 {
+ range6 2a06:5844:e:752::1000 2a06:5844:e:752::9999;
+ option domain-name "e75-2.tg19.gathering.org";
+}
+
+zone e75-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e75-3
+subnet6 2a06:5844:e:753::/64 {
+ range6 2a06:5844:e:753::1000 2a06:5844:e:753::9999;
+ option domain-name "e75-3.tg19.gathering.org";
+}
+
+zone e75-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e75-4
+subnet6 2a06:5844:e:754::/64 {
+ range6 2a06:5844:e:754::1000 2a06:5844:e:754::9999;
+ option domain-name "e75-4.tg19.gathering.org";
+}
+
+zone e75-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e77-1
+subnet6 2a06:5844:e:771::/64 {
+ range6 2a06:5844:e:771::1000 2a06:5844:e:771::9999;
+ option domain-name "e77-1.tg19.gathering.org";
+}
+
+zone e77-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e77-3
+subnet6 2a06:5844:e:773::/64 {
+ range6 2a06:5844:e:773::1000 2a06:5844:e:773::9999;
+ option domain-name "e77-3.tg19.gathering.org";
+}
+
+zone e77-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e77-4
+subnet6 2a06:5844:e:774::/64 {
+ range6 2a06:5844:e:774::1000 2a06:5844:e:774::9999;
+ option domain-name "e77-4.tg19.gathering.org";
+}
+
+zone e77-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e79-1
+subnet6 2a06:5844:e:791::/64 {
+ range6 2a06:5844:e:791::1000 2a06:5844:e:791::9999;
+ option domain-name "e79-1.tg19.gathering.org";
+}
+
+zone e79-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e79-3
+subnet6 2a06:5844:e:793::/64 {
+ range6 2a06:5844:e:793::1000 2a06:5844:e:793::9999;
+ option domain-name "e79-3.tg19.gathering.org";
+}
+
+zone e79-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e79-4
+subnet6 2a06:5844:e:794::/64 {
+ range6 2a06:5844:e:794::1000 2a06:5844:e:794::9999;
+ option domain-name "e79-4.tg19.gathering.org";
+}
+
+zone e79-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e81-1
+subnet6 2a06:5844:e:811::/64 {
+ range6 2a06:5844:e:811::1000 2a06:5844:e:811::9999;
+ option domain-name "e81-1.tg19.gathering.org";
+}
+
+zone e81-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e81-3
+subnet6 2a06:5844:e:813::/64 {
+ range6 2a06:5844:e:813::1000 2a06:5844:e:813::9999;
+ option domain-name "e81-3.tg19.gathering.org";
+}
+
+zone e81-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e81-4
+subnet6 2a06:5844:e:814::/64 {
+ range6 2a06:5844:e:814::1000 2a06:5844:e:814::9999;
+ option domain-name "e81-4.tg19.gathering.org";
+}
+
+zone e81-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e9-1
+subnet6 2a06:5844:e:91::/64 {
+ range6 2a06:5844:e:91::1000 2a06:5844:e:91::9999;
+ option domain-name "e9-1.tg19.gathering.org";
+}
+
+zone e9-1.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e9-2
+subnet6 2a06:5844:e:92::/64 {
+ range6 2a06:5844:e:92::1000 2a06:5844:e:92::9999;
+ option domain-name "e9-2.tg19.gathering.org";
+}
+
+zone e9-2.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e9-3
+subnet6 2a06:5844:e:93::/64 {
+ range6 2a06:5844:e:93::1000 2a06:5844:e:93::9999;
+ option domain-name "e9-3.tg19.gathering.org";
+}
+
+zone e9-3.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# e9-4
+subnet6 2a06:5844:e:94::/64 {
+ range6 2a06:5844:e:94::1000 2a06:5844:e:94::9999;
+ option domain-name "e9-4.tg19.gathering.org";
+}
+
+zone e9-4.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# Event-Intern
+subnet6 2a06:5841:c:12a::/64 {
+ range6 2a06:5841:c:12a::1000 2a06:5841:c:12a::9999;
+ option domain-name "Event-Intern.tg19.gathering.org";
+}
+
+zone Event-Intern.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.r1.ring
+subnet6 2a06:5841:d:b::/64 {
+ range6 2a06:5841:d:b::1000 2a06:5841:d:b::9999;
+ option domain-name "mgmt.r1.ring.tg19.gathering.org";
+}
+
+zone mgmt.r1.ring.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s1.floor
+subnet6 2a06:5841:d:1::/64 {
+ range6 2a06:5841:d:1::1000 2a06:5841:d:1::9999;
+ option domain-name "mgmt.s1.floor.tg19.gathering.org";
+}
+
+zone mgmt.s1.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s2.floor
+subnet6 2a06:5841:d:2::/64 {
+ range6 2a06:5841:d:2::1000 2a06:5841:d:2::9999;
+ option domain-name "mgmt.s2.floor.tg19.gathering.org";
+}
+
+zone mgmt.s2.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s3.floor
+subnet6 2a06:5841:d:3::/64 {
+ range6 2a06:5841:d:3::1000 2a06:5841:d:3::9999;
+ option domain-name "mgmt.s3.floor.tg19.gathering.org";
+}
+
+zone mgmt.s3.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s4.floor
+subnet6 2a06:5841:d:4::/64 {
+ range6 2a06:5841:d:4::1000 2a06:5841:d:4::9999;
+ option domain-name "mgmt.s4.floor.tg19.gathering.org";
+}
+
+zone mgmt.s4.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s5.floor
+subnet6 2a06:5841:d:5::/64 {
+ range6 2a06:5841:d:5::1000 2a06:5841:d:5::9999;
+ option domain-name "mgmt.s5.floor.tg19.gathering.org";
+}
+
+zone mgmt.s5.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s6.floor
+subnet6 2a06:5841:d:6::/64 {
+ range6 2a06:5841:d:6::1000 2a06:5841:d:6::9999;
+ option domain-name "mgmt.s6.floor.tg19.gathering.org";
+}
+
+zone mgmt.s6.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s7.floor
+subnet6 2a06:5841:d:7::/64 {
+ range6 2a06:5841:d:7::1000 2a06:5841:d:7::9999;
+ option domain-name "mgmt.s7.floor.tg19.gathering.org";
+}
+
+zone mgmt.s7.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s8.floor
+subnet6 2a06:5841:d:8::/64 {
+ range6 2a06:5841:d:8::1000 2a06:5841:d:8::9999;
+ option domain-name "mgmt.s8.floor.tg19.gathering.org";
+}
+
+zone mgmt.s8.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# mgmt.s9.floor
+subnet6 2a06:5841:d:9::/64 {
+ range6 2a06:5841:d:9::1000 2a06:5841:d:9::9999;
+ option domain-name "mgmt.s9.floor.tg19.gathering.org";
+}
+
+zone mgmt.s9.floor.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# noc-wifi
+subnet6 2a06:5841:f:f::/64 {
+ range6 2a06:5841:f:f::1000 2a06:5841:f:f::9999;
+ option domain-name "noc-wifi.tg19.gathering.org";
+}
+
+zone noc-wifi.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.auditorium
+subnet6 2a06:5841:c:125::/64 {
+ range6 2a06:5841:c:125::1000 2a06:5841:c:125::9999;
+ option domain-name "s1.auditorium.tg19.gathering.org";
+}
+
+zone s1.auditorium.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.boh
+subnet6 2a06:5841:c:128::/64 {
+ range6 2a06:5841:c:128::1000 2a06:5841:c:128::9999;
+ option domain-name "s1.boh.tg19.gathering.org";
+}
+
+zone s1.boh.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.cna
+subnet6 2a06:5841:c:114::/64 {
+ range6 2a06:5841:c:114::1000 2a06:5841:c:114::9999;
+ option domain-name "s1.cna.tg19.gathering.org";
+}
+
+zone s1.cna.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.elkjop
+subnet6 2a06:5844:e:a1::/64 {
+ range6 2a06:5844:e:a1::1000 2a06:5844:e:a1::9999;
+ option domain-name "s1.elkjop.tg19.gathering.org";
+}
+
+zone s1.elkjop.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.event
+subnet6 2a06:5841:c:115::/64 {
+ range6 2a06:5841:c:115::1000 2a06:5841:c:115::9999;
+ option domain-name "s1.event.tg19.gathering.org";
+}
+
+zone s1.event.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.event-ob
+subnet6 2a06:5841:c:133::/64 {
+ range6 2a06:5841:c:133::1000 2a06:5841:c:133::9999;
+ option domain-name "s1.event-ob.tg19.gathering.org";
+}
+
+zone s1.event-ob.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.foh
+subnet6 2a06:5841:c:130::/64 {
+ range6 2a06:5841:c:130::1000 2a06:5841:c:130::9999;
+ option domain-name "s1.foh.tg19.gathering.org";
+}
+
+zone s1.foh.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.fugleberget
+subnet6 2a06:5841:c:120::/64 {
+ range6 2a06:5841:c:120::1000 2a06:5841:c:120::9999;
+ option domain-name "s1.fugleberget.tg19.gathering.org";
+}
+
+zone s1.fugleberget.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.infodesk
+subnet6 2a06:5844:e:a2::/64 {
+ range6 2a06:5844:e:a2::1000 2a06:5844:e:a2::9999;
+ option domain-name "s1.infodesk.tg19.gathering.org";
+}
+
+zone s1.infodesk.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.log
+subnet6 2a06:5841:c:112::/64 {
+ range6 2a06:5841:c:112::1000 2a06:5841:c:112::9999;
+ option domain-name "s1.log.tg19.gathering.org";
+}
+
+zone s1.log.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.medic
+subnet6 2a06:5841:c:124::/64 {
+ range6 2a06:5841:c:124::1000 2a06:5841:c:124::9999;
+ option domain-name "s1.medic.tg19.gathering.org";
+}
+
+zone s1.medic.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.noc
+subnet6 2a06:5841:f:c::/64 {
+ range6 2a06:5841:f:c::1000 2a06:5841:f:c::9999;
+ option domain-name "s1.noc.tg19.gathering.org";
+}
+
+zone s1.noc.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.north
+subnet6 2a06:5841:c:129::/64 {
+ range6 2a06:5841:c:129::1000 2a06:5841:c:129::9999;
+ option domain-name "s1.north.tg19.gathering.org";
+}
+
+zone s1.north.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.presse
+subnet6 2a06:5841:c:118::/64 {
+ range6 2a06:5841:c:118::1000 2a06:5841:c:118::9999;
+ option domain-name "s1.presse.tg19.gathering.org";
+}
+
+zone s1.presse.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.resepsjon
+subnet6 2a06:5841:c:123::/64 {
+ range6 2a06:5841:c:123::1000 2a06:5841:c:123::9999;
+ option domain-name "s1.resepsjon.tg19.gathering.org";
+}
+
+zone s1.resepsjon.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.roof
+subnet6 2a06:5841:c:126::/64 {
+ range6 2a06:5841:c:126::1000 2a06:5841:c:126::9999;
+ option domain-name "s1.roof.tg19.gathering.org";
+}
+
+zone s1.roof.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.secbua
+subnet6 2a06:5841:c:117::/64 {
+ range6 2a06:5841:c:117::1000 2a06:5841:c:117::9999;
+ option domain-name "s1.secbua.tg19.gathering.org";
+}
+
+zone s1.secbua.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.south
+subnet6 2a06:5841:c:121::/64 {
+ range6 2a06:5841:c:121::1000 2a06:5841:c:121::9999;
+ option domain-name "s1.south.tg19.gathering.org";
+}
+
+zone s1.south.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.sponsorgate
+subnet6 2a06:5841:c:122::/64 {
+ range6 2a06:5841:c:122::1000 2a06:5841:c:122::9999;
+ option domain-name "s1.sponsorgate.tg19.gathering.org";
+}
+
+zone s1.sponsorgate.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.systemstonad
+subnet6 2a06:5841:c:116::/64 {
+ range6 2a06:5841:c:116::1000 2a06:5841:c:116::9999;
+ option domain-name "s1.systemstonad.tg19.gathering.org";
+}
+
+zone s1.systemstonad.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s1.videorom
+subnet6 2a06:5841:c:119::/64 {
+ range6 2a06:5841:c:119::1000 2a06:5841:c:119::9999;
+ option domain-name "s1.videorom.tg19.gathering.org";
+}
+
+zone s1.videorom.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s2.cna
+subnet6 2a06:5841:c:131::/64 {
+ range6 2a06:5841:c:131::1000 2a06:5841:c:131::9999;
+ option domain-name "s2.cna.tg19.gathering.org";
+}
+
+zone s2.cna.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s2.log
+subnet6 2a06:5841:c:113::/64 {
+ range6 2a06:5841:c:113::1000 2a06:5841:c:113::9999;
+ option domain-name "s2.log.tg19.gathering.org";
+}
+
+zone s2.log.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s2.noc
+subnet6 2a06:5841:f:d::/64 {
+ range6 2a06:5841:f:d::1000 2a06:5841:f:d::9999;
+ option domain-name "s2.noc.tg19.gathering.org";
+}
+
+zone s2.noc.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s2.roof
+subnet6 2a06:5841:c:127::/64 {
+ range6 2a06:5841:c:127::1000 2a06:5841:c:127::9999;
+ option domain-name "s2.roof.tg19.gathering.org";
+}
+
+zone s2.roof.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# s3.cna
+subnet6 2a06:5841:c:132::/64 {
+ range6 2a06:5841:c:132::1000 2a06:5841:c:132::9999;
+ option domain-name "s3.cna.tg19.gathering.org";
+}
+
+zone s3.cna.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# stand-wifi-klienter
+subnet6 2a06:5844:a::/64 {
+ range6 2a06:5844:a::1000 2a06:5844:a::9999;
+ option domain-name "stand-wifi-klienter.tg19.gathering.org";
+}
+
+zone stand-wifi-klienter.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+# stand-wifi-mgmt
+subnet6 2a06:5841:d:c::/64 {
+ range6 2a06:5841:d:c::1000 2a06:5841:d:c::9999;
+ option domain-name "stand-wifi-mgmt.tg19.gathering.org";
+}
+
+zone stand-wifi-mgmt.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
diff --git a/examples/tg19/dhcp/config/dhcpd-notify-v4.conf b/examples/tg19/dhcp/config/dhcpd-notify-v4.conf
new file mode 100644
index 0000000..6f63412
--- /dev/null
+++ b/examples/tg19/dhcp/config/dhcpd-notify-v4.conf
@@ -0,0 +1,10 @@
+on commit {
+ set ClientIP = concat("--ip=", binary-to-ascii(10, 8, ".", leased-address));
+ set ClientMac = concat("--mac=", binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)));
+ set ClientName = concat("--clientname=", pick-first-value(option fqdn.fqdn, option fqdn.hostname, option host-name, ""));
+ set LeaseTime = concat("--lease=", binary-to-ascii(10,32,"",encode-int(lease-time,32)));
+ set CircuitID = concat("--circuit=", pick-first-value(option agent.circuit-id, ""));
+ set GondulAPI = concat("--api=", "https://tech:<SECRET>@gondul.tg19.gathering.org/api/write/collector");
+
+ execute("/usr/local/bin/gondul-lol", ClientIP, ClientMac, ClientName, CircuitID, LeaseTime, GondulAPI);
+}
diff --git a/examples/tg19/dhcp/config/dhcpd-notify-v6.conf b/examples/tg19/dhcp/config/dhcpd-notify-v6.conf
new file mode 100644
index 0000000..4f73cc6
--- /dev/null
+++ b/examples/tg19/dhcp/config/dhcpd-notify-v6.conf
@@ -0,0 +1,9 @@
+on commit {
+ set ClientIP = concat("--ip=", pick-first-value(binary-to-ascii(16, 16, ":", substring(option dhcp6.ia-na, 16, 16)), ""));
+ set ClientName = concat("--clientname=", pick-first-value(option fqdn.hostname, option host-name, option dhcp-client-identifier, ""));
+ set ClientMac = concat("--mac=", pick-first-value(binary-to-ascii(16, 8, ":", suffix(option dhcp6.client-id,6)), ""));
+ set CircuitID = concat("--circuit=", pick-first-value(option agent.circuit-id, ""));
+ set GondulAPI = concat("--api=", "https://tech:<Removed>@gondul.tg19.gathering.org/api/write/collector");
+
+ execute("/usr/local/bin/gondul-lol", ClientIP, ClientMac, ClientName, CircuitID, GondulAPI);
+}
diff --git a/examples/tg19/dhcp/config/dhcpd.conf b/examples/tg19/dhcp/config/dhcpd.conf
new file mode 100644
index 0000000..ef32c85
--- /dev/null
+++ b/examples/tg19/dhcp/config/dhcpd.conf
@@ -0,0 +1,70 @@
+# Default lease: 20min, max: 40min
+default-lease-time 1200;
+max-lease-time 2400;
+
+# make server authorative
+authoritative;
+
+# Don't let clients set their own FQDN
+ignore client-updates;
+
+# enable DDNS
+ddns-update-style interim;
+
+# set ddns-hostname
+if exists host-name {
+ ddns-hostname = lcase(option host-name);
+} elsif exists fqdn.hostname {
+ ddns-hostname = lcase(option fqdn.hostname);
+} else {
+ ddns-hostname = binary-to-ascii(10, 8, "-", leased-address);
+}
+
+# Logging
+log-facility local5;
+
+# set 'hardware' option to a variable
+# rebuilds the complete MAC in cases where you have a leading 0
+set hostmac = concat (
+ suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,1,1))),2), ":",
+ suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,2,1))),2), ":",
+ suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,3,1))),2), ":",
+ suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,4,1))),2), ":",
+ suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,5,1))),2), ":",
+ suffix (concat ("0", binary-to-ascii (16, 8, "", substring(hardware,6,1))),2)
+);
+
+# Domain name (unless overriden elsewhere)
+option domain-name "tg19.gathering.org";
+option domain-name-servers 185.110.149.126, 185.110.149.62;
+option domain-search "tg19.gathering.org";
+
+# tele server zone
+subnet 185.110.149.0 netmask 255.255.255.192 {
+ option subnet-mask 255.255.255.192;
+ option routers 185.110.149.1;
+
+ option domain-name "tele.tg19.gathering.org";
+ ddns-domainname "tele.tg19.gathering.org";
+
+
+ # No DDNS
+ ddns-updates off;
+ ddns-hostname = none;
+ ddns-domainname = none;
+
+ # supershort leasetime
+ default-lease-time 300;
+ max-lease-time 600;
+
+ range 185.110.149.55 185.110.149.62;
+}
+
+include "/etc/dhcp/dhcpd_key.conf";
+include "/etc/dhcp/dhcpd-notify-v4.conf";
+include "/etc/dhcp/dhcpd4_revzones.conf";
+include "/etc/dhcp/dhcpd4_pxeboot.conf";
+include "/etc/dhcp/dhcpd4_voip.conf";
+include "/etc/dhcp/dhcpd4_wlc.conf";
+include "/etc/dhcp/automatic_zones_v4.conf";
+include "/etc/dhcp/fap4.conf";
diff --git a/examples/tg19/dhcp/config/dhcpd4_pxeboot.conf b/examples/tg19/dhcp/config/dhcpd4_pxeboot.conf
new file mode 100644
index 0000000..a83b37c
--- /dev/null
+++ b/examples/tg19/dhcp/config/dhcpd4_pxeboot.conf
@@ -0,0 +1,9 @@
+option arch code 93 = unsigned integer 16;
+
+if option arch = 00:07 {
+ filename "ipxe.efi";
+} else {
+ filename "ipxe.0";
+}
+
+next-server 185.110.149.2;
diff --git a/examples/tg19/dhcp/config/dhcpd4_revzones.conf b/examples/tg19/dhcp/config/dhcpd4_revzones.conf
new file mode 100644
index 0000000..17d872d
--- /dev/null
+++ b/examples/tg19/dhcp/config/dhcpd4_revzones.conf
@@ -0,0 +1,528 @@
+zone 0.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 1.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 2.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 3.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 4.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 5.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 6.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 7.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 8.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 9.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 10.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 11.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 12.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 13.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 14.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 15.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 16.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 17.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 18.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 19.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 20.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 21.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 22.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 23.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 24.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 25.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 26.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 27.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 28.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 29.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 30.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 31.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 32.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 33.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 34.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 35.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 36.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 37.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 38.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 39.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 40.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 41.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 42.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 43.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 44.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 45.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 46.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 47.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 48.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 49.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 50.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 51.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 52.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 53.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 54.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 55.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 56.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 57.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 58.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 59.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 60.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 61.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 62.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 63.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 64.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 65.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 66.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 67.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 68.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 69.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 70.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 71.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 72.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 73.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 74.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 75.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 76.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 77.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 78.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 79.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 80.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 81.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 82.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 83.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 84.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 85.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 86.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 87.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 88.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 89.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 90.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 91.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 92.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 93.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 94.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 95.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 96.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 97.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 98.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 99.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 100.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 101.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 102.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 103.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 104.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 105.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 106.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 107.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 108.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 109.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 110.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 111.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 112.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 113.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 114.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 115.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 116.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 117.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 118.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 119.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 120.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 121.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 122.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 123.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 124.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 125.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 126.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 127.92.88.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 148.110.185.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 149.110.185.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 150.110.185.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+zone 151.110.185.in-addr.arpa. {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
diff --git a/examples/tg19/dhcp/config/dhcpd4_voip.conf b/examples/tg19/dhcp/config/dhcpd4_voip.conf
new file mode 100644
index 0000000..daa08a7
--- /dev/null
+++ b/examples/tg19/dhcp/config/dhcpd4_voip.conf
@@ -0,0 +1,18 @@
+option space CiscoVOIP;
+option CiscoVOIP.cm-tftp-server code 150 = array of ip-address;
+
+class "cisco-voip-lan" {
+ match if substring (option vendor-class-identifier, 0, 28) = "Cisco Systems, Inc. IP Phone";
+ log( info, concat( "LOLOPHONE: " , option vendor-class-identifier ));
+ vendor-option-space CiscoVOIP;
+ option CiscoVOIP.cm-tftp-server <Removed>;
+ next-server Z;
+}
+
+class "cisco-voip-wlan" {
+ match if substring (option vendor-class-identifier, 0, 33) = "Cisco Systems Inc. Wireless Phone";
+ log( info, concat( "BANANAPHONE: " , option vendor-class-identifier ));
+ vendor-option-space CiscoVOIP;
+ option CiscoVOIP.cm-tftp-server <Removed>;
+ next-server <Removed>;
+}
diff --git a/examples/tg19/dhcp/config/dhcpd4_wlc.conf b/examples/tg19/dhcp/config/dhcpd4_wlc.conf
new file mode 100644
index 0000000..02fabf1
--- /dev/null
+++ b/examples/tg19/dhcp/config/dhcpd4_wlc.conf
@@ -0,0 +1,16 @@
+option space WLC;
+option WLC.controller-address code 43 = text;
+class "access-points" {
+ # Number of characters has to match the substring
+ # I.e if "Access Point", you have to use (0, 12)
+ match if substring (option vendor-class-identifier, 0, 12) = "Access Point";
+
+ if exists agent.circuit-id {
+ log( info, concat( "AP: ", hostmac, " - ", option vendor-class-identifier, " - ", option agent.circuit-id ));
+ } else {
+ log( info, concat( "AP: ", hostmac, " - ", option vendor-class-identifier ));
+ }
+
+ vendor-option-space WLC;
+ option WLC.controller-address "88.92.4.2";
+}
diff --git a/examples/tg19/dhcp/config/dhcpd6.conf b/examples/tg19/dhcp/config/dhcpd6.conf
new file mode 100644
index 0000000..cac67c0
--- /dev/null
+++ b/examples/tg19/dhcp/config/dhcpd6.conf
@@ -0,0 +1,56 @@
+# IPv6 address valid lifetime
+# (at the end the address is no longer usable by the client)
+# (usual IPv6 default is 30 days)
+default-lease-time 3600;
+
+# IPv6 address preferred lifetime
+# (at the end the address is deprecated, i.e., the client should use
+# other addresses for new connections)
+# (usual IPv6 default is 7 days)
+preferred-lifetime 3600;
+
+# T1, the delay before Renew
+# (default is 1/2 preferred lifetime)
+option dhcp-renewal-time 1800;
+
+# T2, the delay before Rebind (if Renews failed)
+# (default is 3/4 preferred lifetime)
+option dhcp-rebinding-time 1800;
+
+# Enable RFC 5007 support
+allow leasequery;
+
+# Set preference to 255 (maximum) in order to avoid waiting for
+# additional servers when there is only one
+option dhcp6.preference 255;
+
+# Server side command to enable rapid-commit (2 packet exchange)
+option dhcp6.rapid-commit;
+
+# The delay before information-request refresh
+# (minimum is 10 minutes, maximum one day, default is to not refresh)
+# (set to 6 hours)
+option dhcp6.info-refresh-time 21600;
+
+# Don't let clients set their own FQDN
+ignore client-updates;
+
+# disable ddns
+ddns-update-style none;
+
+# make server authorative
+authoritative;
+
+# Logging
+log-facility local6;
+
+# Options
+option dhcp6.domain-search "tg19.gathering.org";
+option dhcp6.name-servers 2a06:5841:a:104::126, 2a06:5841:a:103::62;
+
+# Tele server zone
+subnet6 2a06:5841:a:103::/64 {}
+
+include "/etc/dhcp/dhcpd_key.conf";
+include "/etc/dhcp/dhcpd-notify-v6.conf";
+include "/etc/dhcp/automatic_zones_v6.conf";
diff --git a/examples/tg19/dhcp/config/fap4.conf b/examples/tg19/dhcp/config/fap4.conf
new file mode 100644
index 0000000..45fe194
--- /dev/null
+++ b/examples/tg19/dhcp/config/fap4.conf
@@ -0,0 +1,48 @@
+# FAP DHCP-configuration
+# Define structure of option 43 ( Zero Touch Protocol options)
+option space ztp;
+option ztp.image-file-name code 0 = text;
+option ztp.config-file-name code 1 = text;
+option ztp.image-file-type code 2 = text;
+option ztp.transfer-mode code 3 = text;
+option ztp.alt-image-file-name code 4 = text;
+# define option 150 - TFTP server (used for defining HTTP server for option 43)
+option option-150 code 150 = { ip-address };
+# define option 60 - used for classifying ZTP clients ("vendor class identifier")
+option vendor-class-identifier code 60 = text;
+# only allow FAP "clients"
+class "fap-vendor-class" {
+ # Vendor-Class Option 60, length 21: "Juniper-ex2200-48t-4g"
+ # Vendor-Class Option 60, length 21: "Juniper-ex3300-48p"
+ match if substring(option vendor-class-identifier, 0, 10) = "Juniper-ex";
+ log( info, concat( "FAP: ", hostmac, " (", option host-name, ") - ", option agent.circuit-id, " - ", option vendor-class-identifier ));
+}
+class "fap-mac" {
+ # some Juniper switches won't send vendor-class-identifier
+ match if (
+ ( binary-to-ascii(16, 8, ":", substring(hardware, 1, 3)) = "44:f4:77" ) or
+ ( binary-to-ascii(16, 8, ":", substring(hardware, 1, 3)) = "f0:1c:2d" )
+ );
+ if not exists vendor-class-identifier {
+ log( info, concat( "FAP: ", hostmac, " (", option host-name, ") - ", option agent.circuit-id ));
+ }
+}
+group {
+ # No DDNS
+ ddns-updates off;
+ ddns-hostname = none;
+ ddns-domainname = none;
+ # set short leasetime, so that it times out while the switch rebooting
+ default-lease-time 120;
+ max-lease-time 120;
+ # ZTP Settings
+ vendor-option-space ztp;
+ option option-150 185.110.149.4;
+ option tftp-server-name "185.110.149.4";
+ option ztp.transfer-mode "http";
+ option ztp.config-file-name = concat("api/templates/magic.conf/a=", (option agent.circuit-id));
+ #option ztp.image-file-name "files/jinstall-ex-2200-14.1X53-D15.2-domestic-signed.tgz";
+ # Ranges from gondul
+ include "/etc/dhcp/automatic_zones_fap4.conf";
+
+}
diff --git a/examples/tg19/dhcp/gondul-lol b/examples/tg19/dhcp/gondul-lol
new file mode 100644
index 0000000..3400243
--- /dev/null
+++ b/examples/tg19/dhcp/gondul-lol
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+{
+ time /usr/local/sbin/Gondul-DHCP-Event-Collector $*
+} >>/tmp/lol.log 2>>/tmp/lol.err &
diff --git a/examples/tg19/dhcp/templates/dhcpd.conf b/examples/tg19/dhcp/templates/dhcpd.conf
new file mode 100644
index 0000000..e91d8b5
--- /dev/null
+++ b/examples/tg19/dhcp/templates/dhcpd.conf
@@ -0,0 +1,20 @@
+# Autogenerated dhcpd.conf from gondul
+
+{% for (network, n) in objects["read/networks"].networks|dictsort %}
+{% if n != None and n.subnet4 != None and n.vlan != 666 %}
+# {{network}}
+subnet {{ n.subnet4|networkId }} netmask {{ n.subnet4|netmask }} {
+ range {{ n.subnet4|getFirstDhcpIp }} {{ n.subnet4|getLastDhcpIp }};
+ option subnet-mask {{ n.subnet4|netmask }};
+ option routers {{ n.gw4 }};
+ option domain-name "{{network}}.tg19.gathering.org";
+ ddns-domainname "{{network}}.tg19.gathering.org";
+}
+
+zone {{network}}.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+{% endif %}
+{% endfor %}
diff --git a/examples/tg19/dhcp/templates/dhcpd6.conf b/examples/tg19/dhcp/templates/dhcpd6.conf
new file mode 100644
index 0000000..01bca44
--- /dev/null
+++ b/examples/tg19/dhcp/templates/dhcpd6.conf
@@ -0,0 +1,17 @@
+# Autogenerated dhcpd6.conf from gondul
+
+{% for (network, n) in objects["read/networks"].networks|dictsort %}
+{% if n != None and n.subnet6 != None %}
+# {{network}}
+subnet6 {{ n.subnet6|networkId }}/{{ n.subnet6|cidr }} {
+ range6 {{ n.subnet6|networkId }}1000 {{ n.subnet6|networkId }}9999;
+ option domain-name "{{network}}.tg19.gathering.org";
+}
+
+zone {{network}}.tg19.gathering.org {
+ primary 127.0.0.1;
+ key DHCP_UPDATER;
+}
+
+{% endif %}
+{% endfor %}
diff --git a/examples/tg19/dhcp/templates/fap_dhcp4.conf b/examples/tg19/dhcp/templates/fap_dhcp4.conf
new file mode 100644
index 0000000..548d921
--- /dev/null
+++ b/examples/tg19/dhcp/templates/fap_dhcp4.conf
@@ -0,0 +1,14 @@
+{% for (network, n) in objects["read/networks"].networks|dictsort %}{% if n != None and n.subnet4 != None and n.vlan == 666 %}
+# {{network}}
+subnet {{ n.subnet4|networkId }} netmask {{ n.subnet4|netmask }} {
+ option subnet-mask {{ n.subnet4|netmask }};
+ option routers {{ n.gw4 }};
+ pool {
+ range {{ n.subnet4|getFirstFapIP}} {{ n.subnet4|getLastDhcpIp }};
+ allow members of "fap-vendor-class";
+ allow members of "fap-mac";
+ }
+}
+
+{% endif %}
+{% endfor %} \ No newline at end of file
diff --git a/examples/tg19/dhcp/tools/make_dhcp.sh b/examples/tg19/dhcp/tools/make_dhcp.sh
new file mode 100755
index 0000000..4e33d0e
--- /dev/null
+++ b/examples/tg19/dhcp/tools/make_dhcp.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+curl --user tech:<Removed> https://gondul.tg19.gathering.org/api/templates/dhcpd.conf > /etc/dhcp/automatic_zones_v4.conf
+curl --user tech:<Removed> https://gondul.tg19.gathering.org/api/templates/dhcpd6.conf > /etc/dhcp/automatic_zones_v6.conf
+curl --user tech:<Removed> https://gondul.tg19.gathering.org/api/templates/fap_dhcp4.conf > /etc/dhcp/automatic_zones_fap4.conf
+
+/usr/sbin/dhcpd -4 -t -cf /etc/dhcp/dhcpd.conf
+if [ $? -eq 0 ]
+then
+ /usr/sbin/service isc-dhcp-server4 restart
+ if [ $? -eq 0 ]
+ then
+ echo "Restarted isc-dhcp-server4 success!"
+ else
+ echo "Failed to restart DHCPv4, panic!"
+ exit 1
+ fi
+else
+ echo "DHCPv4 failed! Not restarted"
+ exit 1
+fi
+/usr/sbin/dhcpd -6 -t -cf /etc/dhcp/dhcpd6.conf
+if [ $? -eq 0 ]
+then
+ /usr/sbin/service isc-dhcp-server6 restart
+ if [ $? -eq 0 ]
+ then
+ echo "Restarted isc-dhcp-server6 success!"
+ else
+ echo "Failed to restart DHCPv6, panic!"
+ exit 1
+ fi
+else
+ echo "DHCPv6 failed! Not restarted"
+ exit 1
+fi