All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleksandr Natalenko <oleksandr@natalenko.name>
To: netdev@vger.kernel.org, Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Donald Hunter <donald.hunter@gmail.com>,
	Antonio Quartulli <antonio@openvpn.net>,
	Shuah Khan <shuah@kernel.org>,
	sd@queasysnail.net, ryazanov.s.a@gmail.com,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	Simon Horman <horms@kernel.org>
Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	Xiao Liang <shaw.leon@gmail.com>,
	steffen.klassert@secunet.com, antony.antony@secunet.com,
	willemdebruijn.kernel@gmail.com, David Ahern <dsahern@kernel.org>,
	Andrew Lunn <andrew@lunn.ch>,
	Shuah Khan <skhan@linuxfoundation.org>
Subject: Re: [PATCH net-next v26 00/23] Introducing OpenVPN Data Channel Offload
Date: Thu, 17 Apr 2025 11:51:07 +0200	[thread overview]
Message-ID: <5001537.31r3eYUQgx@natalenko.name> (raw)
In-Reply-To: <20250415-b4-ovpn-v26-0-577f6097b964@openvpn.net>

[-- Attachment #1: Type: text/plain, Size: 6674 bytes --]

Hello.

On úterý 15. dubna 2025 13:17:17, středoevropský letní čas Antonio Quartulli wrote:
> Notable changes since v25:
> * removed netdev notifier (was only used for our own devices)
> * added .dellink implementation to address what was previously
>   done in notifier
> * removed .ndo_open and moved netif_carrier_off() call to .ndo_init
> * fixed author in MODULE_AUTHOR()
> * properly indented checks in ovpn.yaml
> * switched from TSTATS to DSTATS
> * removed obsolete comment in ovpn_socket_new()
> * removed unrelated hunk in ovpn_socket_new()
> 
> The latest code can also be found at:
> 
> https://github.com/OpenVPN/ovpn-net-next

Thank you for this. I've backported the submission for my local v6.14-based build (had to adjust for 69c7be1b903fca) and I'm using it now with [1] as you've suggested previously. So far so good. Feel free to add my:

Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>

A couple of notes if I may:

1. is it expected for then tun iface to stay after the connection is brought down? If that matters, I'm using NetworkManager for managing my OpenVPN connections
2. a userspace nit probably not relevant to this submission: the daemon still reports "DCO version:" but with "N/A" value because that version file under /sys is not presented any more like it was with an out-of-tree v2 implementation

[1]: https://github.com/mandelbitdev/openvpn/tree/gianmarco/179-ovpn-support

> 
> Thanks a lot!
> Best Regards,
> 
> Antonio Quartulli
> OpenVPN Inc.
> 
> ---
> Antonio Quartulli (23):
>       net: introduce OpenVPN Data Channel Offload (ovpn)
>       ovpn: add basic netlink support
>       ovpn: add basic interface creation/destruction/management routines
>       ovpn: keep carrier always on for MP interfaces
>       ovpn: introduce the ovpn_peer object
>       ovpn: introduce the ovpn_socket object
>       ovpn: implement basic TX path (UDP)
>       ovpn: implement basic RX path (UDP)
>       ovpn: implement packet processing
>       ovpn: store tunnel and transport statistics
>       ovpn: implement TCP transport
>       skb: implement skb_send_sock_locked_with_flags()
>       ovpn: add support for MSG_NOSIGNAL in tcp_sendmsg
>       ovpn: implement multi-peer support
>       ovpn: implement peer lookup logic
>       ovpn: implement keepalive mechanism
>       ovpn: add support for updating local or remote UDP endpoint
>       ovpn: implement peer add/get/dump/delete via netlink
>       ovpn: implement key add/get/del/swap via netlink
>       ovpn: kill key and notify userspace in case of IV exhaustion
>       ovpn: notify userspace when a peer is deleted
>       ovpn: add basic ethtool support
>       testing/selftests: add test tool and scripts for ovpn module
> 
>  Documentation/netlink/specs/ovpn.yaml              |  367 +++
>  Documentation/netlink/specs/rt-link.yaml           |   16 +
>  MAINTAINERS                                        |   11 +
>  drivers/net/Kconfig                                |   15 +
>  drivers/net/Makefile                               |    1 +
>  drivers/net/ovpn/Makefile                          |   22 +
>  drivers/net/ovpn/bind.c                            |   55 +
>  drivers/net/ovpn/bind.h                            |  101 +
>  drivers/net/ovpn/crypto.c                          |  210 ++
>  drivers/net/ovpn/crypto.h                          |  145 ++
>  drivers/net/ovpn/crypto_aead.c                     |  383 ++++
>  drivers/net/ovpn/crypto_aead.h                     |   29 +
>  drivers/net/ovpn/io.c                              |  446 ++++
>  drivers/net/ovpn/io.h                              |   34 +
>  drivers/net/ovpn/main.c                            |  274 +++
>  drivers/net/ovpn/main.h                            |   14 +
>  drivers/net/ovpn/netlink-gen.c                     |  213 ++
>  drivers/net/ovpn/netlink-gen.h                     |   41 +
>  drivers/net/ovpn/netlink.c                         | 1258 +++++++++++
>  drivers/net/ovpn/netlink.h                         |   18 +
>  drivers/net/ovpn/ovpnpriv.h                        |   55 +
>  drivers/net/ovpn/peer.c                            | 1365 +++++++++++
>  drivers/net/ovpn/peer.h                            |  163 ++
>  drivers/net/ovpn/pktid.c                           |  129 ++
>  drivers/net/ovpn/pktid.h                           |   86 +
>  drivers/net/ovpn/proto.h                           |  118 +
>  drivers/net/ovpn/skb.h                             |   61 +
>  drivers/net/ovpn/socket.c                          |  233 ++
>  drivers/net/ovpn/socket.h                          |   49 +
>  drivers/net/ovpn/stats.c                           |   21 +
>  drivers/net/ovpn/stats.h                           |   47 +
>  drivers/net/ovpn/tcp.c                             |  598 +++++
>  drivers/net/ovpn/tcp.h                             |   36 +
>  drivers/net/ovpn/udp.c                             |  439 ++++
>  drivers/net/ovpn/udp.h                             |   25 +
>  include/linux/skbuff.h                             |    2 +
>  include/uapi/linux/if_link.h                       |   15 +
>  include/uapi/linux/ovpn.h                          |  109 +
>  include/uapi/linux/udp.h                           |    1 +
>  net/core/skbuff.c                                  |   18 +-
>  net/ipv6/af_inet6.c                                |    1 +
>  tools/testing/selftests/Makefile                   |    1 +
>  tools/testing/selftests/net/ovpn/.gitignore        |    2 +
>  tools/testing/selftests/net/ovpn/Makefile          |   31 +
>  tools/testing/selftests/net/ovpn/common.sh         |   92 +
>  tools/testing/selftests/net/ovpn/config            |   10 +
>  tools/testing/selftests/net/ovpn/data64.key        |    5 +
>  tools/testing/selftests/net/ovpn/ovpn-cli.c        | 2376 ++++++++++++++++++++
>  tools/testing/selftests/net/ovpn/tcp_peers.txt     |    5 +
>  .../testing/selftests/net/ovpn/test-chachapoly.sh  |    9 +
>  .../selftests/net/ovpn/test-close-socket-tcp.sh    |    9 +
>  .../selftests/net/ovpn/test-close-socket.sh        |   45 +
>  tools/testing/selftests/net/ovpn/test-float.sh     |    9 +
>  tools/testing/selftests/net/ovpn/test-tcp.sh       |    9 +
>  tools/testing/selftests/net/ovpn/test.sh           |  113 +
>  tools/testing/selftests/net/ovpn/udp_peers.txt     |    5 +
>  56 files changed, 9940 insertions(+), 5 deletions(-)
> ---
> base-commit: 23f09f01b495cc510a19b30b6093fb4cb0284aaf
> change-id: 20241002-b4-ovpn-eeee35c694a2
> 
> Best regards,
> 


-- 
Oleksandr Natalenko, MSE

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2025-04-17  9:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-15 11:17 [PATCH net-next v26 00/23] Introducing OpenVPN Data Channel Offload Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 01/23] net: introduce OpenVPN Data Channel Offload (ovpn) Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 02/23] ovpn: add basic netlink support Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 03/23] ovpn: add basic interface creation/destruction/management routines Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 04/23] ovpn: keep carrier always on for MP interfaces Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 05/23] ovpn: introduce the ovpn_peer object Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 06/23] ovpn: introduce the ovpn_socket object Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 07/23] ovpn: implement basic TX path (UDP) Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 08/23] ovpn: implement basic RX " Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 09/23] ovpn: implement packet processing Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 10/23] ovpn: store tunnel and transport statistics Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 11/23] ovpn: implement TCP transport Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 12/23] skb: implement skb_send_sock_locked_with_flags() Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 13/23] ovpn: add support for MSG_NOSIGNAL in tcp_sendmsg Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 14/23] ovpn: implement multi-peer support Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 15/23] ovpn: implement peer lookup logic Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 16/23] ovpn: implement keepalive mechanism Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 17/23] ovpn: add support for updating local or remote UDP endpoint Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 18/23] ovpn: implement peer add/get/dump/delete via netlink Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 19/23] ovpn: implement key add/get/del/swap " Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 20/23] ovpn: kill key and notify userspace in case of IV exhaustion Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 21/23] ovpn: notify userspace when a peer is deleted Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 22/23] ovpn: add basic ethtool support Antonio Quartulli
2025-04-15 11:17 ` [PATCH net-next v26 23/23] testing/selftests: add test tool and scripts for ovpn module Antonio Quartulli
2025-04-16 16:04 ` [PATCH net-next v26 00/23] Introducing OpenVPN Data Channel Offload Sabrina Dubroca
2025-04-17  9:51 ` Oleksandr Natalenko [this message]
2025-04-17 10:01   ` Antonio Quartulli
2025-04-17 10:48 ` Paolo Abeni
2025-04-17 11:10   ` Antonio Quartulli
2025-04-17 10:50 ` patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5001537.31r3eYUQgx@natalenko.name \
    --to=oleksandr@natalenko.name \
    --cc=andrew+netdev@lunn.ch \
    --cc=andrew@lunn.ch \
    --cc=antonio@openvpn.net \
    --cc=antony.antony@secunet.com \
    --cc=donald.hunter@gmail.com \
    --cc=dsahern@kernel.org \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=ryazanov.s.a@gmail.com \
    --cc=sd@queasysnail.net \
    --cc=shaw.leon@gmail.com \
    --cc=shuah@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=steffen.klassert@secunet.com \
    --cc=willemdebruijn.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.