1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* OpenVPN data channel offload 3 * 4 * Copyright (C) 2020-2025 OpenVPN, Inc. 5 * 6 * Author: James Yonan <james@openvpn.net> 7 * Antonio Quartulli <antonio@openvpn.net> 8 */ 9 10 #ifndef _NET_OVPN_OVPNAEAD_H_ 11 #define _NET_OVPN_OVPNAEAD_H_ 12 13 #include "crypto.h" 14 15 #include <asm/types.h> 16 #include <linux/skbuff.h> 17 18 int ovpn_aead_encrypt(struct ovpn_peer *peer, struct ovpn_crypto_key_slot *ks, 19 struct sk_buff *skb); 20 int ovpn_aead_decrypt(struct ovpn_peer *peer, struct ovpn_crypto_key_slot *ks, 21 struct sk_buff *skb); 22 23 struct ovpn_crypto_key_slot * 24 ovpn_aead_crypto_key_slot_new(const struct ovpn_key_config *kc); 25 void ovpn_aead_crypto_key_slot_destroy(struct ovpn_crypto_key_slot *ks); 26 27 enum ovpn_cipher_alg ovpn_aead_crypto_alg(struct ovpn_crypto_key_slot *ks); 28 29 #endif /* _NET_OVPN_OVPNAEAD_H_ */ 30