From 31866435a162938151cb55c8ec3059a2ea470eab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= Date: Sun, 2 Aug 2020 18:43:33 +0200 Subject: [PATCH] fff-layer3-config: Add script to set wan vlan/interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allow setting WAN vlan/interface from gateway config. A configuration without explicit definition of a WAN interface is valid at the moment and results in the default configuration from fff-network being used. Originally, it was intended to automatically set WAN to vlan 2, if nothing was specified. As this would break devices, which don't use swconfig for WAN, the already configured WAN interface is left untouched. Fixes: #85 (gitea) Signed-off-by: Fabian Bläse Reviewed-by: Christian Dresel Reviewed-by: Robert Langhammer --- src/packages/fff/fff-layer3-config/Makefile | 2 +- .../files/etc/layer3.d/30-network-wan | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/packages/fff/fff-layer3-config/files/etc/layer3.d/30-network-wan diff --git a/src/packages/fff/fff-layer3-config/Makefile b/src/packages/fff/fff-layer3-config/Makefile index d9be8265..7a7588c0 100644 --- a/src/packages/fff/fff-layer3-config/Makefile +++ b/src/packages/fff/fff-layer3-config/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fff-layer3-config -PKG_RELEASE:=5 +PKG_RELEASE:=6 include $(INCLUDE_DIR)/package.mk diff --git a/src/packages/fff/fff-layer3-config/files/etc/layer3.d/30-network-wan b/src/packages/fff/fff-layer3-config/files/etc/layer3.d/30-network-wan new file mode 100644 index 00000000..17d8b0b0 --- /dev/null +++ b/src/packages/fff/fff-layer3-config/files/etc/layer3.d/30-network-wan @@ -0,0 +1,21 @@ +# load board specific properties +BOARD="$(uci get board.model.name)" +. /etc/network.$BOARD + +configure() { + if vlan=$(uci -q get gateway.@wan[0].vlan); then + uci set network.wan.ifname="${SWITCHDEV}.$vlan" + elif iface=$(uci -q get gateway.@wan[0].iface); then + uci set network.wan.ifname="$iface" + else + echo "WARNING: No vlan/interface for WAN specified. The default setting won't be overwritten." + fi +} + +apply() { + uci commit network +} + +revert() { + uci revert network +}