From 087e7b27868999c689f40c0fc846e6ce11de7ae6 Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Sat, 15 Jul 2023 14:13:50 +0200 Subject: Kernel: T4974: add OpenVPN Data Channel Offload (DCO) package --- packages/linux-kernel/.gitignore | 1 + packages/linux-kernel/Jenkinsfile | 4 ++++ packages/linux-kernel/build-openvpn-dco.sh | 33 ++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100755 packages/linux-kernel/build-openvpn-dco.sh (limited to 'packages/linux-kernel') 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 " \ + --description "OpenVPN Data Channel Offload" \ + --depends linux-image-${KERNEL_VERSION}${KERNEL_SUFFIX} \ + --license "GPL2" -C ${DEBIAN_DIR} + +mv *.deb .. -- cgit v1.2.3