[Patch] tunnel: add a copy of include/linux/if_tunnel.h

Susant Sahani susant at redhat.com
Wed May 7 11:39:55 PDT 2014


On 05/07/2014 10:52 PM, Cong Wang wrote:
> This should fix the following compile error:
>
> route/link/ipip.c:52: error: ‘IFLA_IPTUN_MAX’ undeclared here (not in a function)
> route/link/ipip.c:53: error: ‘IFLA_IPTUN_LINK’ undeclared here (not in a function)
> route/link/ipip.c:53: error: array index in initializer not of integer type
> route/link/ipip.c:53: error: (near initialization for ‘ipip_policy’)
> route/link/ipip.c:53: error: field name not in record or union initializer
> route/link/ipip.c:53: error: (near initialization for ‘ipip_policy’)
This smells like a older kernel ;). Could I know the version please ?
> ...
>
> Cc: Susant Sahani <susant at redhat.com>
> Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
>
> ---
> diff --git a/include/Makefile.am b/include/Makefile.am
> index 73d7c15..1db0597 100644
> --- a/include/Makefile.am
> +++ b/include/Makefile.am
> @@ -120,6 +120,7 @@ noinst_HEADERS = \
>   	linux/if.h \
>   	linux/if_bridge.h \
>   	linux/if_link.h \
> +	linux/if_tunnel.h \
>   	linux/if_vlan.h \
>   	linux/ip.h \
>   	linux/ip_mp_alg.h \
> diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h
> new file mode 100644
> index 0000000..aee73d0
> --- /dev/null
> +++ b/include/linux/if_tunnel.h
> @@ -0,0 +1,116 @@
> +#ifndef _UAPI_IF_TUNNEL_H_
> +#define _UAPI_IF_TUNNEL_H_
> +
> +#include <linux/types.h>
> +#include <asm/byteorder.h>
> +
> +
> +#define SIOCGETTUNNEL   (SIOCDEVPRIVATE + 0)
> +#define SIOCADDTUNNEL   (SIOCDEVPRIVATE + 1)
> +#define SIOCDELTUNNEL   (SIOCDEVPRIVATE + 2)
> +#define SIOCCHGTUNNEL   (SIOCDEVPRIVATE + 3)
> +#define SIOCGETPRL      (SIOCDEVPRIVATE + 4)
> +#define SIOCADDPRL      (SIOCDEVPRIVATE + 5)
> +#define SIOCDELPRL      (SIOCDEVPRIVATE + 6)
> +#define SIOCCHGPRL      (SIOCDEVPRIVATE + 7)
> +#define SIOCGET6RD      (SIOCDEVPRIVATE + 8)
> +#define SIOCADD6RD      (SIOCDEVPRIVATE + 9)
> +#define SIOCDEL6RD      (SIOCDEVPRIVATE + 10)
> +#define SIOCCHG6RD      (SIOCDEVPRIVATE + 11)
> +
> +#define GRE_CSUM	__cpu_to_be16(0x8000)
> +#define GRE_ROUTING	__cpu_to_be16(0x4000)
> +#define GRE_KEY		__cpu_to_be16(0x2000)
> +#define GRE_SEQ		__cpu_to_be16(0x1000)
> +#define GRE_STRICT	__cpu_to_be16(0x0800)
> +#define GRE_REC		__cpu_to_be16(0x0700)
> +#define GRE_FLAGS	__cpu_to_be16(0x00F8)
> +#define GRE_VERSION	__cpu_to_be16(0x0007)
> +
> +struct ip_tunnel_parm {
> +	char			name[IFNAMSIZ];
> +	int			link;
> +	__be16			i_flags;
> +	__be16			o_flags;
> +	__be32			i_key;
> +	__be32			o_key;
> +	struct iphdr		iph;
> +};
> +
> +enum {
> +	IFLA_IPTUN_UNSPEC,
> +	IFLA_IPTUN_LINK,
> +	IFLA_IPTUN_LOCAL,
> +	IFLA_IPTUN_REMOTE,
> +	IFLA_IPTUN_TTL,
> +	IFLA_IPTUN_TOS,
> +	IFLA_IPTUN_ENCAP_LIMIT,
> +	IFLA_IPTUN_FLOWINFO,
> +	IFLA_IPTUN_FLAGS,
> +	IFLA_IPTUN_PROTO,
> +	IFLA_IPTUN_PMTUDISC,
> +	IFLA_IPTUN_6RD_PREFIX,
> +	IFLA_IPTUN_6RD_RELAY_PREFIX,
> +	IFLA_IPTUN_6RD_PREFIXLEN,
> +	IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
> +	__IFLA_IPTUN_MAX,
> +};
> +#define IFLA_IPTUN_MAX	(__IFLA_IPTUN_MAX - 1)
> +
> +/* SIT-mode i_flags */
> +#define	SIT_ISATAP	0x0001
> +
> +struct ip_tunnel_prl {
> +	__be32			addr;
> +	__u16			flags;
> +	__u16			__reserved;
> +	__u32			datalen;
> +	__u32			__reserved2;
> +	/* data follows */
> +};
> +
> +/* PRL flags */
> +#define	PRL_DEFAULT		0x0001
> +
> +struct ip_tunnel_6rd {
> +	struct in6_addr		prefix;
> +	__be32			relay_prefix;
> +	__u16			prefixlen;
> +	__u16			relay_prefixlen;
> +};
> +
> +enum {
> +	IFLA_GRE_UNSPEC,
> +	IFLA_GRE_LINK,
> +	IFLA_GRE_IFLAGS,
> +	IFLA_GRE_OFLAGS,
> +	IFLA_GRE_IKEY,
> +	IFLA_GRE_OKEY,
> +	IFLA_GRE_LOCAL,
> +	IFLA_GRE_REMOTE,
> +	IFLA_GRE_TTL,
> +	IFLA_GRE_TOS,
> +	IFLA_GRE_PMTUDISC,
> +	IFLA_GRE_ENCAP_LIMIT,
> +	IFLA_GRE_FLOWINFO,
> +	IFLA_GRE_FLAGS,
> +	__IFLA_GRE_MAX,
> +};
> +
> +#define IFLA_GRE_MAX	(__IFLA_GRE_MAX - 1)
> +
> +/* VTI-mode i_flags */
> +#define VTI_ISVTI 0x0001
> +
> +enum {
> +	IFLA_VTI_UNSPEC,
> +	IFLA_VTI_LINK,
> +	IFLA_VTI_IKEY,
> +	IFLA_VTI_OKEY,
> +	IFLA_VTI_LOCAL,
> +	IFLA_VTI_REMOTE,
> +	__IFLA_VTI_MAX,
> +};
> +
> +#define IFLA_VTI_MAX	(__IFLA_VTI_MAX - 1)
> +#endif /* _UAPI_IF_TUNNEL_H_ */

Susant
>
> _______________________________________________
> libnl mailing list
> libnl at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libnl




More information about the libnl mailing list