linux/include/uapi/linux/l2tp.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 * L2TP-over-IP socket for L2TPv3.
 *
 * Author: James Chapman <[email protected]>
 */

#ifndef _UAPI_LINUX_L2TP_H_
#define _UAPI_LINUX_L2TP_H_

#include <linux/types.h>
#include <linux/socket.h>
#include <linux/in.h>
#include <linux/in6.h>

/**
 * struct sockaddr_l2tpip - the sockaddr structure for L2TP-over-IP sockets
 * @l2tp_family:  address family number AF_L2TPIP.
 * @l2tp_addr:    protocol specific address information
 * @l2tp_conn_id: connection id of tunnel
 */
#define __SOCK_SIZE__
struct sockaddr_l2tpip {};

/**
 * struct sockaddr_l2tpip6 - the sockaddr structure for L2TP-over-IPv6 sockets
 * @l2tp_family:  address family number AF_L2TPIP.
 * @l2tp_addr:    protocol specific address information
 * @l2tp_conn_id: connection id of tunnel
 */
struct sockaddr_l2tpip6 {};

/*****************************************************************************
 *  NETLINK_GENERIC netlink family.
 *****************************************************************************/

/*
 * Commands.
 * Valid TLVs of each command are:-
 * TUNNEL_CREATE	- CONN_ID, pw_type, netns, ifname, ipinfo, udpinfo, udpcsum
 * TUNNEL_DELETE	- CONN_ID
 * TUNNEL_MODIFY	- CONN_ID, udpcsum
 * TUNNEL_GETSTATS	- CONN_ID, (stats)
 * TUNNEL_GET		- CONN_ID, (...)
 * SESSION_CREATE	- SESSION_ID, PW_TYPE, cookie, peer_cookie, l2spec
 * SESSION_DELETE	- SESSION_ID
 * SESSION_MODIFY	- SESSION_ID
 * SESSION_GET		- SESSION_ID, (...)
 * SESSION_GETSTATS	- SESSION_ID, (stats)
 *
 */
enum {};

#define L2TP_CMD_MAX

/*
 * ATTR types defined for L2TP
 */
enum {};

#define L2TP_ATTR_MAX

/* Nested in L2TP_ATTR_STATS */
enum {};

#define L2TP_ATTR_STATS_MAX

enum l2tp_pwtype {};

enum l2tp_l2spec_type {};

enum l2tp_encap_type {};

/* For L2TP_ATTR_DATA_SEQ. Unused. */
enum l2tp_seqmode {};

/**
 * enum l2tp_debug_flags - debug message categories for L2TP tunnels/sessions.
 *
 * Unused.
 *
 * @L2TP_MSG_DEBUG: verbose debug (if compiled in)
 * @L2TP_MSG_CONTROL: userspace - kernel interface
 * @L2TP_MSG_SEQ: sequence numbers
 * @L2TP_MSG_DATA: data packets
 */
enum l2tp_debug_flags {};

/*
 * NETLINK_GENERIC related info
 */
#define L2TP_GENL_NAME
#define L2TP_GENL_VERSION
#define L2TP_GENL_MCGROUP

#endif /* _UAPI_LINUX_L2TP_H_ */