From patchwork Sun Jun 14 11:17:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: wireguard: Use babel type wired for wireguard babel peers. From: Fabian Blaese X-Patchwork-Id: 1393 Message-Id: <20200614111705.481189-3-fabian@blaese.de> To: franken-dev@freifunk.net Date: Sun, 14 Jun 2020 13:17:05 +0200 The babel interface type 'tunnel' has some disadvantageous properties for our network. First, babel tries to evaluate the tunnel performance using the rtt. However, this makes the network quite unstable, as rtt might fluctuate a lot, especially on less reliable connections (e.g. LTE). Instead of fully falling back to an alternate route, this rtt evaluation leads to a lot of flapping routes. Additionally, rtt evaluation changes the metric of routes quite often, which leads to many unnessessary babel messages in our network. Also, babeld disables split-horizon processing on 'tunnel' interfaces per default. However, split-horizon processing can be done in our point-to-point tunnel setup without any issues and has the advantage of significantly reduced babel messages on a link with many uplink routes. Therefore, wireguard babel peers now use the interface type 'wired'. Signed-off-by: Fabian Bläse Reviewed-by: Johannes Kimmel Reviewed-by: Robert Langhammer --- src/packages/fff/fff-wireguard/files/etc/gateway.d/50-wireguard | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/fff/fff-wireguard/files/etc/gateway.d/50-wireguard b/src/packages/fff/fff-wireguard/files/etc/gateway.d/50-wireguard index 69a3d74..d95d522 100644 --- a/src/packages/fff/fff-wireguard/files/etc/gateway.d/50-wireguard +++ b/src/packages/fff/fff-wireguard/files/etc/gateway.d/50-wireguard @@ -126,7 +126,7 @@ configure() { babel_add_iifrules "$prefixname" || { echo "ERROR: Could not add iif-rules for wgpeer $name"; exit 1; } # add babel interface - babel_add_interface "$prefixname" "$prefixname" 'tunnel' "$rxcost" || { echo "ERROR: Could not add babeld interface for wgpeer $name"; exit 1; } + babel_add_interface "$prefixname" "$prefixname" 'wired' "$rxcost" || { echo "ERROR: Could not add babeld interface for wgpeer $name"; exit 1; } } config_load gateway