iptunnel: make TUNNEL_FLAGS available in uapi
ip l add dev tun type gretap external ip r a 10.0.0.1 encap ip dst 192.168.152.171 id 1000 dev gretap For gretap Key example when the command set the id but don't set the TUNNEL_KEY flags. There is no key field in the send packet In the lwtunnel situation, some TUNNEL_FLAGS should can be set by userspace Signed-off-by: wenxu <wenxu@ucloud.cn> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
8e1da73acd
Коммит
1875a9ab01
|
@ -144,25 +144,6 @@ struct ip_tunnel {
|
||||||
bool ignore_df;
|
bool ignore_df;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define TUNNEL_CSUM __cpu_to_be16(0x01)
|
|
||||||
#define TUNNEL_ROUTING __cpu_to_be16(0x02)
|
|
||||||
#define TUNNEL_KEY __cpu_to_be16(0x04)
|
|
||||||
#define TUNNEL_SEQ __cpu_to_be16(0x08)
|
|
||||||
#define TUNNEL_STRICT __cpu_to_be16(0x10)
|
|
||||||
#define TUNNEL_REC __cpu_to_be16(0x20)
|
|
||||||
#define TUNNEL_VERSION __cpu_to_be16(0x40)
|
|
||||||
#define TUNNEL_NO_KEY __cpu_to_be16(0x80)
|
|
||||||
#define TUNNEL_DONT_FRAGMENT __cpu_to_be16(0x0100)
|
|
||||||
#define TUNNEL_OAM __cpu_to_be16(0x0200)
|
|
||||||
#define TUNNEL_CRIT_OPT __cpu_to_be16(0x0400)
|
|
||||||
#define TUNNEL_GENEVE_OPT __cpu_to_be16(0x0800)
|
|
||||||
#define TUNNEL_VXLAN_OPT __cpu_to_be16(0x1000)
|
|
||||||
#define TUNNEL_NOCACHE __cpu_to_be16(0x2000)
|
|
||||||
#define TUNNEL_ERSPAN_OPT __cpu_to_be16(0x4000)
|
|
||||||
|
|
||||||
#define TUNNEL_OPTIONS_PRESENT \
|
|
||||||
(TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT | TUNNEL_ERSPAN_OPT)
|
|
||||||
|
|
||||||
struct tnl_ptk_info {
|
struct tnl_ptk_info {
|
||||||
__be16 flags;
|
__be16 flags;
|
||||||
__be16 proto;
|
__be16 proto;
|
||||||
|
|
|
@ -160,4 +160,24 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1)
|
#define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1)
|
||||||
|
|
||||||
|
#define TUNNEL_CSUM __cpu_to_be16(0x01)
|
||||||
|
#define TUNNEL_ROUTING __cpu_to_be16(0x02)
|
||||||
|
#define TUNNEL_KEY __cpu_to_be16(0x04)
|
||||||
|
#define TUNNEL_SEQ __cpu_to_be16(0x08)
|
||||||
|
#define TUNNEL_STRICT __cpu_to_be16(0x10)
|
||||||
|
#define TUNNEL_REC __cpu_to_be16(0x20)
|
||||||
|
#define TUNNEL_VERSION __cpu_to_be16(0x40)
|
||||||
|
#define TUNNEL_NO_KEY __cpu_to_be16(0x80)
|
||||||
|
#define TUNNEL_DONT_FRAGMENT __cpu_to_be16(0x0100)
|
||||||
|
#define TUNNEL_OAM __cpu_to_be16(0x0200)
|
||||||
|
#define TUNNEL_CRIT_OPT __cpu_to_be16(0x0400)
|
||||||
|
#define TUNNEL_GENEVE_OPT __cpu_to_be16(0x0800)
|
||||||
|
#define TUNNEL_VXLAN_OPT __cpu_to_be16(0x1000)
|
||||||
|
#define TUNNEL_NOCACHE __cpu_to_be16(0x2000)
|
||||||
|
#define TUNNEL_ERSPAN_OPT __cpu_to_be16(0x4000)
|
||||||
|
|
||||||
|
#define TUNNEL_OPTIONS_PRESENT \
|
||||||
|
(TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT | TUNNEL_ERSPAN_OPT)
|
||||||
|
|
||||||
#endif /* _UAPI_IF_TUNNEL_H_ */
|
#endif /* _UAPI_IF_TUNNEL_H_ */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче