linux/include/uapi/linux/if_tunnel.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_IF_TUNNEL_H_
#define _UAPI_IF_TUNNEL_H_

#include <linux/types.h>
#include <linux/if.h>
#include <linux/ip.h>
#include <linux/in6.h>
#include <asm/byteorder.h>


#define SIOCGETTUNNEL
#define SIOCADDTUNNEL
#define SIOCDELTUNNEL
#define SIOCCHGTUNNEL
#define SIOCGETPRL
#define SIOCADDPRL
#define SIOCDELPRL
#define SIOCCHGPRL
#define SIOCGET6RD
#define SIOCADD6RD
#define SIOCDEL6RD
#define SIOCCHG6RD

#define GRE_CSUM
#define GRE_ROUTING
#define GRE_KEY
#define GRE_SEQ
#define GRE_STRICT
#define GRE_REC
#define GRE_ACK
#define GRE_FLAGS
#define GRE_VERSION

#define GRE_IS_CSUM(f)
#define GRE_IS_ROUTING(f)
#define GRE_IS_KEY(f)
#define GRE_IS_SEQ(f)
#define GRE_IS_STRICT(f)
#define GRE_IS_REC(f)
#define GRE_IS_ACK(f)

#define GRE_VERSION_0
#define GRE_VERSION_1
#define GRE_PROTO_PPP
#define GRE_PPTP_KEY_MASK

struct ip_tunnel_parm {};

enum {};
#define IFLA_IPTUN_MAX

enum tunnel_encap_types {};

#define TUNNEL_ENCAP_FLAG_CSUM
#define TUNNEL_ENCAP_FLAG_CSUM6
#define TUNNEL_ENCAP_FLAG_REMCSUM

/* SIT-mode i_flags */
#define SIT_ISATAP

struct ip_tunnel_prl {};

/* PRL flags */
#define PRL_DEFAULT

struct ip_tunnel_6rd {};

enum {};

#define IFLA_GRE_MAX

/* VTI-mode i_flags */
#define VTI_ISVTI

enum {};

#define IFLA_VTI_MAX

#ifndef __KERNEL__
/* Historically, tunnel flags have been defined as __be16 and now there are
 * no free bits left. It is strongly advised to switch the already existing
 * userspace code to the new *_BIT definitions from down below, as __be16
 * can't be simply cast to a wider type on LE systems. All new flags and
 * code must use *_BIT only.
 */

#define TUNNEL_CSUM
#define TUNNEL_ROUTING
#define TUNNEL_KEY
#define TUNNEL_SEQ
#define TUNNEL_STRICT
#define TUNNEL_REC
#define TUNNEL_VERSION
#define TUNNEL_NO_KEY
#define TUNNEL_DONT_FRAGMENT
#define TUNNEL_OAM
#define TUNNEL_CRIT_OPT
#define TUNNEL_GENEVE_OPT
#define TUNNEL_VXLAN_OPT
#define TUNNEL_NOCACHE
#define TUNNEL_ERSPAN_OPT
#define TUNNEL_GTP_OPT

#define TUNNEL_OPTIONS_PRESENT
#endif

enum {};

#endif /* _UAPI_IF_TUNNEL_H_ */