isc-dhcp: force sending unrequested parameters
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
This commit is contained in:
parent
0e652e2449
commit
f9be61715f
2 changed files with 22 additions and 1 deletions
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||||
PKG_NAME:=isc-dhcp
|
PKG_NAME:=isc-dhcp
|
||||||
UPSTREAM_NAME:=dhcp
|
UPSTREAM_NAME:=dhcp
|
||||||
PKG_VERSION:=4.4.3-P1
|
PKG_VERSION:=4.4.3-P1
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_LICENSE:=BSD-3-Clause
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
|
|
@ -274,6 +274,7 @@ static_srvhosts() {
|
||||||
static_host_add() {
|
static_host_add() {
|
||||||
local cfg="$1"
|
local cfg="$1"
|
||||||
local broadcast hostid macn macs mac name ip ips revip leasetime
|
local broadcast hostid macn macs mac name ip ips revip leasetime
|
||||||
|
local force_send extra_options option
|
||||||
|
|
||||||
config_get macs "$cfg" "mac"
|
config_get macs "$cfg" "mac"
|
||||||
[ -n "$macs" ] || return 0
|
[ -n "$macs" ] || return 0
|
||||||
|
@ -296,6 +297,23 @@ static_host_add() {
|
||||||
hex_to_hostid hostid "$hostid" || return 1
|
hex_to_hostid hostid "$hostid" || return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
config_get force_send "$cfg" "force_send"
|
||||||
|
extra_options=
|
||||||
|
local _IFS="$IFS" IFS=','
|
||||||
|
for option in $force_send; do
|
||||||
|
case "$option" in
|
||||||
|
hostname)
|
||||||
|
extra_options="$extra_options${extra_options:+ }0c" ;;
|
||||||
|
domain-name)
|
||||||
|
extra_options="$extra_options${extra_options:+ }0f" ;;
|
||||||
|
fqdn)
|
||||||
|
extra_options="$extra_options${extra_options:+ }51" ;;
|
||||||
|
*)
|
||||||
|
echo "unknown option: $option" >&2 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
IFS="$_IFS"
|
||||||
|
|
||||||
macn=0
|
macn=0
|
||||||
for mac in $macs; do
|
for mac in $macs; do
|
||||||
macn=$(( macn + 1 ))
|
macn=$(( macn + 1 ))
|
||||||
|
@ -328,6 +346,9 @@ static_host_add() {
|
||||||
fi
|
fi
|
||||||
config_list_foreach "$cfg" "routes" append_routes
|
config_list_foreach "$cfg" "routes" append_routes
|
||||||
config_list_foreach "$cfg" "dhcp_option" append_dhcp_options
|
config_list_foreach "$cfg" "dhcp_option" append_dhcp_options
|
||||||
|
if [ -n "$extra_options" ]; then
|
||||||
|
echo -e " if exists dhcp-parameter-request-list {\n option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list, $extra_options);\n }"
|
||||||
|
fi
|
||||||
echo "}"
|
echo "}"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue