ovpn: implement packet processing
authorAntonio Quartulli <antonio@openvpn.net>
Tue, 15 Apr 2025 11:17:26 +0000 (13:17 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 17 Apr 2025 10:30:02 +0000 (12:30 +0200)
commit8534731dbf2d52a539b94defd06d2a8d3514aacb
tree84b4a4a1f12fdb35462ef565cd2c8b8ab58e9e42
parentab66abbc769b894324864a68e9dcaf3eb2d4bfdb
ovpn: implement packet processing

This change implements encryption/decryption and
encapsulation/decapsulation of OpenVPN packets.

Support for generic crypto state is added along with
a wrapper for the AEAD crypto kernel API.

Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
Link: https://patch.msgid.link/20250415-b4-ovpn-v26-9-577f6097b964@openvpn.net
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
15 files changed:
drivers/net/Kconfig
drivers/net/ovpn/Makefile
drivers/net/ovpn/bind.c
drivers/net/ovpn/crypto.c [new file with mode: 0644]
drivers/net/ovpn/crypto.h [new file with mode: 0644]
drivers/net/ovpn/crypto_aead.c [new file with mode: 0644]
drivers/net/ovpn/crypto_aead.h [new file with mode: 0644]
drivers/net/ovpn/io.c
drivers/net/ovpn/io.h
drivers/net/ovpn/peer.c
drivers/net/ovpn/peer.h
drivers/net/ovpn/pktid.c [new file with mode: 0644]
drivers/net/ovpn/pktid.h [new file with mode: 0644]
drivers/net/ovpn/proto.h
drivers/net/ovpn/skb.h