Closed oukb closed 8 months ago
The code you are trying to compile is old. I am poking the package maintainer to get some help to upgrade it.
@oukb Hi, I'm the Fedora Copr maintainer of ovpn-dco.
Can you test this test package? I'm in the middle of sorting out some packaging dependency challenges, but if this works I know I can push this further - at least for the Fedora 37/38 distros
@dsommers, your package was built without errors
DKMS make.log for ovpn-dco-0.1.20230206.1.fc37 for kernel 6.2.8-200.fc37.x86_64 (x86_64)
Fri Mar 31 04:14:56 PM UTC 2023
make: Entering directory '/var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build'
/var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/gen-compat-autoconf.sh /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/compat-autoconf.h
make -C /lib/modules/6.2.8-200.fc37.x86_64/build M=/var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build PWD=/var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build REVISION=ovpn:0.1.20230206.1.fc37 CONFIG_OVPN_DCO=m INSTALL_MOD_DIR=updates/ modules
make[1]: Entering directory '/usr/src/kernels/6.2.8-200.fc37.x86_64'
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/main.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/bind.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/crypto.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/ovpn.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/sock.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/peer.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/stats.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/netlink.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/crypto_aead.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/pktid.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/tcp.o
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/udp.o
LD [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/ovpn-dco.o
MODPOST /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/Module.symvers
CC [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/ovpn-dco.mod.o
LD [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/ovpn-dco.ko
BTF [M] /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/ovpn-dco.ko
Skipping BTF generation for /var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build/drivers/net/ovpn-dco/ovpn-dco.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/kernels/6.2.8-200.fc37.x86_64'
make: Leaving directory '/var/lib/dkms/ovpn-dco/0.1.20230206.1.fc37/build'
and I already built my own dkms rpm from master and it was ok, but I had to rename module to ovpn-dco-v2
Okay, that rename is a different aspect. The coming OpenVPN 2.6.3 will require a newer ovpn-dco API, which is provided in ovpn-dco-v2
, while the openvpn-2.6.0 to 2.6.2 (and openvpn3-linux v20 and older) require the older API, provided by the ovpn-dco
module.
kernel: OpenVPN data channel offload (ovpn-dco) ovpn:0.1.20230206.1.fc37 -- (C) 2020-2022 OpenVPN, Inc.
Thank you for the package and for the clarification.
Hi,
On Fri, Mar 31, 2023 at 09:46:33AM -0700, David Sommerseth wrote:
Okay, that rename is a different aspect. The coming OpenVPN 2.6.3 will require a newer ovpn-dco API, which is provided in
ovpn-dco-v2
, while the openvpn-2.6.0 to 2.6.2 (and openvpn3-linux v20 and older) require the older API, provided by theovpn-dco
module.
Close :-) - 2.6.2 already requires ovpn-dco-v2.
2.6.3 is just a mini bugfix unrelated to DCO (so far)
gert
-- "If was one thing all people took for granted, was conviction that if you feed honest figures into a computer, honest figures come out. Never doubted it myself till I met a computer with a sense of humor." Robert A. Heinlein, The Moon is a Harsh Mistress
Gert Doering - Munich, Germany @.***
build error on Centos 8 Stream
master branch gcc-8.5.0 kernel 4.18.0-481.el8.x86_64
make -C /lib/modules/4.18.0-481.el8.x86_64/build M=/root/src/openvpn/ovpn-dco PWD=/root/src/openvpn/ovpn-dco REVISION=0.2.20230323-5-g961c60d CONFIG_OVPN_DCO_V2=m INSTALL_MOD_DIR=updates/ modules
make[1]: Entering directory '/usr/src/kernels/4.18.0-481.el8.x86_64'
CC [M] /root/src/openvpn/ovpn-dco/drivers/net/ovpn-dco/main.o
In file included from <command-line>:
/root/src/openvpn/ovpn-dco/linux-compat.h:53:20: error: redefinition of ‘dev_sw_netstats_tx_add’
static inline void dev_sw_netstats_tx_add(struct net_device *dev,
^~~~~~~~~~~~~~~~~~~~~~
In file included from /root/src/openvpn/ovpn-dco/linux-compat.h:51,
from <command-line>:
./include/linux/netdevice.h:2725:20: note: previous definition of ‘dev_sw_netstats_tx_add’ was here
static inline void dev_sw_netstats_tx_add(struct net_device *dev,
^~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
/root/src/openvpn/ovpn-dco/linux-compat.h:79:20: error: redefinition of ‘dev_sw_netstats_rx_add’
static inline void dev_sw_netstats_rx_add(struct net_device *dev, unsigned int len)
^~~~~~~~~~~~~~~~~~~~~~
In file included from /root/src/openvpn/ovpn-dco/linux-compat.h:51,
from <command-line>:
./include/linux/netdevice.h:2715:20: note: previous definition of ‘dev_sw_netstats_rx_add’ was here
static inline void dev_sw_netstats_rx_add(struct net_device *dev, unsigned int len)
^~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:318: /root/src/openvpn/ovpn-dco/drivers/net/ovpn-dco/main.o] Error 1
make[2]: *** [scripts/Makefile.build:558: /root/src/openvpn/ovpn-dco/drivers/net/ovpn-dco] Error 2
make[1]: *** [Makefile:1616: _module_/root/src/openvpn/ovpn-dco] Error 2
make[1]: Leaving directory '/usr/src/kernels/4.18.0-481.el8.x86_64'
make: *** [Makefile:59: all] Error 2
@oukb - I've filed #32 for the Stream 8 recognition issue.
@dsommers can we close this?
I've just pushed out kmod-ovpn-dco-0.2.20230426-3.el8 to the Fedora Copr repos. But there are still issues with building the dkms module on Fedora 37.
/var/lib/dkms/ovpn-dco/0.2.20230426.3.fc37/build/drivers/net/ovpn-dco/ovpn.c: In function ‘ovpn_net_xmit’:
/var/lib/dkms/ovpn-dco/0.2.20230426.3.fc37/build/drivers/net/ovpn-dco/ovpn.c:432:28: error: implicit declaration of function ‘skb_gso_segment’; did you mean ‘skb_gso_reset’? [-Werror=implicit-function-declaration]
432 | segments = skb_gso_segment(skb, 0);
| ^~~~~~~~~~~~~~~
| skb_gso_reset
/var/lib/dkms/ovpn-dco/0.2.20230426.3.fc37/build/drivers/net/ovpn-dco/ovpn.c:432:26: warning: assignment to ‘struct sk_buff *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
432 | segments = skb_gso_segment(skb, 0);
| ^
It is easy to reproduce reproduce this via podman/docker.
$ podman run -it fedora:37 bash
[root@7891ddd733c9 /]# yum -y install dnf-plugins-core
[...]
[root@7891ddd733c9 /]# yum -y copr enable dsommers/openvpn3
[...]
[root@7891ddd733c9 /]# yum -y install kmod-ovpn-dco
[...]
[root@7891ddd733c9 /]# cat /var/lib/dkms/ovpn-dco/0.2.20230426.3.fc37/build/make.log
[...]
Fedora 37 ships with kernel 6.5.4 now. The same issue can be seen with Fedora 38, which uses the same kernel version.
@ordex The ovpn-dco-0.2.20230426 version is getting a bit old; is it time to do a new release? Or do you have some patches I can apply on top of that tagged release?
Hello, I have similar problem, like oukb. I am usind Centos 8 stream, kernel 4.18.0-519.el8. gcc version 8.5.0 20210514 (Red Hat 8.5.0-21). I want to install openvpn 2.6.6 with dco, but scriptlet ends with error:
Loading new ovpn-dco-0.2.20231010.1.el8 DKMS files... Building for 4.18.0-519.el8.x86_64 Building initial module for 4.18.0-519.el8.x86_64 Error! Bad return status for module build on kernel: 4.18.0-519.el8.x86_64 (x86_64) Consult /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/make.log for more information. warning: %post(kmod-ovpn-dco-0.2.20231010-1.el8.noarch) scriptlet failed, exit status 10
and some lines from log:
make: Entering directory '/var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build'
/var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/gen-compat-autoconf.sh /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/compat-autoconf.h
make -C /lib/modules/4.18.0-519.el8.x86_64/build M=/var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build PWD=/var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build REVISION=copr:0.2.20231010.1.el8 CONFIG_OVPN_DCO_V2=m INSTALL_MOD_DIR=updates/ modules
make[1]: Entering directory '/usr/src/kernels/4.18.0-519.el8.x86_64'
CC [M] /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco/main.o
CC [M] /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco/bind.o
CC [M] /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco/crypto.o
CC [M] /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco/ovpn.o
In file included from ~~~~~
In file included from /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/linux-compat.h:51,
from ~~~~~
make[3]: [scripts/Makefile.build:317: /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco/crypto.o] Error 1
make[3]: Waiting for unfinished jobs....
make[3]: [scripts/Makefile.build:317: /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco/main.o] Error 1
make[3]: [scripts/Makefile.build:317: /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco/ovpn.o] Error 1
make[3]: [scripts/Makefile.build:317: /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco/bind.o] Error 1
make[2]: [scripts/Makefile.build:558: /var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build/drivers/net/ovpn-dco] Error 2
make[1]: [Makefile:1619: module/var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build] Error 2
make[1]: Leaving directory '/usr/src/kernels/4.18.0-519.el8.x86_64'
make: [Makefile:59: all] Error 2
make: Leaving directory '/var/lib/dkms/ovpn-dco/0.2.20231010.1.el8/build
So, there is a bug, or I doing something wrong? So far, openvpn was working fine (last month I upgraded from 2.4.12 to 2.5.9 and now 2.6.6), but I am interesting in dco module for more speed. Thank you for help or infromations. Stanislav
@vasilko I would file that as a separate ticket. The ovpn-dco-0.2.20231010
version should be good on Fedora now, which this issue ticket tracks. The reason is that the kernel versions between RHEL/CentOS/CentOS Stream are quite different from the ones in Fedora.
OK, thank you. I will do a separate ticket. Have a nice day.
Just re-tested this on Fedora 37 ....
[root@devtest-f37 ~]# modprobe ovpn-dco-v2
[root@devtest-f37 ~]# cat /sys/module/ovpn_dco_v2/version
copr:0.2.20231010.1.fc37
[root@devtest-f37 ~]# uname -r
6.5.8-100.fc37.x86_64
[root@devtest-f37 ~]# dkms status
ovpn-dco/0.2.20231010.1.fc37, 6.5.8-100.fc37.x86_64, x86_64: installed
[root@devtest-f37 ~]# rpm -q kmod-ovpn-dco
kmod-ovpn-dco-0.2.20231010-1.fc37.noarch
[root@devtest-f37 ~]# modinfo ovpn-dco-v2
filename: /lib/modules/6.5.8-100.fc37.x86_64/extra/ovpn-dco-v2.ko
alias: net-pf-16-proto-16-family-ovpn-dco-v2
alias: rtnl-link-ovpn-dco
version: copr:0.2.20231010.1.fc37
license: GPL
author: (C) 2020-2023 OpenVPN, Inc.
description: OpenVPN data channel offload (ovpn-dco)
srcversion: 045BF0F4AB0BEC5963517E6
depends: udp_tunnel,ip6_udp_tunnel
retpoline: Y
name: ovpn_dco_v2
vermagic: 6.5.8-100.fc37.x86_64 SMP preempt mod_unload
sig_id: PKCS#7
signer: DKMS module signing key
sig_key: 0E:C1:90:C2:32:38:34:30:0C:6E:73:A2:83:B3:83:22:F5:B2:A1:D1
sig_hashalgo: sha512
signature: BC:1C:74:7F:7C:60:61:47:36:C9:F6:E6:65:01:75:AA:2E:A9:12:5C:
E9:D4:90:66:50:D3:FA:B2:85:6A:CA:D5:03:E0:90:5A:29:16:5F:5C:
94:B2:C0:86:BF:FC:FB:A4:D7:5E:4E:41:C1:B7:F9:8F:AA:D2:D1:DA:
F3:AD:3E:2F:67:36:B8:72:ED:62:6F:29:09:F0:B7:36:AF:0E:D6:51:
65:36:30:BD:B5:3E:B0:CA:DA:F2:BE:AB:97:6C:D2:65:53:57:7A:24:
1B:36:B8:B8:AF:F2:32:D5:DA:E7:16:EE:EA:BB:A8:EC:A5:A6:C2:05:
30:9D:72:A2:79:E6:D7:7B:20:2F:84:7F:5A:5A:70:EE:74:6C:32:1E:
81:D9:FC:65:CA:12:2F:4D:E5:71:C5:F7:4D:2D:0B:2A:5F:BB:2F:E9:
A8:63:9D:B2:B1:78:CB:1D:35:03:5D:6B:28:DA:E7:F9:F6:1C:3D:20:
50:D1:A2:81:1E:B9:88:2C:D1:CD:F8:67:45:6B:5F:C4:7D:4E:87:BA:
5F:DD:B7:00:5A:9A:40:CF:77:00:32:A1:43:90:FD:41:B4:30:13:5B:
CD:6C:D0:35:40:09:C5:0D:41:D0:04:59:5F:18:46:7A:66:85:20:89:
4A:96:D5:F7:3D:46:6D:BC:87:E0:BA:1C:4A:4B:D4:CC
[root@devtest-f37 ~]#
Closing this now.
Hi
Fedora 37 rpm from copr repo
kernel 6.2.8 gcc 12.2.1