1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-12 10:31:51 +00:00

Add OpenVPN DCO

This commit is contained in:
Ycarus (Yannick Chabanois) 2023-12-13 10:56:25 +01:00
parent e1b86c3118
commit 63d19c4861
4 changed files with 74 additions and 1 deletions

View file

@ -85,7 +85,7 @@ MY_DEPENDS := \
(LINUX_5_15||LINUX_6_1):mptcpd (TARGET_x86||TARGET_x86_64):kmod-igc !TARGET_mvebu:kmod-mmc-spi kmod-macsec usbutils v2ray-core syslogd \
(TARGET_x86||TARGET_x86_64):kmod-mlx4-core \
!(TARGET_ips40xx||TARGET_ramips):iptables-mod-ndpi !(TARGET_ips40xx||TARGET_ramips):kmod-ipt-ndpi libip4tc libip6tc \
xray-core shadowsocks-rust-sslocal shadowsocks-rust-ssservice shadowsocks-rust-config luci-app-shadowsocks-rust (LINUX_5_4&&(TARGET_x86_64||aarch64)):kmod-tcp-bbr2
xray-core shadowsocks-rust-sslocal shadowsocks-rust-ssservice shadowsocks-rust-config luci-app-shadowsocks-rust (LINUX_5_4&&(TARGET_x86_64||aarch64)):kmod-tcp-bbr2 kmod-ovpn-dco-v2
# !TARGET_mvebu:kmod-usb-net-smsc75xx
# libnetfilter-conntrack ebtables ebtables-utils ip-full nstat \

View file

@ -45,9 +45,18 @@ if [ "$(uci -q get openvpn.omr.proto)" != "tcp-client" ]; then
set openvpn.omr.sndbuf=0
set openvpn.omr.rcvbuf=0
set openvpn.omr.route_delay=5
set openvpn.omr.disable_dco=1
commit openvpn
EOF
fi
if [ -z "$(uci -q get openvpn.omr.disable_dco)" ]; then
uci -q batch <<-EOF >/dev/null
set openvpn.omr.disable_dco=1
commit openvpn
EOF
fi
uci -q delete openvpn.omr.secret
uci -q delete openvpn.omr.ncp_disable=0

View file

@ -149,6 +149,7 @@ client
client_to_client
comp_noadapt
disable
disable_dco
disable_occ
down_pre
duplicate_cn

63
ovpn-dco/Makefile Normal file
View file

@ -0,0 +1,63 @@
#
# Copyright (C) 2021 Jianhui Zhao <zhaojh329@gmail.com>
# Copyright (C) 2023 Yannick Chabanois (Ycarus) <contact@openmptcprouter.com> for OpenMPTCProuter
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ovpn-dco
PKG_VERSION:=0.2.20231127
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/OpenVPN/ovpn-dco.git
PKG_SOURCE_VERSION:=c24380cdb8f5eef5a04059bbe82ad4ba4d3616c3
PKG_MAINTAINER:=Yannick Chabanois <contact@openmptcprouter.com>
PKG_LICENSE:=GPL-2.0-only
include $(INCLUDE_DIR)/package.mk
define KernelPackage/ovpn-dco-v2
SUBMENU:=Network Support
TITLE:=OpenVPN data channel offload
DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6
FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko
AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2)
endef
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
NOSTDINC_FLAGS += \
$(KERNEL_NOSTDINC_FLAGS) \
-I$(PKG_BUILD_DIR)/include \
-include $(PKG_BUILD_DIR)/linux-compat.h \
-I$(PKG_BUILD_DIR)/compat-include/
EXTRA_KCONFIG:= \
CONFIG_OVPN_DCO_V2=m
PKG_EXTMOD_SUBDIRS = drivers/net/ovpn-dco
MAKE_OPTS:= \
$(KERNEL_MAKE_FLAGS) \
M="$(PKG_BUILD_DIR)/drivers/net/ovpn-dco" \
NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
$(EXTRA_KCONFIG)
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" \
$(MAKE_OPTS) \
modules
endef
$(eval $(call KernelPackage,ovpn-dco-v2))