Skip to content

Commit

Permalink
dnsmasq: add procd interface index tracking
Browse files Browse the repository at this point in the history
Problem exist when dnsmasq is exclusively bind to particular interface.
After reconfiguring or restarting this interface, its index changes, but
dnsmasq uses the old one. When this problem occurs, dnsmasq does not
listen on the correct interface so DHCP does not work, and clients do not
get an IP address. Procd netdev param can be added to restart dnsmasq when
the interface index is changed.

Signed-off-by: Valentyn Datsko <valikk.d@gmail.com>
[combined into a single &&-connected statement]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  • Loading branch information
Valentyn Datsko authored and dangowrt committed Apr 6, 2022
1 parent 64f629e commit 76f55e3
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions package/network/services/dnsmasq/files/dnsmasq.init
Expand Up @@ -1156,6 +1156,11 @@ dnsmasq_start()
[ -n "$user_dhcpscript" ] && procd_set_param env USER_DHCPSCRIPT="$user_dhcpscript"
procd_set_param respawn

local instance_ifc instance_netdev
config_get instance_ifc "$cfg" interface
[ -n "$instance_ifc" ] && network_get_device instance_netdev "$instance_ifc" &&
[ -n "$instance_netdev" ] && procd_set_param netdev $instance_netdev

procd_add_jail dnsmasq ubus log
procd_add_jail_mount $CONFIGFILE $DHCPBOGUSHOSTNAMEFILE $DHCPSCRIPT $DHCPSCRIPT_DEPENDS
procd_add_jail_mount $EXTRA_MOUNT $RFC6761FILE $TRUSTANCHORSFILE
Expand Down

0 comments on commit 76f55e3

Please sign in to comment.