[packages] radvd: move the client option to the interface config, switch to lists for possible multiple values
git-svn-id: svn://svn.openwrt.org/openwrt/packages@25234 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
684dfcd7a8
commit
4749786c0d
ipv6/radvd/files
@ -3,12 +3,13 @@ config interface
|
|||||||
option AdvSendAdvert 1
|
option AdvSendAdvert 1
|
||||||
option AdvManagedFlag 0
|
option AdvManagedFlag 0
|
||||||
option AdvOtherConfigFlag 0
|
option AdvOtherConfigFlag 0
|
||||||
|
list client ''
|
||||||
option ignore 1
|
option ignore 1
|
||||||
|
|
||||||
config prefix
|
config prefix
|
||||||
option interface 'lan'
|
option interface 'lan'
|
||||||
# If not specified, a non-link-local prefix of the interface is used
|
# If not specified, a non-link-local prefix of the interface is used
|
||||||
option prefix ''
|
list prefix ''
|
||||||
option AdvOnLink 1
|
option AdvOnLink 1
|
||||||
option AdvAutonomous 1
|
option AdvAutonomous 1
|
||||||
option AdvRouterAddr 0
|
option AdvRouterAddr 0
|
||||||
@ -16,21 +17,16 @@ config prefix
|
|||||||
|
|
||||||
config route
|
config route
|
||||||
option interface 'lan'
|
option interface 'lan'
|
||||||
option prefix ''
|
list prefix ''
|
||||||
option ignore 1
|
option ignore 1
|
||||||
|
|
||||||
config rdnss
|
config rdnss
|
||||||
option interface 'lan'
|
option interface 'lan'
|
||||||
# If not specified, the link-local address of the interface is used
|
# If not specified, the link-local address of the interface is used
|
||||||
option addr ''
|
list addr ''
|
||||||
option ignore 1
|
option ignore 1
|
||||||
|
|
||||||
config dnssl
|
config dnssl
|
||||||
option interface 'lan'
|
option interface 'lan'
|
||||||
option suffix ''
|
list suffix ''
|
||||||
option ignore 1
|
|
||||||
|
|
||||||
config clients
|
|
||||||
option interface 'lan'
|
|
||||||
option client ''
|
|
||||||
option ignore 1
|
option ignore 1
|
||||||
|
@ -159,6 +159,18 @@ radvd_write_interface() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
config_get clients "$cfg" client
|
||||||
|
if [ -n "$clients" ]; then
|
||||||
|
printf '\n\tclients\n\t{\n'
|
||||||
|
|
||||||
|
for client in $clients; do
|
||||||
|
validate_ip6addr "$client" || continue
|
||||||
|
printf '\t\t%s;\n' "$client"
|
||||||
|
done
|
||||||
|
|
||||||
|
printf '\t};\n'
|
||||||
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -352,38 +364,6 @@ radvd_write_dnssl() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
radvd_write_clients() {
|
|
||||||
local cfg=$1
|
|
||||||
validate_varname "$cfg" || return 0
|
|
||||||
local ignore
|
|
||||||
local interfaces
|
|
||||||
local interface
|
|
||||||
local clients
|
|
||||||
local client
|
|
||||||
|
|
||||||
config_get_bool ignore "$cfg" ignore 0
|
|
||||||
[ "$ignore" -ne 0 ] && return 0
|
|
||||||
|
|
||||||
config_get interfaces "$cfg" interface
|
|
||||||
exist=0
|
|
||||||
for interface in $interfaces; do
|
|
||||||
[ "$INTERFACE" = "$interface" ] && exist=1
|
|
||||||
done
|
|
||||||
[ "$exist" -eq 0 ] && return 0
|
|
||||||
|
|
||||||
printf '\n\tclients\n\t{\n'
|
|
||||||
|
|
||||||
config_get clients "$cfg" client
|
|
||||||
for client in $clients; do
|
|
||||||
validate_ip6addr "$client" || continue
|
|
||||||
printf '\t\t%s;\n' "$client"
|
|
||||||
done
|
|
||||||
|
|
||||||
printf '\t};\n'
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
radvd_write_config() {
|
radvd_write_config() {
|
||||||
include /lib/network
|
include /lib/network
|
||||||
|
|
||||||
@ -393,7 +373,6 @@ radvd_write_config() {
|
|||||||
config_foreach radvd_add_interface route
|
config_foreach radvd_add_interface route
|
||||||
config_foreach radvd_add_interface RDNSS
|
config_foreach radvd_add_interface RDNSS
|
||||||
config_foreach radvd_add_interface DNSSL
|
config_foreach radvd_add_interface DNSSL
|
||||||
config_foreach radvd_add_interface clients
|
|
||||||
|
|
||||||
for INTERFACE in $RADVD_INTERFACES; do
|
for INTERFACE in $RADVD_INTERFACES; do
|
||||||
IFNAME=$(get_ifname "$INTERFACE") || continue
|
IFNAME=$(get_ifname "$INTERFACE") || continue
|
||||||
@ -403,7 +382,6 @@ radvd_write_config() {
|
|||||||
config_foreach radvd_write_route route
|
config_foreach radvd_write_route route
|
||||||
config_foreach radvd_write_rdnss rdnss
|
config_foreach radvd_write_rdnss rdnss
|
||||||
config_foreach radvd_write_dnssl dnssl
|
config_foreach radvd_write_dnssl dnssl
|
||||||
config_foreach radvd_write_clients clients
|
|
||||||
printf '};\n\n'
|
printf '};\n\n'
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user