mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

This specific structure is used in the ovpn kernel module to wrap and carry around a standard kernel socket. ovpn takes ownership of passed sockets and therefore an ovpn specific objects is attached to them for status tracking purposes. Initially only UDP support is introduced. TCP will come in a later patch. Cc: willemdebruijn.kernel@gmail.com Signed-off-by: Antonio Quartulli <antonio@openvpn.net> Link: https://patch.msgid.link/20250415-b4-ovpn-v26-6-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>
48 lines
1.7 KiB
C
48 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
|
/*
|
|
* INET An implementation of the TCP/IP protocol suite for the LINUX
|
|
* operating system. INET is implemented using the BSD Socket
|
|
* interface as the means of communication with the user level.
|
|
*
|
|
* Definitions for the UDP protocol.
|
|
*
|
|
* Version: @(#)udp.h 1.0.2 04/28/93
|
|
*
|
|
* Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version
|
|
* 2 of the License, or (at your option) any later version.
|
|
*/
|
|
#ifndef _UAPI_LINUX_UDP_H
|
|
#define _UAPI_LINUX_UDP_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct udphdr {
|
|
__be16 source;
|
|
__be16 dest;
|
|
__be16 len;
|
|
__sum16 check;
|
|
};
|
|
|
|
/* UDP socket options */
|
|
#define UDP_CORK 1 /* Never send partially complete segments */
|
|
#define UDP_ENCAP 100 /* Set the socket to accept encapsulated packets */
|
|
#define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP6X */
|
|
#define UDP_NO_CHECK6_RX 102 /* Disable accepting checksum for UDP6 */
|
|
#define UDP_SEGMENT 103 /* Set GSO segmentation size */
|
|
#define UDP_GRO 104 /* This socket can receive UDP GRO packets */
|
|
|
|
/* UDP encapsulation types */
|
|
#define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* unused draft-ietf-ipsec-nat-t-ike-00/01 */
|
|
#define UDP_ENCAP_ESPINUDP 2 /* draft-ietf-ipsec-udp-encaps-06 */
|
|
#define UDP_ENCAP_L2TPINUDP 3 /* rfc2661 */
|
|
#define UDP_ENCAP_GTP0 4 /* GSM TS 09.60 */
|
|
#define UDP_ENCAP_GTP1U 5 /* 3GPP TS 29.060 */
|
|
#define UDP_ENCAP_RXRPC 6
|
|
#define TCP_ENCAP_ESPINTCP 7 /* Yikes, this is really xfrm encap types. */
|
|
#define UDP_ENCAP_OVPNINUDP 8 /* OpenVPN traffic */
|
|
|
|
#endif /* _UAPI_LINUX_UDP_H */
|