unetd: update to the latest version, makes VXLAN/eBPF optional
authorFelix Fietkau <nbd@nbd.name>
Mon, 29 Aug 2022 18:54:28 +0000 (20:54 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 29 Aug 2022 18:55:49 +0000 (20:55 +0200)
b75791a6db25 scripts/update-cmd.pl: reorder add/remove calls to better deal with dynamic changes
c29e1ad045d0 scripts/update-cmd.pl: set device up before adding routes/addresses
5ad35ce4beea scripts/update-cmd.pl: run update two times
5d79b88f00c1 add support for overriding peer-exchange-port for individual hosts
0041fcacb624 add support for disabling VXLAN/eBPF support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/services/unetd/Makefile

index b09edd95c5455893c9ef6e2b972540e6afdba36b..f692f26974dc9eef1347b997dcb46ee782f0a422 100644 (file)
@@ -10,9 +10,9 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=unetd
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/unetd.git
-PKG_SOURCE_DATE:=2022-08-28
-PKG_SOURCE_VERSION:=74a14c00abb07d2d8c79c61c459f70d28764dee6
-PKG_MIRROR_HASH:=3f575f66d8addd887a194a809c8aa932f79e9a2c6000566fc0c947137bc8b2c8
+PKG_SOURCE_DATE:=2022-08-29
+PKG_SOURCE_VERSION:=0041fcacb62492653a1054098ec7d811d8eaacbf
+PKG_MIRROR_HASH:=1aad05af0c4015dc7c07936e504a2c03ceacf676c5c15902c2049a63fab60428
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
@@ -21,6 +21,8 @@ PKG_BUILD_DEPENDS:=bpf-headers
 
 PKG_BUILD_PARALLEL:=1
 
+PKG_CONFIG_DEPENDS += CONFIG_UNETD_VXLAN_SUPPORT
+
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
 include $(INCLUDE_DIR)/bpf.mk
@@ -30,7 +32,16 @@ define Package/unetd
   SECTION:=net
   CATEGORY:=Network
   TITLE:=WireGuard based VPN connection manager for OpenWrt
-  DEPENDS:=+libubox +libubus +libblobmsg-json +libnl-tiny +kmod-wireguard +libbpf $(BPF_DEPENDS)
+  DEPENDS:=+libubox +libubus +libblobmsg-json +libnl-tiny +kmod-wireguard +UNETD_VXLAN_SUPPORT:libbpf
+endef
+
+define Package/unetd/config
+       config UNETD_VXLAN_SUPPORT
+               bool "VXLAN support"
+               depends on PACKAGE_unetd
+               depends on HAS_BPF_TOOLCHAIN
+               default y
+
 endef
 
 define Package/unet-cli
@@ -45,12 +56,15 @@ TARGET_CFLAGS += \
        -I$(STAGING_DIR)/usr/include
 
 CMAKE_OPTIONS += \
-       -DLIBNL_LIBS=-lnl-tiny
+       -DLIBNL_LIBS=-lnl-tiny \
+       -DVXLAN_SUPPORT=$(if $(CONFIG_UNETD_VXLAN_SUPPORT),ON,OFF)
 
-define Build/Compile
+ifdef CONFIG_UNETD_VXLAN_SUPPORT
+  define Build/Compile
        $(call CompileBPF,$(PKG_BUILD_DIR)/mss-bpf.c)
        $(call Build/Compile/Default,)
-endef
+  endef
+endif
 
 define Package/unetd/conffiles
 /etc/unetd
@@ -69,7 +83,7 @@ define Package/unetd/install
                $(PKG_INSTALL_DIR)/usr/sbin/unetd \
                $(PKG_INSTALL_DIR)/usr/sbin/unet-tool \
                $(1)/usr/sbin/
-       $(INSTALL_DATA) $(PKG_BUILD_DIR)/mss-bpf.o $(1)/lib/bpf/mss.o
+       $(if $(CONFIG_UNETD_VXLAN_SUPPORT),$(INSTALL_DATA) $(PKG_BUILD_DIR)/mss-bpf.o $(1)/lib/bpf/mss.o)
        $(INSTALL_BIN) ./files/unetd.init $(1)/etc/init.d/unetd
        $(INSTALL_BIN) ./files/unetd.sh $(1)/lib/netifd/proto
 endef