cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

tun_proto.h (988B)


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