[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