summaryrefslogtreecommitdiff
path: root/src/migration-scripts/ipsec
diff options
context:
space:
mode:
authorAntonio Quartulli <antonio@mandelbit.com>2026-08-30 19:58:00 +0200
committerAntonio Quartulli <antonio@mandelbit.com>2026-09-15 10:05:28 +0200
commit2c92731f1cfef0cd812754daf7dd4add6d165942 (patch)
tree4cb277d2319d8f41fa55c3462fd6eb2bee7495d0 /src/migration-scripts/ipsec
parent03229944aee8040520957e0041f81cbd7ab1586b (diff)
downloadvyos-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/ipsec')
0 files changed, 0 insertions, 0 deletions