mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 15:38:40 +01:00
Merge pull request #13153 from pprindeville/isc-dhcp-add-routes
isc-dhcp: add support for RFC-3442 classless IPv4 routes
This commit is contained in:
@@ -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.1
|
PKG_VERSION:=4.4.1
|
||||||
PKG_RELEASE:=7
|
PKG_RELEASE:=8
|
||||||
|
|
||||||
PKG_LICENSE:=BSD-3-Clause
|
PKG_LICENSE:=BSD-3-Clause
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
|
|||||||
Regular → Executable
+33
@@ -131,6 +131,36 @@ typeof() {
|
|||||||
'
|
'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
explode() {
|
||||||
|
local arg="$1"
|
||||||
|
|
||||||
|
echo "$arg" | sed -e 's/\./, /g'
|
||||||
|
}
|
||||||
|
|
||||||
|
append_routes() {
|
||||||
|
local tuple tuples="$1"
|
||||||
|
local string=
|
||||||
|
|
||||||
|
local IFS=','
|
||||||
|
for tuple in $tuples; do
|
||||||
|
local network prefix router save octets compacted
|
||||||
|
|
||||||
|
save="${tuple% *}"
|
||||||
|
router="${tuple#${save} }"
|
||||||
|
|
||||||
|
network="${save%/[0-9]*}"
|
||||||
|
prefix="${save##${network}}"
|
||||||
|
prefix="${prefix:1}"
|
||||||
|
|
||||||
|
octets=$((($prefix + 7) / 8))
|
||||||
|
compacted="$(echo "$network" | cut -d. -f1-$octets)"
|
||||||
|
|
||||||
|
string="${string:+, }$(explode "$prefix.$compacted.$router")"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo " option classless-ipv4-route $string;"
|
||||||
|
}
|
||||||
|
|
||||||
append_dhcp_options() {
|
append_dhcp_options() {
|
||||||
local tuple="$1"
|
local tuple="$1"
|
||||||
|
|
||||||
@@ -178,6 +208,7 @@ gen_dhcp_subnet() {
|
|||||||
fi
|
fi
|
||||||
echo " option routers $gateway;"
|
echo " option routers $gateway;"
|
||||||
echo " option domain-name-servers $DNS;"
|
echo " option domain-name-servers $DNS;"
|
||||||
|
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
|
||||||
echo "}"
|
echo "}"
|
||||||
}
|
}
|
||||||
@@ -264,6 +295,8 @@ general_config() {
|
|||||||
|
|
||||||
[ -n "$domain" ] && echo "option domain-name \"$domain\";"
|
[ -n "$domain" ] && echo "option domain-name \"$domain\";"
|
||||||
|
|
||||||
|
echo -e "\n# additional codes\noption classless-ipv4-route code 121 = array of { unsigned integer 8 };\n"
|
||||||
|
|
||||||
rm -f /tmp/resolv.conf
|
rm -f /tmp/resolv.conf
|
||||||
echo "# This file is generated by the DHCPD service" > /tmp/resolv.conf
|
echo "# This file is generated by the DHCPD service" > /tmp/resolv.conf
|
||||||
[ -n "$domain" ] && echo "domain $domain" >> /tmp/resolv.conf
|
[ -n "$domain" ] && echo "domain $domain" >> /tmp/resolv.conf
|
||||||
|
|||||||
Reference in New Issue
Block a user