dnsmasq: allow forcing options
The option 'force' when set to '1' will transform a dhcp-option to dhcp-option-force instead in the config. This is useful for forcing options to be sent back to a client (even options it didn't ask for). Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> SVN-Revision: 31816
This commit is contained in:
parent
38cf8379b0
commit
0e540ec90d
1 changed files with 25 additions and 8 deletions
|
@ -157,7 +157,9 @@ dhcp_subscrid_add() {
|
||||||
|
|
||||||
xappend "--dhcp-subscrid=$networkid,$subscriberid"
|
xappend "--dhcp-subscrid=$networkid,$subscriberid"
|
||||||
|
|
||||||
dhcp_option_add "$cfg" "$networkid"
|
config_get_bool force "$cfg" force 0
|
||||||
|
|
||||||
|
dhcp_option_add "$cfg" "$networkid" "$force"
|
||||||
}
|
}
|
||||||
|
|
||||||
dhcp_remoteid_add() {
|
dhcp_remoteid_add() {
|
||||||
|
@ -171,7 +173,9 @@ dhcp_remoteid_add() {
|
||||||
|
|
||||||
xappend "--dhcp-remoteid=$networkid,$remoteid"
|
xappend "--dhcp-remoteid=$networkid,$remoteid"
|
||||||
|
|
||||||
dhcp_option_add "$cfg" "$networkid"
|
config_get_bool force "$cfg" force 0
|
||||||
|
|
||||||
|
dhcp_option_add "$cfg" "$networkid" "$force"
|
||||||
}
|
}
|
||||||
|
|
||||||
dhcp_circuitid_add() {
|
dhcp_circuitid_add() {
|
||||||
|
@ -185,7 +189,9 @@ dhcp_circuitid_add() {
|
||||||
|
|
||||||
xappend "--dhcp-circuitid=$networkid,$circuitid"
|
xappend "--dhcp-circuitid=$networkid,$circuitid"
|
||||||
|
|
||||||
dhcp_option_add "$cfg" "$networkid"
|
config_get_bool force "$cfg" force 0
|
||||||
|
|
||||||
|
dhcp_option_add "$cfg" "$networkid" "$force"
|
||||||
}
|
}
|
||||||
|
|
||||||
dhcp_userclass_add() {
|
dhcp_userclass_add() {
|
||||||
|
@ -199,7 +205,9 @@ dhcp_userclass_add() {
|
||||||
|
|
||||||
xappend "--dhcp-userclass=$networkid,$userclass"
|
xappend "--dhcp-userclass=$networkid,$userclass"
|
||||||
|
|
||||||
dhcp_option_add "$cfg" "$networkid"
|
config_get_bool force "$cfg" force 0
|
||||||
|
|
||||||
|
dhcp_option_add "$cfg" "$networkid" "$force"
|
||||||
}
|
}
|
||||||
|
|
||||||
dhcp_vendorclass_add() {
|
dhcp_vendorclass_add() {
|
||||||
|
@ -213,14 +221,18 @@ dhcp_vendorclass_add() {
|
||||||
|
|
||||||
xappend "--dhcp-vendorclass=$networkid,$vendorclass"
|
xappend "--dhcp-vendorclass=$networkid,$vendorclass"
|
||||||
|
|
||||||
dhcp_option_add "$cfg" "$networkid"
|
config_get_bool force "$cfg" force 0
|
||||||
|
|
||||||
|
dhcp_option_add "$cfg" "$networkid" "$force"
|
||||||
}
|
}
|
||||||
|
|
||||||
dhcp_host_add() {
|
dhcp_host_add() {
|
||||||
local cfg="$1"
|
local cfg="$1"
|
||||||
|
|
||||||
|
config_get_bool force "$cfg" force 0
|
||||||
|
|
||||||
config_get networkid "$cfg" networkid
|
config_get networkid "$cfg" networkid
|
||||||
[ -n "$networkid" ] && dhcp_option_add "$cfg" "$networkid"
|
[ -n "$networkid" ] && dhcp_option_add "$cfg" "$networkid" "$force"
|
||||||
|
|
||||||
config_get name "$cfg" name
|
config_get name "$cfg" name
|
||||||
config_get ip "$cfg" ip
|
config_get ip "$cfg" ip
|
||||||
|
@ -282,7 +294,9 @@ dhcp_boot_add() {
|
||||||
|
|
||||||
xappend "--dhcp-boot=${networkid:+net:$networkid,}$filename,$servername,$serveraddress"
|
xappend "--dhcp-boot=${networkid:+net:$networkid,}$filename,$servername,$serveraddress"
|
||||||
|
|
||||||
dhcp_option_add "$cfg" "$networkid"
|
config_get_bool force "$cfg" force 0
|
||||||
|
|
||||||
|
dhcp_option_add "$cfg" "$networkid" "$force"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -342,10 +356,13 @@ dhcp_add() {
|
||||||
dhcp_option_add() {
|
dhcp_option_add() {
|
||||||
local cfg="$1"
|
local cfg="$1"
|
||||||
local networkid="$2"
|
local networkid="$2"
|
||||||
|
local force="$3"
|
||||||
|
|
||||||
|
[ "$force" = "0" ] && force=
|
||||||
|
|
||||||
config_get dhcp_option "$cfg" dhcp_option
|
config_get dhcp_option "$cfg" dhcp_option
|
||||||
for o in $dhcp_option; do
|
for o in $dhcp_option; do
|
||||||
xappend "--dhcp-option=$networkid","$o"
|
xappend "--dhcp-option${force:+-force}=$networkid","$o"
|
||||||
done
|
done
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue