From 990278c91645f66357f3fc461770aa37baff9e89 Mon Sep 17 00:00:00 2001 From: jow Date: Fri, 11 Oct 2013 18:33:15 +0000 Subject: [PATCH] dnsmasq: add option broadcast to host sections 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38365 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/network/services/dnsmasq/Makefile | 2 +- package/network/services/dnsmasq/files/dnsmasq.init | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/package/network/services/dnsmasq/Makefile b/package/network/services/dnsmasq/Makefile index 6938ba154a..ae3662b3f5 100644 --- a/package/network/services/dnsmasq/Makefile +++ b/package/network/services/dnsmasq/Makefile @@ -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 diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 560928b764..561f89d33d 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -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() { -- 2.11.0