1 #ifndef __NET_TUN_PROTO_H
2 #define __NET_TUN_PROTO_H
4 #include <linux/kernel.h>
6 /* One byte protocol values as defined by VXLAN-GPE and NSH. These will
7 * hopefully get a shared IANA registry.
9 #define TUN_P_IPV4 0x01
10 #define TUN_P_IPV6 0x02
11 #define TUN_P_ETHERNET 0x03
12 #define TUN_P_NSH 0x04
13 #define TUN_P_MPLS_UC 0x05
15 static inline __be16
tun_p_to_eth_p(u8 proto
)
19 return htons(ETH_P_IP
);
21 return htons(ETH_P_IPV6
);
23 return htons(ETH_P_TEB
);
25 return htons(ETH_P_NSH
);
27 return htons(ETH_P_MPLS_UC
);
32 static inline u8
tun_p_from_eth_p(__be16 proto
)
37 case htons(ETH_P_IPV6
):
39 case htons(ETH_P_TEB
):
40 return TUN_P_ETHERNET
;
41 case htons(ETH_P_NSH
):
43 case htons(ETH_P_MPLS_UC
):