From 8d93475e795fba02b45611de3f54234b8f6ec88f Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sun, 6 Jun 2021 15:27:31 +0200 Subject: [PATCH] olsrd: add filtergw plugin The plugin adds a possibility to filter out gateway HNAs. This can be very handy e.g. for faulty nodes. A gateway can be taken out directly on a central node and all traffic is then redirected. Also the underlying smart gateways are adapted. Currently the link multiplier is often used to control a faulty node, but it is not necessarily the best way to do so. Signed-off-by: Nick Hainke (cherry picked from commit bdec65a6d91025cb05ceea9ea962320bf26e5987) --- olsrd/Makefile | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/olsrd/Makefile b/olsrd/Makefile index a3c21dc..c6d193e 100644 --- a/olsrd/Makefile +++ b/olsrd/Makefile @@ -54,6 +54,13 @@ define Package/olsrd-mod-dot-draw TITLE:=Dot topology information plugin endef + +define Package/olsrd-mod-filtergw + $(call Package/olsrd/template) + DEPENDS:=olsrd + TITLE:=Filter Gateway plugin +endef + define Package/olsrd-mod-bmf $(call Package/olsrd/template) DEPENDS:=olsrd +kmod-tun @@ -174,7 +181,7 @@ MAKE_FLAGS+= \ DESTDIR="$(PKG_INSTALL_DIR)" \ STRIP="true" \ INSTALL_LIB="true" \ - SUBDIRS="arprefresh bmf dot_draw dyn_gw dyn_gw_plain httpinfo jsoninfo netjson mdns nameservice p2pd pgraph pud quagga secure sgwdynspeed txtinfo watchdog" + SUBDIRS="arprefresh bmf dot_draw dyn_gw dyn_gw_plain httpinfo filtergw jsoninfo netjson mdns nameservice p2pd pgraph pud quagga secure sgwdynspeed txtinfo watchdog" define Build/Compile $(call Build/Compile/Default,all) @@ -199,6 +206,11 @@ define Package/olsrd-mod-arprefresh/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/arprefresh/olsrd_arprefresh.so.* $(1)/usr/lib/ endef +define Package/olsrd-mod-filtergw/install + $(INSTALL_DIR) $(1)/usr/lib + $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/filtergw/olsrd_filtergw.so.* $(1)/usr/lib/ +endef + define Package/olsrd-mod-dot-draw/install $(INSTALL_DIR) $(1)/usr/lib $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dot_draw/olsrd_dot_draw.so.* $(1)/usr/lib/ @@ -300,6 +312,7 @@ endef $(eval $(call BuildPackage,olsrd)) $(eval $(call BuildPackage,olsrd-mod-arprefresh)) $(eval $(call BuildPackage,olsrd-mod-dot-draw)) +$(eval $(call BuildPackage,olsrd-mod-filtergw)) $(eval $(call BuildPackage,olsrd-mod-bmf)) $(eval $(call BuildPackage,olsrd-mod-dyn-gw)) $(eval $(call BuildPackage,olsrd-mod-dyn-gw-plain))