16 #ifndef included_vnet_geneve_packet_h 17 #define included_vnet_geneve_packet_h 31 #define GENEVE_MAX_OPT_LENGTH 128 52 #define LINUX_OPT_CLASS 0x0100 53 #define OVS_OPT_CLASS 0x0101 54 #define OVN_OPT_CLASS 0x0102 55 #define INT_OPT_CLASS 0x0103 56 #define VMWARE_OPT_CLASS 0x0104 95 #define GENEVE_BASE_HEADER_LENGTH 8 // GENEVE BASE HEADER in bytes 96 #define GENEVE_MAX_TOTAL_HDR_LENGTH 260 98 #define GENEVE_VERSION 0 99 #define GENEVE_ETH_PROTOCOL 0x6558 119 #define GENEVE_VERSION_SHIFT 30 120 #define GENEVE_OPTLEN_SHIFT 24 121 #define GENEVE_O_BIT_SHIFT 23 122 #define GENEVE_C_BIT_SHIFT 22 123 #define GENEVE_6_RESERVED_SHIFT 16 124 #define GENEVE_VNI_SHIFT 8 126 #define GENEVE_VERSION_MASK 0xC0000000 127 #define GENEVE_OPTLEN_MASK 0x3F000000 128 #define GENEVE_O_BIT_MASK 0x00800000 129 #define GENEVE_C_BIT_MASK 0x00400000 130 #define GENEVE_6_RESERVED_MASK 0x003F0000 131 #define GENEVE_PROTOCOL_MASK 0x0000FFFF 132 #define GENEVE_VNI_MASK 0xFFFFFF00 static u8 vnet_get_geneve_critical_bit(geneve_header_t *h)
static void vnet_geneve_hdr_1word_hton(geneve_header_t *h)
#define GENEVE_OPTLEN_MASK
static u32 vnet_get_geneve_vni(geneve_header_t *h)
#define GENEVE_VERSION_SHIFT
#define GENEVE_O_BIT_SHIFT
#define GENEVE_C_BIT_MASK
static u8 vnet_get_geneve_options_len(geneve_header_t *h)
#define GENEVE_PROTOCOL_MASK
static void vnet_set_geneve_oamframe_bit(geneve_header_t *h, u8 oam)
static u32 vnet_get_geneve_vni_bigendian(geneve_header_t *h)
#define GENEVE_VERSION_MASK
static void vnet_set_geneve_options_len(geneve_header_t *h, u8 len)
static void vnet_set_geneve_vni(geneve_header_t *h, u32 vni)
static void vnet_geneve_hdr_1word_ntoh(geneve_header_t *h)
vl_api_ip_proto_t protocol
static void vnet_set_geneve_version(geneve_header_t *h, u8 version)
static void vnet_set_geneve_protocol(geneve_header_t *h, u16 protocol)
#define GENEVE_OPTLEN_SHIFT
static u8 vnet_get_geneve_oamframe_bit(geneve_header_t *h)
static u8 vnet_get_geneve_version(geneve_header_t *h)
static void vnet_set_geneve_critical_bit(geneve_header_t *h, u8 critical_opts)
#define GENEVE_O_BIT_MASK
#define GENEVE_C_BIT_SHIFT
static u16 vnet_get_geneve_protocol(geneve_header_t *h)