ipip: advertise tunnel param via rtnl
[deliverable/linux.git] / include / uapi / linux / if_tunnel.h
1 #ifndef _UAPI_IF_TUNNEL_H_
2 #define _UAPI_IF_TUNNEL_H_
3
4 #include <linux/types.h>
5 #include <asm/byteorder.h>
6
7
8 #define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0)
9 #define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1)
10 #define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2)
11 #define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3)
12 #define SIOCGETPRL (SIOCDEVPRIVATE + 4)
13 #define SIOCADDPRL (SIOCDEVPRIVATE + 5)
14 #define SIOCDELPRL (SIOCDEVPRIVATE + 6)
15 #define SIOCCHGPRL (SIOCDEVPRIVATE + 7)
16 #define SIOCGET6RD (SIOCDEVPRIVATE + 8)
17 #define SIOCADD6RD (SIOCDEVPRIVATE + 9)
18 #define SIOCDEL6RD (SIOCDEVPRIVATE + 10)
19 #define SIOCCHG6RD (SIOCDEVPRIVATE + 11)
20
21 #define GRE_CSUM __cpu_to_be16(0x8000)
22 #define GRE_ROUTING __cpu_to_be16(0x4000)
23 #define GRE_KEY __cpu_to_be16(0x2000)
24 #define GRE_SEQ __cpu_to_be16(0x1000)
25 #define GRE_STRICT __cpu_to_be16(0x0800)
26 #define GRE_REC __cpu_to_be16(0x0700)
27 #define GRE_FLAGS __cpu_to_be16(0x00F8)
28 #define GRE_VERSION __cpu_to_be16(0x0007)
29
30 struct ip_tunnel_parm {
31 char name[IFNAMSIZ];
32 int link;
33 __be16 i_flags;
34 __be16 o_flags;
35 __be32 i_key;
36 __be32 o_key;
37 struct iphdr iph;
38 };
39
40 enum {
41 IFLA_IPTUN_UNSPEC,
42 IFLA_IPTUN_LINK,
43 IFLA_IPTUN_LOCAL,
44 IFLA_IPTUN_REMOTE,
45 IFLA_IPTUN_TTL,
46 IFLA_IPTUN_TOS,
47 __IFLA_IPTUN_MAX,
48 };
49 #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
50
51 /* SIT-mode i_flags */
52 #define SIT_ISATAP 0x0001
53
54 struct ip_tunnel_prl {
55 __be32 addr;
56 __u16 flags;
57 __u16 __reserved;
58 __u32 datalen;
59 __u32 __reserved2;
60 /* data follows */
61 };
62
63 /* PRL flags */
64 #define PRL_DEFAULT 0x0001
65
66 struct ip_tunnel_6rd {
67 struct in6_addr prefix;
68 __be32 relay_prefix;
69 __u16 prefixlen;
70 __u16 relay_prefixlen;
71 };
72
73 enum {
74 IFLA_GRE_UNSPEC,
75 IFLA_GRE_LINK,
76 IFLA_GRE_IFLAGS,
77 IFLA_GRE_OFLAGS,
78 IFLA_GRE_IKEY,
79 IFLA_GRE_OKEY,
80 IFLA_GRE_LOCAL,
81 IFLA_GRE_REMOTE,
82 IFLA_GRE_TTL,
83 IFLA_GRE_TOS,
84 IFLA_GRE_PMTUDISC,
85 IFLA_GRE_ENCAP_LIMIT,
86 IFLA_GRE_FLOWINFO,
87 IFLA_GRE_FLAGS,
88 __IFLA_GRE_MAX,
89 };
90
91 #define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1)
92
93 /* VTI-mode i_flags */
94 #define VTI_ISVTI 0x0001
95
96 enum {
97 IFLA_VTI_UNSPEC,
98 IFLA_VTI_LINK,
99 IFLA_VTI_IKEY,
100 IFLA_VTI_OKEY,
101 IFLA_VTI_LOCAL,
102 IFLA_VTI_REMOTE,
103 __IFLA_VTI_MAX,
104 };
105
106 #define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1)
107 #endif /* _UAPI_IF_TUNNEL_H_ */
This page took 0.039851 seconds and 5 git commands to generate.