Index: /nodes/ZTWRijneke/wleiden.yaml
===================================================================
--- /nodes/ZTWRijneke/wleiden.yaml	(revision 13502)
+++ /nodes/ZTWRijneke/wleiden.yaml	(revision 13503)
@@ -81,4 +81,5 @@
   channel    : "3"
   ssid       : "apw-ZTW-RijnekeBlvd"
+  dhcp       : "10-250"
   compass    : "n"
   ns_ip      : "172.17.73.2/24"
Index: /tools/gformat.py
===================================================================
--- /tools/gformat.py	(revision 13502)
+++ /tools/gformat.py	(revision 13503)
@@ -516,5 +516,9 @@
     if not datadump[iface_key].has_key('comment'):
       datadump[iface_key]['comment'] = None
-    dhcp_out[ifname].append("  ## %(autogen_ifname)s - %(comment)s\n" % datadump[iface_key])
+
+    if dhcp_type(datadump[iface_key]) != DHCP_SERVER:
+      dhcp_out[iface_key].append("  ## %(autogen_ifname)s - %(comment)s\n" % datadump[iface_key])
+    else:
+      dhcp_out[ifname].append("  ## %(autogen_ifname)s - %(comment)s\n" % datadump[iface_key])
 
     (addr, mask) = datadump[iface_key]['ip'].split('/')
@@ -523,5 +527,5 @@
     datadump[iface_key]['autogen_subnet'] = get_network(addr, mask)
     if dhcp_type(datadump[iface_key]) != DHCP_SERVER:
-      dhcp_out[ifname].append("  subnet %(autogen_subnet)s netmask %(autogen_netmask)s {\n    ### not autoritive\n  }\n" % \
+      dhcp_out[iface_key].append("  subnet %(autogen_subnet)s netmask %(autogen_netmask)s {\n    ### not autoritive\n  }\n" % \
         datadump[iface_key])
       continue
@@ -630,10 +634,16 @@
       dhclient_if[ifname] = dhcp_type(ifacedump) == DHCP_CLIENT
 
+    # DHCP interfaces are to be added to bridge0
+    if ifname.replace('_','.') in datadump['autogen_dhcp_interfaces']:
+      ifname_base = 'bridge0'
+    else:
+      ifname_base = ifname
+
     # Add interface IP to list
     item = (ifacedump['ip'], ifacedump['comment'])
-    if addrs_list.has_key(ifname):
-      addrs_list[ifname].append(item)
+    if addrs_list.has_key(ifname_base):
+      addrs_list[ifname_base].append(item)
     else:
-      addrs_list[ifname] = [item]
+      addrs_list[ifname_base] = [item]
 
     # Alias only needs IP assignment for now, this might change if we
@@ -765,5 +775,5 @@
   "
 
-  captive_portal_interfaces="{{ autogen_dhcp_interfaces|join(',')|default('none', true) }}"
+  captive_portal_interfaces="bridge0"
   externalif="{{ externalif|default('vr0', true) }}"
   masterip="{{ masterip }}"
@@ -832,5 +842,5 @@
     {% if autogen_dhcp_interfaces -%}
     dhcpd_enable="YES"
-    dhcpd_flags="$dhcpd_flags {{ autogen_dhcp_interfaces|join(' ') }}"
+    dhcpd_flags="$dhcpd_flags bridge0"
     {% endif -%}
   {% elif board == "apu1d" %}
@@ -842,5 +852,5 @@
     {% if autogen_dhcp_interfaces -%}
     dhcpd_enable="YES"
-    dhcpd_flags="$dhcpd_flags {{ autogen_dhcp_interfaces|join(' ') }}"
+    dhcpd_flags="$dhcpd_flags bridge0"
     {% endif -%}
   {% endif -%}
@@ -868,4 +878,8 @@
       output += "ifconfig_%s='up'\n" % iface
 
+  output += "\n"
+  output += "cloned_interfaces='bridge0'\n"
+  output += "ifconfig_bridge0='addm %s up'\n" % ' addm '.join(datadump['autogen_dhcp_interfaces'])
+
   # Details like SSID
   if extra_ouput:
@@ -879,5 +893,5 @@
 
     # Write DHCLIENT entry
-    if dhclient_if[iface]:
+    if iface in dhclient_if and dhclient_if[iface]:
       output += "ifconfig_%s='SYNCDHCP'\n\n" % (iface)
     
