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@queasysnail.net
Thanks again for your patience, Antonio.