diff options
Diffstat (limited to 'vnet/vnet/vxlan-gpe/vxlan_gpe_packet.h')
-rw-r--r-- | vnet/vnet/vxlan-gpe/vxlan_gpe_packet.h | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/vnet/vnet/vxlan-gpe/vxlan_gpe_packet.h b/vnet/vnet/vxlan-gpe/vxlan_gpe_packet.h deleted file mode 100644 index ec3c2e586e1..00000000000 --- a/vnet/vnet/vxlan-gpe/vxlan_gpe_packet.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2015 Cisco and/or its affiliates. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * @file - * @brief VXLAN GPE packet header structure - * -*/ -#ifndef included_vxlan_gpe_packet_h -#define included_vxlan_gpe_packet_h - -/** - * From draft-quinn-vxlan-gpe-03.txt - * - * 0 1 2 3 - * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * |R|R|R|R|I|P|R|O|Ver| Reserved |Next Protocol | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | VXLAN Network Identifier (VNI) | Reserved | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * - * I Bit: Flag bit 4 indicates that the VNI is valid. - * - * P Bit: Flag bit 5 is defined as the Next Protocol bit. The P bit - * MUST be set to 1 to indicate the presence of the 8 bit next - * protocol field. - * - * O Bit: Flag bit 7 is defined as the O bit. When the O bit is set to 1, - * - * the packet is an OAM packet and OAM processing MUST occur. The OAM - * protocol details are out of scope for this document. As with the - * P-bit, bit 7 is currently a reserved flag in VXLAN. - * - * VXLAN-gpe bits 8 and 9 are defined as version bits. These bits are - * reserved in VXLAN. The version field is used to ensure backward - * compatibility going forward with future VXLAN-gpe updates. - * - * The initial version for VXLAN-gpe is 0. - * - * This draft defines the following Next Protocol values: - * - * 0x1 : IPv4 - * 0x2 : IPv6 - * 0x3 : Ethernet - * 0x4 : Network Service Header [NSH] - */ - -/** - * @brief VXLAN GPE support inner protocol definition. - * 1 - IP4 - * 2 - IP6 - * 3 - ETHERNET - * 4 - NSH - */ -#define foreach_vxlan_gpe_protocol \ -_ (0x01, IP4) \ -_ (0x02, IP6) \ -_ (0x03, ETHERNET) \ -_ (0x04, NSH) \ -_ (0x05, IOAM) - - -/** - * @brief Struct for VXLAN GPE support inner protocol definition. - * 1 - IP4 - * 2 - IP6 - * 3 - ETHERNET - * 4 - NSH - * 5 - IOAM - */ -typedef enum { -#define _(n,f) VXLAN_GPE_PROTOCOL_##f = n, - foreach_vxlan_gpe_protocol -#undef _ - VXLAN_GPE_PROTOCOL_MAX, -} vxlan_gpe_protocol_t; - -/** - * @brief VXLAN GPE Header definition - */ -typedef struct { - u8 flags; - /** Version and Reserved */ - u8 ver_res; - /** Reserved */ - u8 res; - /** see vxlan_gpe_protocol_t */ - u8 protocol; - /** VNI and Reserved */ - u32 vni_res; -} vxlan_gpe_header_t; - -#define VXLAN_GPE_FLAGS_I 0x08 -#define VXLAN_GPE_FLAGS_P 0x04 -#define VXLAN_GPE_FLAGS_O 0x01 -#define VXLAN_GPE_VERSION 0x0 - -#endif /* included_vxlan_gpe_packet_h */ |