Index: trunk/package/dnsmasq/files/dnsmasq.init
===================================================================
--- trunk/package/dnsmasq/files/dnsmasq.init	(revision 31572)
+++ trunk/package/dnsmasq/files/dnsmasq.init	(working copy)
@@ -224,16 +224,37 @@
 
 	config_get name "$cfg" name
 	config_get ip "$cfg" ip
-	[ -n "$ip" ] || [ -n "$name" ] || return 0
+	[ -n "$ip" -o -n "$name" ] || return 0
 
 	macs=""
 	config_get mac "$cfg" mac
 	for m in $mac; do append macs "$m" ","; done
 	[ -n "$macs" ] || return 0
 
-	xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${ip:+,$ip}${name:+,$name}"
+	config_get tag "$cfg" tag
+
+	xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}"
 }
 
+append_option() {
+	append options "$1" ","
+}
+
+dhcp_tag_add() {
+	local cfg="$1"
+
+	config_get tag "$cfg" name
+	[ -n "$tag" ] || return 0
+
+	options=""
+	config_list_foreach "$cfg" "dhcp_option" append_option
+
+	config_get force "$cfg" force 0
+	[ "$force" = "0" ] && force=
+
+	xappend "--dhcp-option${force:+-force}=tag:$tag,$options"
+}
+
 dhcp_mac_add() {
 	local cfg="$1"
 
@@ -435,6 +456,7 @@
 	echo >> $CONFIGFILE
 	config_foreach dhcp_boot_add boot
 	config_foreach dhcp_mac_add mac
+	config_foreach dhcp_tag_add tag
 	config_foreach dhcp_vendorclass_add vendorclass
 	config_foreach dhcp_userclass_add userclass
 	config_foreach dhcp_circuitid_add circuitid
