summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZoltán Böszörményi <zboszor@gmail.com>2025-08-14 10:40:48 +0200
committerKhem Raj <raj.khem@gmail.com>2025-08-14 07:40:09 -0700
commitdf6a14a27c81675f31da3c488d35f07ee413afb5 (patch)
tree687dc3281eed573fb6de095e7d0fcae5b540ec74
parent70a9c5ca6e73b10bd7a9cd8bda9e77d5111998b6 (diff)
downloadmeta-openembedded-df6a14a27c81675f31da3c488d35f07ee413afb5.tar.gz
openvpn: Add PACKAGECONFIG for data channel offload
Moved the iproute2 backend enablement into a new PACKAGECONFIG. It is enabled to keep the current defaults. Added the explicit runtime dependency on iproute2-ip (the "ip" command) which this backend requires. Added a new PACKAGECONFIG[dco] which enables the libnl backend, which is mutually incompatible with iproute2 backend in OpenVPN. With these: PACKAGECONFIG:remove = "iproute2" PACKAGECONFIG:append = " dco" the data channel offload is enabled: checking for LIBNL_GENL... yes configure: Enabled ovpn-dco support for Linux With Linux kernel 6.16 or newer, and CONFIG_OVPN enabled, the data channel offload will be used. Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn_2.6.14.bb7
1 files changed, 5 insertions, 2 deletions
diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.6.14.bb b/meta-networking/recipes-support/openvpn/openvpn_2.6.14.bb
index 67ea09fad5..8627c7812d 100644
--- a/meta-networking/recipes-support/openvpn/openvpn_2.6.14.bb
+++ b/meta-networking/recipes-support/openvpn/openvpn_2.6.14.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://openvpn.net/"
3SECTION = "net" 3SECTION = "net"
4LICENSE = "GPL-2.0-only" 4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=89196bacc47ed37a5b242a535661a049" 5LIC_FILES_CHKSUM = "file://COPYING;md5=89196bacc47ed37a5b242a535661a049"
6DEPENDS = "lzo lz4 openssl iproute2 libcap-ng ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} ${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)} " 6DEPENDS = "lzo lz4 openssl libcap-ng ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} ${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)} "
7 7
8inherit autotools systemd update-rc.d pkgconfig ptest 8inherit autotools systemd update-rc.d pkgconfig ptest
9 9
@@ -26,7 +26,6 @@ INITSCRIPT_PARAMS:${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ."
26CFLAGS += "-fno-inline" 26CFLAGS += "-fno-inline"
27 27
28# I want openvpn to be able to read password from file (hrw) 28# I want openvpn to be able to read password from file (hrw)
29EXTRA_OECONF += "--enable-iproute2"
30EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}" 29EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
31 30
32# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host. 31# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
@@ -38,8 +37,12 @@ EXTRA_OECONF += "SYSTEMD_UNIT_DIR=${systemd_system_unitdir} \
38 37
39PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ 38PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
40 ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ 39 ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
40 iproute2 \
41 " 41 "
42 42
43# dco and iproute2 are mutually incompatible
44PACKAGECONFIG[dco] = ",--disable-dco,libnl"
45PACKAGECONFIG[iproute2] = "--enable-iproute2,,iproute2,iproute2-ip"
43PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" 46PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
44PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" 47PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
45 48