diff -u dhcpcd-3.2.3-suse/dhcp.c dhcpcd-3.2.3-more-params/dhcp.c
--- dhcpcd-3.2.3-suse/dhcp.c	2008-02-25 09:28:19.000000000 +0100
+++ dhcpcd-3.2.3-more-params/dhcp.c	2008-09-09 09:42:58.000000000 +0200
@@ -312,6 +312,11 @@
 			*p++ = DHCP_ROOTPATH;
 			*p++ = DHCP_SIPSERVER;
 #endif
+			*p++ = DHCP_LPRSERVER;
+			*p++ = DHCP_LOGSERVER;
+			*p++ = DHCP_NETBIOSNAMESERVER;
+			*p++ = DHCP_NETBIOSDDSERVER;
+			*p++ = DHCP_NETBIOSSCOPE;
 		}
 
 		*n_params = p - n_params - 1;
@@ -474,6 +479,12 @@
 		free (dhcp->fqdn->name);
 		free (dhcp->fqdn);
 	}
+	free (dhcp->lprservers);
+	free (dhcp->logservers);
+	free (dhcp->netbiosnameservers);
+	free (dhcp->netbiosddservers);
+	free (dhcp->netbiosscope);
+	free (dhcp->netbiosnodetype);
 }
 
 static bool dhcp_add_address (struct address_head **addresses,
@@ -787,6 +798,13 @@
 				GETSTR (dhcp->nisdomain);
 				break;
 #endif
+			case DHCP_NETBIOSNODETYPE:
+				GETSTR (dhcp->netbiosnodetype);
+				break;
+			case DHCP_NETBIOSSCOPE:
+				GETSTR (dhcp->netbiosscope);
+				break;
+
 #undef GETSTR
 
 #define GETADDR(_var) \
@@ -809,6 +827,18 @@
 				GETADDR (dhcp->nisservers);
 				break;
 #endif
+			case DHCP_LPRSERVER:
+				GETADDR (dhcp->lprservers);
+				break;
+			case DHCP_LOGSERVER:
+				GETADDR (dhcp->logservers);
+				break;
+			case DHCP_NETBIOSNAMESERVER:
+				GETADDR (dhcp->netbiosnameservers);
+				break;
+			case DHCP_NETBIOSDDSERVER:
+				GETADDR (dhcp->netbiosddservers);
+				break;
 #undef GETADDR
 
 			case DHCP_DNSSEARCH:
diff -u dhcpcd-3.2.3-suse/dhcp.h dhcpcd-3.2.3-more-params/dhcp.h
--- dhcpcd-3.2.3-suse/dhcp.h	2008-02-25 09:28:19.000000000 +0100
+++ dhcpcd-3.2.3-more-params/dhcp.h	2008-09-03 11:20:52.000000000 +0200
@@ -74,18 +74,47 @@
 	DHCP_DNSSERVER              = 6,
 	DHCP_LOGSERVER              = 7,
 	DHCP_COOKIESERVER           = 8,
+	DHCP_LPRSERVER              = 9,
+	DHCP_IMPRESSSERVER          = 10,
+	DHCP_RLSSERVER              = 11,
 	DHCP_HOSTNAME               = 12,
+	DHCP_BOOTFILESIZE           = 13,
+	DHCP_MERITDUMPFILE          = 14,
 	DHCP_DNSDOMAIN              = 15,
+	DHCP_SWAPSERVER             = 16,
 	DHCP_ROOTPATH               = 17,
+	DHCP_EXTENTIONSPATH         = 18,
+	DHCP_IPFORWARDING           = 19,
+	DHCP_NONLOCALSOURCEROUTING  = 20,
+	DHCP_POLICYFILTER           = 21,
+        DHCP_MAXDGRAMREASMSIZE      = 22,
 	DHCP_DEFAULTIPTTL           = 23,
+	DHCP_PATHMTUAGINGTIMEOUT    = 24,
+	DHCP_PATHMTUPLATEAUTABLE    = 25,
 	DHCP_MTU                    = 26,
+	DHCP_ALLSUBNETSLOCAL        = 27,
 	DHCP_BROADCAST              = 28,
 	DHCP_MASKDISCOVERY          = 29,
+	DHCP_MASKSUPPLIER           = 30,
 	DHCP_ROUTERDISCOVERY        = 31,
+	DHCP_ROUTERSOLICITATIONADDR = 32,
 	DHCP_STATICROUTE            = 33,
+	DHCP_TRAILERENCAPSULATION   = 34,
+	DHCP_ARPCACHETIMEOUT        = 35,
+	DHCP_ETHERNETENCAPSULATION  = 36,
+	DHCP_TCPDEFAULTTTL          = 37,
+	DHCP_TCPKEEPALIVEINTERVAL   = 38,
+	DHCP_TCPKEEPALIVEGARBAGE    = 39,
 	DHCP_NISDOMAIN              = 40,
 	DHCP_NISSERVER              = 41,
 	DHCP_NTPSERVER              = 42,
+	DHCP_VENDORSPECIFICINFO     = 43,
+	DHCP_NETBIOSNAMESERVER      = 44,
+	DHCP_NETBIOSDDSERVER        = 45,
+	DHCP_NETBIOSNODETYPE        = 46,
+	DHCP_NETBIOSSCOPE           = 47,
+	DHCP_XFONTSERVER            = 48,
+	DHCP_XDISPLAYMANAGER        = 49,
 	DHCP_ADDRESS                = 50,
 	DHCP_LEASETIME              = 51,
 	DHCP_OPTIONSOVERLOADED      = 52,
@@ -164,6 +193,14 @@
 	char *rootpath;
 
 	bool frominfo;
+
+	struct address_head  *lprservers;
+	struct address_head  *logservers;
+	struct address_head  *netbiosnameservers;
+	struct address_head  *netbiosddservers;
+	char      *netbiosscope;
+	char      *netbiosnodetype;
+
 } dhcp_t;
 
 /* Sizes for DHCP options */
