Re: [PATCH net-next v25 00/23] Introducing OpenVPN Data Channel Offload
From: Sabrina Dubroca
Date: Thu Apr 10 2025 - 10:05:16 EST
2025-04-07, 21:46:08 +0200, Antonio Quartulli wrote:
> Notable changes since v24:
> * disable TCP disconnections of attached sockets (tcp_disconnect()
> returns -EBUSY) - similarly to kTLS.
> * used rcu_replace_pointer instead of rcu_dereference_protected+rcu_assign_pointer
> * dropped useless skb->ignore_df = 1
> * dropped unneded EXPORT_SYMBOL_GPL(udpv6_prot)
> * dropped obsolete comment for ovpn_crypto_key_slots_swap()
> * dropped calls to kfree() in ovpn_aead_encrypt/decrypt() (release is
> performed in ovpn_encrypt/decrypt_post())
> * dropped NULL check before calling kfree() in
> ovpn_encrypt/decrypt_done()
> * converted seq_num from atomic64_t to atomic_t (IV exhaustion is now
> detected in case of wrap around)
> * call consume_skb() on skb when dropping keepalive message (it is not a
> failure)
> * made REMOTE_PORT mandatory when REMOTE_IPV4/6 is specified in
> peer_new/set call
> * ensured ovpn_nl_key_swap_notify() is called only once, even when
> parsing a batch of received packets concurrently
>
> Please note that some patches were already reviewed/tested by a few
> people. These patches have retained the tags as they have hardly been
> touched.
>
> The latest code can also be found at:
>
> https://github.com/OpenVPN/ovpn-net-next
>
> 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
For the series:
Reviewed-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx>
Thanks again for your patience, Antonio.
--
Sabrina