From 328beebe32de54942fffe6f115339e108aad0ef2 Mon Sep 17 00:00:00 2001 From: Fabian Blaese Date: Sun, 14 Jun 2020 13:17:05 +0200 Subject: [PATCH] fff-wireguard: Use babel type wired for wireguard babel peers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 [bump PKG_RELEASE, adjust commit title prefix] Signed-off-by: Adrian Schmutzler --- src/packages/fff/fff-wireguard/Makefile | 2 +- src/packages/fff/fff-wireguard/files/etc/gateway.d/50-wireguard | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/packages/fff/fff-wireguard/Makefile b/src/packages/fff/fff-wireguard/Makefile index 66138ec..dc51c18 100644 --- a/src/packages/fff/fff-wireguard/Makefile +++ b/src/packages/fff/fff-wireguard/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-wireguard -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_BUILD_DIR:=$(BUILD_DIR)/fff-wireguard 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