diff -u dhcpcd-3.2.3-suse/info.c dhcpcd-3.2.3-more-params/info.c
--- dhcpcd-3.2.3-suse/info.c	2008-02-25 09:28:19.000000000 +0100
+++ dhcpcd-3.2.3-more-params/info.c	2008-09-09 09:46:24.000000000 +0200
@@ -245,6 +245,48 @@
 	}
 #endif
 
+	if (dhcp->lprservers) {
+		address_t *addr;
+		fprintf (f, "LPRSERVER='");
+		STAILQ_FOREACH (addr, dhcp->lprservers, entries) {
+			fprintf (f, "%s", inet_ntoa (addr->address));
+			if (STAILQ_NEXT (addr, entries))
+				fprintf (f, ",");
+		}
+		fprintf (f, "'\n");
+	}
+	if (dhcp->logservers) {
+		address_t *addr;
+		fprintf (f, "LOGSERVER='");
+		STAILQ_FOREACH (addr, dhcp->logservers, entries) {
+			fprintf (f, "%s", inet_ntoa (addr->address));
+			if (STAILQ_NEXT (addr, entries))
+				fprintf (f, ",");
+		}
+		fprintf (f, "'\n");
+	}
+	if (dhcp->netbiosnameservers) {
+		address_t *addr;
+		fprintf (f, "NETBIOSNAMESERVER='");
+		STAILQ_FOREACH (addr, dhcp->netbiosnameservers, entries) {
+			fprintf (f, "%s", inet_ntoa (addr->address));
+			if (STAILQ_NEXT (addr, entries))
+				fprintf (f, ",");
+		}
+		fprintf (f, "'\n");
+	}
+	if (dhcp->netbiosddservers) {
+		address_t *addr;
+		fprintf (f, "NETBIOSDDSERVER='");
+		STAILQ_FOREACH (addr, dhcp->netbiosddservers, entries) {
+			fprintf (f, "%s", inet_ntoa (addr->address));
+			if (STAILQ_NEXT (addr, entries))
+				fprintf (f, ",");
+		}
+		fprintf (f, "'\n");
+	}
+	print_clean (f, "NETBIOSSCOPE", dhcp->netbiosscope);
+	print_clean (f, "NETBIOSNODETYPE", dhcp->netbiosnodetype);
 	if (! options->test)
 		fclose (f);
 	return (true);
@@ -459,6 +501,16 @@
 			parse_uint (&dhcp->renewaltime, value, "RENEWALTIME");
 		else if (strcmp (var, "REBINDTIME") == 0)
 			parse_uint (&dhcp->rebindtime, value, "REBINDTIME");
+		else if (strcmp (var, "LPRSERVER") == 0)
+			dhcp->lprservers = parse_addresses (value, "LPRSERVER");
+		else if (strcmp (var, "LOGSERVER") == 0)
+			dhcp->logservers = parse_addresses (value, "LOGSERVER");
+		else if (strcmp (var, "NETBIOSSCOPE") == 0)
+			dhcp->netbiosscope = xstrdup (value);
+		else if (strcmp (var, "NETBIOSNAMESERVER") == 0)
+			dhcp->netbiosnameservers = parse_addresses (value, "NETBIOSNAMESERVER");
+		else if (strcmp (var, "NETBIOSDDSERVER") == 0)
+			dhcp->netbiosddservers = parse_addresses (value, "NETBIOSDDSERVER");
 
 next:
 		free (line);
