diff options
| author | Antonio Quartulli <antonio@mandelbit.com> | 2026-08-30 19:58:00 +0200 |
|---|---|---|
| committer | Antonio Quartulli <antonio@mandelbit.com> | 2026-09-15 10:05:28 +0200 |
| commit | 2c92731f1cfef0cd812754daf7dd4add6d165942 (patch) | |
| tree | 4cb277d2319d8f41fa55c3462fd6eb2bee7495d0 /src/migration-scripts/ssh | |
| parent | 03229944aee8040520957e0041f81cbd7ab1586b (diff) | |
| download | vyos-1x-2c92731f1cfef0cd812754daf7dd4add6d165942.tar.gz vyos-1x-2c92731f1cfef0cd812754daf7dd4add6d165942.zip | |
openvpn: T8264: create the interface type the data path needs
apply() restarts the daemon and then creates the interface itself, as a
tun device. OpenVPN declines the offload when it finds a device of the
wrong type, so DCO worked only until the first reconfiguration.
The Kernel module takes its operating mode at creation time and iproute2
can neither set nor report it, so go through netlink - multipoint for a
server, point-to-point otherwise, matching what OpenVPN asks for itself.
A server adopting a point-to-point device rejects every client, and the
attribute is dropped silently if it is ever unrecognised, so read the
mode back.
A raw option does not change this. verify() turns away the ones known to
drop the offload, and beyond those "openvpn-option" is documented as the
user's own responsibility - so an offloaded interface is created either
way. A raw option that does decline the offload now leaves the daemon
unable to open the device it is given, which is at least visible, rather
than quietly carrying traffic in userspace.
Diffstat (limited to 'src/migration-scripts/ssh')
0 files changed, 0 insertions, 0 deletions
