diff --git a/src/packages/fff/fff-babeld/files/etc/config/babeld b/src/packages/fff/fff-babeld/files/etc/config/babeld index a62788a0..e3a7584f 100644 --- a/src/packages/fff/fff-babeld/files/etc/config/babeld +++ b/src/packages/fff/fff-babeld/files/etc/config/babeld @@ -22,6 +22,11 @@ config filter option local 'true' option ip 'fd43:5602:29bd::/48' +config filter + option type 'redistribute' + option local 'true' + option interface 'lo' + config filter option type 'redistribute' option local 'true' diff --git a/src/packages/fff/fff-babeld/files/etc/layer3.d/40-babel b/src/packages/fff/fff-babeld/files/etc/layer3.d/40-babel index c238cc16..4675e98f 100644 --- a/src/packages/fff/fff-babeld/files/etc/layer3.d/40-babel +++ b/src/packages/fff/fff-babeld/files/etc/layer3.d/40-babel @@ -70,9 +70,7 @@ configure() { # peer_ip uci -q delete "network.$prefixname.ipaddr" - uci -q delete "network.$prefixname.ip6addr" babel_add_peeraddr "network.$prefixname.ipaddr" - babel_add_peer6addr "network.$prefixname.ip6addr" # add babel interface 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 babel_add_redistribute_filter "$prefix" 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() { diff --git a/src/packages/fff/fff-babeld/files/lib/functions/fff/babel b/src/packages/fff/fff-babeld/files/lib/functions/fff/babel index 3b2c7dac..46506174 100644 --- a/src/packages/fff/fff-babeld/files/lib/functions/fff/babel +++ b/src/packages/fff/fff-babeld/files/lib/functions/fff/babel @@ -47,20 +47,6 @@ babel_add_peeraddr() { 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() { [ "$#" -ne "4" ] && return 1 diff --git a/src/packages/fff/fff-wireguard/files/etc/layer3.d/50-wireguard b/src/packages/fff/fff-wireguard/files/etc/layer3.d/50-wireguard index d95d522f..0426452a 100644 --- a/src/packages/fff/fff-wireguard/files/etc/layer3.d/50-wireguard +++ b/src/packages/fff/fff-wireguard/files/etc/layer3.d/50-wireguard @@ -120,7 +120,6 @@ configure() { # add peer_ip babel_add_peeraddr "network.$prefixname.addresses" - babel_add_peer6addr "network.$prefixname.addresses" # add iif-rules babel_add_iifrules "$prefixname" || { echo "ERROR: Could not add iif-rules for wgpeer $name"; exit 1; }