Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) #ifndef __NET_TUN_PROTO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #define __NET_TUN_PROTO_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) #include <linux/kernel.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) /* One byte protocol values as defined by VXLAN-GPE and NSH. These will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  * hopefully get a shared IANA registry.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #define TUN_P_IPV4      0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define TUN_P_IPV6      0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define TUN_P_ETHERNET  0x03
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define TUN_P_NSH       0x04
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define TUN_P_MPLS_UC   0x05
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) static inline __be16 tun_p_to_eth_p(u8 proto)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 	switch (proto) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	case TUN_P_IPV4:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 		return htons(ETH_P_IP);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	case TUN_P_IPV6:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 		return htons(ETH_P_IPV6);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	case TUN_P_ETHERNET:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 		return htons(ETH_P_TEB);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	case TUN_P_NSH:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 		return htons(ETH_P_NSH);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 	case TUN_P_MPLS_UC:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 		return htons(ETH_P_MPLS_UC);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) static inline u8 tun_p_from_eth_p(__be16 proto)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	switch (proto) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	case htons(ETH_P_IP):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 		return TUN_P_IPV4;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 	case htons(ETH_P_IPV6):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 		return TUN_P_IPV6;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	case htons(ETH_P_TEB):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 		return TUN_P_ETHERNET;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	case htons(ETH_P_NSH):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 		return TUN_P_NSH;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 	case htons(ETH_P_MPLS_UC):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 		return TUN_P_MPLS_UC;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 	return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) #endif