dnsmasq: add option broadcast to host sections
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 11 Oct 2013 18:33:15 +0000 (18:33 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 11 Oct 2013 18:33:15 +0000 (18:33 +0000)
There are certain consumer devices which are outliers in protocol conformance.
An example is Samsung bluray players, which require broadcast DHCP responses
(on Ethernet only, strangely not on Wifi).

By specifying:

config host
...
option broadcast 1

this will enable the response to be sent as an Ethernet broadcast and not as
a unicast.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38365 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/services/dnsmasq/Makefile
package/network/services/dnsmasq/files/dnsmasq.init

index 6938ba1..ae3662b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsmasq
 PKG_VERSION:=2.66
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq
index 560928b..561f89d 100644 (file)
@@ -163,6 +163,8 @@ dnsmasq() {
 
        dhcp_option_add "$cfg" "" 0
 
+       xappend "--dhcp-broadcast=tag:needs-broadcast"
+
        echo >> $CONFIGFILE
 }
 
@@ -270,7 +272,10 @@ dhcp_host_add() {
 
        config_get tag "$cfg" tag
 
-       xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}"
+       config_get_bool broadcast "$cfg" broadcast 0
+       [ "$broadcast" = "0" ] && broadcast=
+
+       xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}"
 }
 
 dhcp_tag_add() {