[openwrt/openwrt] netifd: add defaultreqopts config option
LEDE Commits
lede-commits at lists.infradead.org
Thu Feb 1 12:46:23 PST 2018
dedeckeh pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/60e07ffec5d797ffae4417a8b8fc1854158e8faf
commit 60e07ffec5d797ffae4417a8b8fc1854158e8faf
Author: Hans Dedecker <dedeckeh at gmail.com>
AuthorDate: Thu Feb 1 15:12:58 2018 +0100
netifd: add defaultreqopts config option
By default udhcpc asks for a default list of options; the config option
defaultreqopts allows to tweak this behavior.
When set to 0 udhcpc will not ask for any options except for the options
specified in the reqopts config option.
Signed-off-by: Hans Dedecker <dedeckeh at gmail.com>
---
package/network/config/netifd/Makefile | 2 +-
package/network/config/netifd/files/lib/netifd/proto/dhcp.sh | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/package/network/config/netifd/Makefile b/package/network/config/netifd/Makefile
index bb9ba2f..efa7480 100644
--- a/package/network/config/netifd/Makefile
+++ b/package/network/config/netifd/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=netifd
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
diff --git a/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh b/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
index 143e445..385cfc3 100755
--- a/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
+++ b/package/network/config/netifd/files/lib/netifd/proto/dhcp.sh
@@ -14,6 +14,7 @@ proto_dhcp_init_config() {
proto_config_add_boolean 'broadcast:bool'
proto_config_add_boolean 'release:bool'
proto_config_add_string 'reqopts:list(string)'
+ proto_config_add_boolean 'defaultreqopts:bool'
proto_config_add_string iface6rd
proto_config_add_string sendopts
proto_config_add_boolean delegate
@@ -28,8 +29,8 @@ proto_dhcp_setup() {
local config="$1"
local iface="$2"
- local ipaddr hostname clientid vendorid broadcast release reqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes classlessroute
- json_get_vars ipaddr hostname clientid vendorid broadcast release reqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes classlessroute
+ local ipaddr hostname clientid vendorid broadcast release reqopts defaultreqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes classlessroute
+ json_get_vars ipaddr hostname clientid vendorid broadcast release reqopts defaultreqopts iface6rd sendopts delegate zone6rd zone mtu6rd customroutes classlessroute
local opt dhcpopts
for opt in $reqopts; do
@@ -41,6 +42,7 @@ proto_dhcp_setup() {
done
[ -z "$hostname" ] && hostname="$(cat /proc/sys/kernel/hostname)"
+ [ "$defaultreqopts" = 0 ] && defaultreqopts="-o" || defaultreqopts=
[ "$broadcast" = 1 ] && broadcast="-B" || broadcast=
[ "$release" = 1 ] && release="-R" || release=
[ -n "$clientid" ] && clientid="-x 0x3d:${clientid//:/}" || clientid="-C"
@@ -62,7 +64,7 @@ proto_dhcp_setup() {
${ipaddr:+-r $ipaddr} \
${hostname:+-x "hostname:$hostname"} \
${vendorid:+-V "$vendorid"} \
- $clientid $broadcast $release $dhcpopts
+ $clientid $defaultreqopts $broadcast $release $dhcpopts
}
proto_dhcp_renew() {
More information about the lede-commits
mailing list