Index: tools/gformat.py
===================================================================
--- tools/gformat.py	(revision 10885)
+++ tools/gformat.py	(revision 10887)
@@ -97,4 +97,17 @@
 datadump_cache = {}
 
+NO_DHCP = 0
+DHCP_CLIENT = 10
+DHCP_SERVER = 20
+def dhcp_type(item):
+  if not item.has_key('dhcp'):
+    return NO_DHCP
+  elif not item['dhcp']:
+    return NO_DHCP
+  elif item['dhcp'].lower() == 'client':
+    return DHCP_CLIENT
+  else:
+    return DHCP_SERVER
+
 def get_yaml(item):
   try:
@@ -139,5 +152,7 @@
       raise
 
-    dhcp_interfaces = [datadump[key]['autogen_ifname'] for key in datadump['autogen_iface_keys'] if (datadump[key].has_key('dhcp') and datadump[key]['dhcp'])]
+    dhcp_interfaces = [datadump[key]['autogen_ifname'] for key in datadump['autogen_iface_keys'] \
+      if dhcp_type(datadump[key]) == DHCP_SERVER]
+
     datadump['autogen_dhcp_interfaces'] = dhcp_interfaces
     datadump['autogen_item'] = item
@@ -433,4 +448,6 @@
     datadump[iface_key]['autogen_subnet'] = get_network(addr, mask)
     try:
+      if dhcp_type(datadump[iface_key]) != DHCP_SERVER:
+        raise ValueError
       (dhcp_start, dhcp_stop) = datadump[iface_key]['dhcp'].split('-')
     except (AttributeError, ValueError, KeyError):
@@ -678,5 +695,5 @@
 
     # Flag dhclient is possible
-    dhclient_if[ifname] = ifacedump.has_key('dhcpclient') and ifacedump['dhcpclient']
+    dhclient_if[ifname] = dhcp_type(ifacedump) == DHCP_CLIENT
 
     # Add interface IP to list
@@ -948,5 +965,4 @@
     ('ssid', False),
     ('dhcp', True),
-    ('dhcpclient', False),
     ('compass', False),
     ('distance', False),
