From: blogic Date: Fri, 26 Feb 2016 08:35:48 +0000 (+0000) Subject: dnsmasq: add dhcp relay option X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=commitdiff_plain;h=0768da9cbc5fef569f65df76e57cb70497f721eb dnsmasq: add dhcp relay option Signed-off-by: dbugnar git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48800 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 90e3dc4d39..0904503fac 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -546,6 +546,24 @@ dhcp_hostrecord_add() { xappend "--host-record=$record" } +dhcp_relay_add() { + local cfg="$1" + local local_addr server_addr interface + + config_get local_addr "$cfg" local_addr + [ -n "$local_addr" ] || return 0 + + config_get server_addr "$cfg" server_addr + [ -n "$server_addr" ] || return 0 + + config_get interface "$cfg" interface + if [ -z "$interface" ]; then + xappend "--dhcp-relay=$local_addr,$server_addr" + else + xappend "--dhcp-relay=$local_addr,$server_addr,$interface" + fi +} + service_triggers() { procd_add_reload_trigger "dhcp" @@ -594,6 +612,7 @@ start_service() { config_foreach dhcp_subscrid_add subscrid config_foreach dhcp_domain_add domain config_foreach dhcp_hostrecord_add hostrecord + config_foreach dhcp_relay_add relay # add own hostname [ $ADD_LOCAL_HOSTNAME -eq 1 ] && {