[packages] olsrd: add support for InterfaceDefaults section
git-svn-id: svn://svn.openwrt.org/openwrt/packages@24257 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
2ebb6c73c4
commit
f9f5ad0e80
@ -3,10 +3,11 @@
|
|||||||
# Special thanks to bittorf wireless ))
|
# Special thanks to bittorf wireless ))
|
||||||
START=65
|
START=65
|
||||||
|
|
||||||
OLSRD_OLSRD_SCHEMA='ignore:internal config_file:internal DebugLevel=0'
|
OLSRD_OLSRD_SCHEMA='ignore:internal config_file:internal DebugLevel=0 AllowNoInt=yes'
|
||||||
OLSRD_IPCCONNECT_SCHEMA='ignore:internal Host:list Net:list2'
|
OLSRD_IPCCONNECT_SCHEMA='ignore:internal Host:list Net:list2'
|
||||||
OLSRD_LOADPLUGIN_SCHEMA='ignore:internal library:internal Host4:list Net4:list2 Host:list Net:list2 Host6:list Net6:list2 Ping:list redistribute:list NonOlsrIf:list name:list lat lon latlon_infile HNA:list2 hosts:list2'
|
OLSRD_LOADPLUGIN_SCHEMA='ignore:internal library:internal Host4:list Net4:list2 Host:list Net:list2 Host6:list Net6:list2 Ping:list redistribute:list NonOlsrIf:list name:list lat lon latlon_infile HNA:list2 hosts:list2'
|
||||||
OLSRD_INTERFACE_SCHEMA='ignore:internal interface:internal AutoDetectChanges:bool'
|
OLSRD_INTERFACE_SCHEMA='ignore:internal interface:internal AutoDetectChanges:bool'
|
||||||
|
OLSRD_INTERFACE_DEFAULTS_SCHEMA='AutoDetectChanges:bool'
|
||||||
|
|
||||||
T=' '
|
T=' '
|
||||||
N='
|
N='
|
||||||
@ -127,7 +128,7 @@ olsrd_write_option() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$value" != "${value%%[G-Zg-z_-]*}" ]; then
|
if [ "$value" != "${value%%[G-Zg-z_-]*}" ]; then
|
||||||
if [ "$option" != "Ip6AddrType" -a "$value" != "yes" -a "$value" != "no" ]; then
|
if [ "$option" != "Ip6AddrType" -a "$option" != "LinkQualityMult" -a "$value" != "yes" -a "$value" != "no" ]; then
|
||||||
value="\"$value\""
|
value="\"$value\""
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -502,6 +503,17 @@ olsrd_write_interface() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
olsrd_write_interface_defaults() {
|
||||||
|
local cfg="$1"
|
||||||
|
validate_varname "$cfg" || return 0
|
||||||
|
|
||||||
|
echo -n "${N}InterfaceDefaults$ifnames${N}{"
|
||||||
|
config_write_options "$OLSRD_INTERFACE_DEFAULTS_SCHEMA" "$cfg" olsrd_write_option "${T}"
|
||||||
|
echo "${N}}"
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
olsrd_update_schema() {
|
olsrd_update_schema() {
|
||||||
local command="$1"
|
local command="$1"
|
||||||
validate_varname "$command" || return 0
|
validate_varname "$command" || return 0
|
||||||
@ -518,6 +530,7 @@ olsrd_update_schema() {
|
|||||||
IpcConnect) config_update_schema OLSRD_IPCCONNECT_SCHEMA "$command" "$varname" "$value";;
|
IpcConnect) config_update_schema OLSRD_IPCCONNECT_SCHEMA "$command" "$varname" "$value";;
|
||||||
LoadPlugin) config_update_schema OLSRD_LOADPLUGIN_SCHEMA "$command" "$varname" "$value";;
|
LoadPlugin) config_update_schema OLSRD_LOADPLUGIN_SCHEMA "$command" "$varname" "$value";;
|
||||||
Interface) config_update_schema OLSRD_INTERFACE_SCHEMA "$command" "$varname" "$value";;
|
Interface) config_update_schema OLSRD_INTERFACE_SCHEMA "$command" "$varname" "$value";;
|
||||||
|
InterfaceDefaults) config_update_schema OLSRD_INTERFACE_DEFAULTS_SCHEMA "$command" "$varname" "$value";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
@ -537,6 +550,7 @@ olsrd_write_config() {
|
|||||||
[ "$HNA6_COUNT" -gt 0 ] && echo "${N}}"
|
[ "$HNA6_COUNT" -gt 0 ] && echo "${N}}"
|
||||||
config_foreach olsrd_write_loadplugin LoadPlugin
|
config_foreach olsrd_write_loadplugin LoadPlugin
|
||||||
INTERFACES_COUNT=0
|
INTERFACES_COUNT=0
|
||||||
|
config_foreach olsrd_write_interface_defaults InterfaceDefaults
|
||||||
config_foreach olsrd_write_interface Interface
|
config_foreach olsrd_write_interface Interface
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@ -581,6 +595,7 @@ start() {
|
|||||||
bindv6only="$(sysctl -n net.ipv6.bindv6only)"
|
bindv6only="$(sysctl -n net.ipv6.bindv6only)"
|
||||||
sysctl -w net.ipv6.bindv6only=1
|
sysctl -w net.ipv6.bindv6only=1
|
||||||
sed -e 's/^\t\t[0-9.]*[ ][0-9.]*$//' < "$OLSRD_CONFIG_FILE" > /var/etc/olsrd.conf.ipv6
|
sed -e 's/^\t\t[0-9.]*[ ][0-9.]*$//' < "$OLSRD_CONFIG_FILE" > /var/etc/olsrd.conf.ipv6
|
||||||
|
sed -i '/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/d' /var/etc/olsrd.conf.ipv6
|
||||||
olsrd -f /var/etc/olsrd.conf.ipv6 -nofork < /dev/null > /dev/null &
|
olsrd -f /var/etc/olsrd.conf.ipv6 -nofork < /dev/null > /dev/null &
|
||||||
|
|
||||||
sed -e 's/^IpVersion[ ][ ]*6$/IpVersion 4/' -e 's/^\t\t[A-Fa-f0-9.:]*[:][A-Fa-f0-9.:]*[ ][0-9]*$//' < "$OLSRD_CONFIG_FILE" > /var/etc/olsrd.conf.ipv4
|
sed -e 's/^IpVersion[ ][ ]*6$/IpVersion 4/' -e 's/^\t\t[A-Fa-f0-9.:]*[:][A-Fa-f0-9.:]*[ ][0-9]*$//' < "$OLSRD_CONFIG_FILE" > /var/etc/olsrd.conf.ipv4
|
||||||
|
Loading…
x
Reference in New Issue
Block a user