This patchset is *almost* the same as the previous patchset, but it got
fragmented in multiple patches for easier review.
I am not setting any version on these patches as they do not match
previous versions.
The idea behind splitting patches is that they should be mergeable and
compilable one-by-one.
Ideally they should not introduce any regression in existing
functionalities, however, it may not always be apossible to *test* the
new code as it will require a subsequent patch to be used. Still we will
be able to compile the new code and review it.
While splitting patches, some ugly things have been fixed/changed..so
hopefully splitting patches has already paid off a bit..
I hope this will help with getting this new functionality merged soon.
This patchset reflects what is currently pushed to the "dco" branch.
Best Regards,
Antonio Quartulli (24):
dco: introduce low-level code for handling ovpn-dco in the Linux
kernel
dco: add helper function to detect if DCO is enabled or not
dco: use specific metric when installing routes
dco: create DCO interface using SITNL
dco: let open_tun_generic handle the DCO case
dco: initialize context and save pointer in TLS object
dco: add option check - disable DCO if conflict is detected
dco: allow user to disable it at runtime
dco: configure keys in DCO right after generating them
dco: periodically check and possibly rotate/delete keys
dco: split option parsing routines
dco: check that pulled options are compatible
dco: implement dco support for p2p/client code path
dco: implement dco support for p2mp/server code path
dco: add documentation for ovpn-dco-linux
GitHub Actions: add Linux DCO build (on Ubuntu 20.04)
dco: turn supported ciphers list into a function
dco-win: implement GetOverlappedResultEx for mingw32
dco-win: add platform dependant check on incompatible options
do_open_tun: restyle "can preserve TUN" check
dco-win: introduce low-level code for handling ovpn-dco-win in Windows
dco-win: implement ovpn-dco support in P2P Windows code path
dco-win: add documentation to README.dco.md
dco-win: update GH Actions config file
Arne Schwabe (1):
tun: extract close_tun_handle into its own fucntion and print correct
type
.github/workflows/build.yaml | 16 +-
Changes.rst | 9 +
README.dco.md | 132 +++
config-msvc.h | 2 +
configure.ac | 37 +
dev-tools/special-files.lst | 2 +
doc/man-sections/advanced-options.rst | 13 +
doc/man-sections/server-options.rst | 6 +
src/compat/Makefile.am | 3 +-
src/compat/compat-dco_get_overlapped_result.c | 46 +
src/compat/compat.h | 8 +
src/compat/compat.vcxproj | 1 +
src/compat/compat.vcxproj.filters | 3 +
src/openvpn/Makefile.am | 7 +-
src/openvpn/dco.c | 621 ++++++++++++
src/openvpn/dco.h | 318 ++++++
src/openvpn/dco_internal.h | 79 ++
src/openvpn/dco_linux.c | 940 ++++++++++++++++++
src/openvpn/dco_linux.h | 59 ++
src/openvpn/dco_win.c | 402 ++++++++
src/openvpn/dco_win.h | 58 ++
src/openvpn/errlevel.h | 2 +
src/openvpn/event.h | 3 +
src/openvpn/forward.c | 89 +-
src/openvpn/init.c | 456 ++++++---
src/openvpn/init.h | 4 +-
src/openvpn/mtcp.c | 59 +-
src/openvpn/mudp.c | 13 +
src/openvpn/multi.c | 221 +++-
src/openvpn/multi.h | 14 +-
src/openvpn/networking_sitnl.c | 11 +
src/openvpn/openvpn.vcxproj | 11 +-
src/openvpn/openvpn.vcxproj.filters | 27 +
src/openvpn/options.c | 53 +-
src/openvpn/options.h | 15 +
src/openvpn/ovpn-dco-win.h | 108 ++
src/openvpn/ovpn_dco_linux.h | 265 +++++
src/openvpn/socket.c | 94 +-
src/openvpn/socket.h | 26 +-
src/openvpn/ssl.c | 74 +-
src/openvpn/ssl.h | 7 +-
src/openvpn/ssl_common.h | 23 +
src/openvpn/tun.c | 250 +++--
src/openvpn/tun.h | 64 +-
44 files changed, 4292 insertions(+), 359 deletions(-)
create mode 100644 README.dco.md
create mode 100644 src/compat/compat-dco_get_overlapped_result.c
create mode 100644 src/openvpn/dco.c
create mode 100644 src/openvpn/dco.h
create mode 100644 src/openvpn/dco_internal.h
create mode 100644 src/openvpn/dco_linux.c
create mode 100644 src/openvpn/dco_linux.h
create mode 100644 src/openvpn/dco_win.c
create mode 100644 src/openvpn/dco_win.h
create mode 100644 src/openvpn/ovpn-dco-win.h
create mode 100644 src/openvpn/ovpn_dco_linux.h
--
2.35.1
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel