fff-babeld: redistribute all peer_ip and peer_ip6 addresses #87
|
@ -22,6 +22,11 @@ config filter
|
||||||
option local 'true'
|
option local 'true'
|
||||||
option ip 'fd43:5602:29bd::/48'
|
option ip 'fd43:5602:29bd::/48'
|
||||||
|
|
||||||
|
config filter
|
||||||
|
option type 'redistribute'
|
||||||
|
option local 'true'
|
||||||
|
option interface 'lo'
|
||||||
|
|
||||||
config filter
|
config filter
|
||||||
option type 'redistribute'
|
option type 'redistribute'
|
||||||
option local 'true'
|
option local 'true'
|
||||||
|
|
|
@ -70,9 +70,7 @@ configure() {
|
||||||
|
|
||||||
# peer_ip
|
# peer_ip
|
||||||
uci -q delete "network.$prefixname.ipaddr"
|
uci -q delete "network.$prefixname.ipaddr"
|
||||||
uci -q delete "network.$prefixname.ip6addr"
|
|
||||||
babel_add_peeraddr "network.$prefixname.ipaddr"
|
babel_add_peeraddr "network.$prefixname.ipaddr"
|
||||||
babel_add_peer6addr "network.$prefixname.ip6addr"
|
|
||||||
|
|
||||||
# add babel interface
|
# add babel interface
|
||||||
babel_add_interface "$prefixname" "$iface" "$type" "$rxcost" || { echo "Could not add babeld interface for babelpeer $name"; exit 1; }
|
babel_add_interface "$prefixname" "$iface" "$type" "$rxcost" || { echo "Could not add babeld interface for babelpeer $name"; exit 1; }
|
||||||
|
@ -90,6 +88,21 @@ configure() {
|
||||||
for prefix in $(uci -q get gateway.@client[0].ip6addr); do
|
for prefix in $(uci -q get gateway.@client[0].ip6addr); do
|
||||||
babel_add_redistribute_filter "$prefix"
|
babel_add_redistribute_filter "$prefix"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# clean up old peer ips
|
||||||
|
uci -q del network.loopback.ipaddr
|
||||||
|
uci -q del network.loopback.ip6addr
|
||||||
|
|
||||||
|
# remove netmask entry that ships by default
|
||||||
|
uci -q del network.loopback.netmask
|
||||||
|
|
||||||
|
# re-add loopback addresses
|
||||||
|
uci -q add_list network.loopback.ipaddr="127.0.0.1/8"
|
||||||
|
uci -q add_list network.loopback.ip6addr="::1/128"
|
||||||
|
|
||||||
|
# add peer ips to lo to be redistributed
|
||||||
|
peerip=$(uci -q get gateway.@gateway[0].peer_ip) && uci -q add_list network.loopback.ipaddr="${peerip}/32"
|
||||||
|
peerip6=$(uci -q get gateway.@gateway[0].peer_ip6) && uci -q add_list network.loopback.ip6addr="${peerip6}/128"
|
||||||
}
|
}
|
||||||
|
|
||||||
apply() {
|
apply() {
|
||||||
|
|
|
@ -47,20 +47,6 @@ babel_add_peeraddr() {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
babel_add_peer6addr() {
|
|
||||||
[ "$#" -ne "1" ] && return 1
|
|
||||||
|
|
||||||
local option="$1"
|
|
||||||
|
|
||||||
if peer_ip6=$(uci -q get gateway.@gateway[0].peer_ip6); then
|
|
||||||
uci add_list "$option"="$peer_ip6"
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
babel_add_interface() {
|
babel_add_interface() {
|
||||||
[ "$#" -ne "4" ] && return 1
|
[ "$#" -ne "4" ] && return 1
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,6 @@ configure() {
|
||||||
|
|
||||||
# add peer_ip
|
# add peer_ip
|
||||||
babel_add_peeraddr "network.$prefixname.addresses"
|
babel_add_peeraddr "network.$prefixname.addresses"
|
||||||
babel_add_peer6addr "network.$prefixname.addresses"
|
|
||||||
|
|
||||||
# add iif-rules
|
# add iif-rules
|
||||||
babel_add_iifrules "$prefixname" || { echo "ERROR: Could not add iif-rules for wgpeer $name"; exit 1; }
|
babel_add_iifrules "$prefixname" || { echo "ERROR: Could not add iif-rules for wgpeer $name"; exit 1; }
|
||||||
|
|
Loading…
Reference in New Issue