summaryrefslogtreecommitdiff
path: root/packages/linux-kernel
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2023-07-15 14:13:50 +0200
committerChristian Breunig <christian@breunig.cc>2023-07-15 14:13:50 +0200
commit087e7b27868999c689f40c0fc846e6ce11de7ae6 (patch)
tree70adee6870418feb5c0a22259e5fb5eb5f4d9b9c /packages/linux-kernel
parentbf51cc0514800a096aa738e8a7b37e0416d8599a (diff)
downloadvyos-build-087e7b27868999c689f40c0fc846e6ce11de7ae6.tar.gz
vyos-build-087e7b27868999c689f40c0fc846e6ce11de7ae6.zip
Kernel: T4974: add OpenVPN Data Channel Offload (DCO) package
Diffstat (limited to 'packages/linux-kernel')
-rw-r--r--packages/linux-kernel/.gitignore1
-rw-r--r--packages/linux-kernel/Jenkinsfile4
-rwxr-xr-xpackages/linux-kernel/build-openvpn-dco.sh33
3 files changed, 38 insertions, 0 deletions
diff --git a/packages/linux-kernel/.gitignore b/packages/linux-kernel/.gitignore
index b3c05f66..bde74f5e 100644
--- a/packages/linux-kernel/.gitignore
+++ b/packages/linux-kernel/.gitignore
@@ -4,6 +4,7 @@
/accel-ppp
/intel-qat
/linux-firmware
+/ovpn-dco
/qat*
/QAT*
*.tar.xz
diff --git a/packages/linux-kernel/Jenkinsfile b/packages/linux-kernel/Jenkinsfile
index e7a156b8..41f6956c 100644
--- a/packages/linux-kernel/Jenkinsfile
+++ b/packages/linux-kernel/Jenkinsfile
@@ -58,6 +58,10 @@ def pkgList = [
// Jool
['name': 'jool', 'buildCmd': 'cd ..; ./build-jool.py'],
+
+ // OpenVPN DCO
+ ['name': 'ovpn-dco', 'buildCmd': 'cd ..; ./build-openvpn-dco.sh'],
+
]
// Start package build using library function from https://github.com/vyos/vyos-build
diff --git a/packages/linux-kernel/build-openvpn-dco.sh b/packages/linux-kernel/build-openvpn-dco.sh
new file mode 100755
index 00000000..6207410b
--- /dev/null
+++ b/packages/linux-kernel/build-openvpn-dco.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+CWD=$(pwd)
+KERNEL_VAR_FILE=${CWD}/kernel-vars
+
+SRC=${CWD}/ovpn-dco
+if [ ! -d ${SRC} ]; then
+ echo "OpenVPN DCO source not found"
+ exit 1
+fi
+
+if [ ! -f ${KERNEL_VAR_FILE} ]; then
+ echo "Kernel variable file '${KERNEL_VAR_FILE}' does not exist, run ./build_kernel.sh first"
+ exit 1
+fi
+
+. ${KERNEL_VAR_FILE}
+
+cd ${SRC} && make KERNEL_SRC=$KERNEL_DIR
+
+# Copy binary to package directory
+DEBIAN_DIR=lib/modules/${KERNEL_VERSION}${KERNEL_SUFFIX}/extra
+mkdir -p ${DEBIAN_DIR}
+cp drivers/net/ovpn-dco/ovpn-dco-v2.ko ${DEBIAN_DIR}
+
+# Build Debian Package
+fpm --input-type dir --output-type deb --name vyos-openvpn-dco \
+ --version $(git describe | sed s/^v//) --deb-compression gz \
+ --maintainer "VyOS Package Maintainers <maintainers@vyos.net>" \
+ --description "OpenVPN Data Channel Offload" \
+ --depends linux-image-${KERNEL_VERSION}${KERNEL_SUFFIX} \
+ --license "GPL2" -C ${DEBIAN_DIR}
+
+mv *.deb ..