1f6226ae7SAntonio Quartulli /* SPDX-License-Identifier: GPL-2.0-only */ 2f6226ae7SAntonio Quartulli /* OpenVPN data channel offload 3f6226ae7SAntonio Quartulli * 4f6226ae7SAntonio Quartulli * Copyright (C) 2019-2025 OpenVPN, Inc. 5f6226ae7SAntonio Quartulli * 6f6226ae7SAntonio Quartulli * Author: Antonio Quartulli <antonio@openvpn.net> 7f6226ae7SAntonio Quartulli */ 8f6226ae7SAntonio Quartulli 9f6226ae7SAntonio Quartulli #ifndef _NET_OVPN_UDP_H_ 10f6226ae7SAntonio Quartulli #define _NET_OVPN_UDP_H_ 11f6226ae7SAntonio Quartulli 1208857b5eSAntonio Quartulli #include <net/sock.h> 1308857b5eSAntonio Quartulli 1408857b5eSAntonio Quartulli struct ovpn_peer; 15f6226ae7SAntonio Quartulli struct ovpn_priv; 16f6226ae7SAntonio Quartulli struct socket; 17f6226ae7SAntonio Quartulli 18*ba499a07SAntonio Quartulli int ovpn_udp_socket_attach(struct ovpn_socket *ovpn_sock, struct socket *sock, 19f6226ae7SAntonio Quartulli struct ovpn_priv *ovpn); 20f6226ae7SAntonio Quartulli void ovpn_udp_socket_detach(struct ovpn_socket *ovpn_sock); 21f6226ae7SAntonio Quartulli 22*ba499a07SAntonio Quartulli void ovpn_udp_send_skb(struct ovpn_peer *peer, struct sock *sk, 2308857b5eSAntonio Quartulli struct sk_buff *skb); 2408857b5eSAntonio Quartulli 25f6226ae7SAntonio Quartulli #endif /* _NET_OVPN_UDP_H_ */ 26