ovpn-dco: Update to v0.2.20230426
authorMartin Schiller <ms@dev.tdt.de>
Wed, 28 Jun 2023 07:08:52 +0000 (09:08 +0200)
committerRosen Penev <rosenp@gmail.com>
Tue, 25 Jul 2023 05:50:06 +0000 (22:50 -0700)
OpenVPN 2.6.2+ changes the way OpenVPN control packets are handled on
Linux when DCO is active, fixing the lockups observed with 2.6.0/2.6.1
under high client connect/disconnect activity. This is an INCOMPATIBLE
change and therefore an ovpn-dco kernel module older than v0.2.20230323
(commit ID 726fdfe0fa21) will not work anymore and must be upgraded.
The kernel module was renamed to "ovpn-dco-v2.ko" in order to highlight
this change and ensure that users and userspace software could easily
understand which version is loaded. Attempting to use the old ovpn-dco
with 2.6.2+ will lead to disabling DCO at runtime.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
kernel/ovpn-dco/Makefile

index e278a0eb3e1abc99861f49e3aa8bf550957e21f2..53ab890ae444b3ff33ae3d192a981755e6693714 100644 (file)
@@ -9,13 +9,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ovpn-dco
-PKG_SOURCE_DATE:=2022-10-23
-PKG_RELEASE:=3
+PKG_VERSION:=0.2.20230426
+PKG_RELEASE:=1
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL=https://github.com/OpenVPN/ovpn-dco.git
-PKG_SOURCE_VERSION:=d1d53564e17d807aed2b945ea3d4ec35bdd9f09b
-PKG_MIRROR_HASH:=d3152623383676d314cb6e4861cadeebfe75b0cf9b2607c86cce1f3953d906ed
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL=https://codeload.github.com/OpenVPN/ovpn-dco/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=f8ba335026d7d0d73e9ee121fd1a3b4b6f5e8ad5b604d4cc16f943ae46784a85
 
 PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
 PKG_LICENSE:=GPL-2.0-only
@@ -23,15 +22,15 @@ PKG_LICENSE:=GPL-2.0-only
 
 include $(INCLUDE_DIR)/package.mk
 
-define KernelPackage/ovpn-dco
+define KernelPackage/ovpn-dco-v2
   SUBMENU:=Network Support
   TITLE:=OpenVPN data channel offload
   DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +kmod-udptunnel6
-  FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco.ko
-  AUTOLOAD:=$(call AutoLoad,30,ovpn-dco)
+  FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko
+  AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2)
 endef
 
-define KernelPackage/ovpn-dco/description
+define KernelPackage/ovpn-dco-v2/description
   This module enhances the performance of the OpenVPN userspace software
   by offloading the data channel processing to kernelspace.
 endef
@@ -42,7 +41,7 @@ NOSTDINC_FLAGS += \
        -include $(PKG_BUILD_DIR)/linux-compat.h
 
 EXTRA_KCONFIG:= \
-       CONFIG_OVPN_DCO=m
+       CONFIG_OVPN_DCO_V2=m
 
 PKG_EXTMOD_SUBDIRS = drivers/net/ovpn-dco
 
@@ -58,4 +57,4 @@ define Build/Compile
                modules
 endef
 
-$(eval $(call KernelPackage,ovpn-dco))
+$(eval $(call KernelPackage,ovpn-dco-v2))