FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
vxlan_gpe_packet.h File Reference

VXLAN GPE packet header structure. More...

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vxlan_gpe_header_t
 VXLAN GPE Header definition. More...
 

Macros

#define foreach_vxlan_gpe_protocol
 From draft-quinn-vxlan-gpe-03.txt. More...
 
#define VXLAN_GPE_FLAGS_I   0x08
 
#define VXLAN_GPE_FLAGS_P   0x04
 
#define VXLAN_GPE_FLAGS_O   0x01
 
#define VXLAN_GPE_VERSION   0x0
 

Enumerations

enum  vxlan_gpe_protocol_t { VXLAN_GPE_PROTOCOL_MAX }
 Struct for VXLAN GPE support inner protocol definition. More...
 

Detailed Description

VXLAN GPE packet header structure.

Definition in file vxlan_gpe_packet.h.

Macro Definition Documentation

◆ foreach_vxlan_gpe_protocol

#define foreach_vxlan_gpe_protocol
Value:
_ (0x01, IP4) \
_ (0x02, IP6) \
_ (0x03, ETHERNET) \
_ (0x04, NSH) \
_ (0x05, IOAM)

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] VXLAN GPE support inner protocol definition. 1 - IP4 2 - IP6 3 - ETHERNET 4 - NSH

Definition at line 67 of file vxlan_gpe_packet.h.

◆ VXLAN_GPE_FLAGS_I

#define VXLAN_GPE_FLAGS_I   0x08

Definition at line 107 of file vxlan_gpe_packet.h.

◆ VXLAN_GPE_FLAGS_O

#define VXLAN_GPE_FLAGS_O   0x01

Definition at line 109 of file vxlan_gpe_packet.h.

◆ VXLAN_GPE_FLAGS_P

#define VXLAN_GPE_FLAGS_P   0x04

Definition at line 108 of file vxlan_gpe_packet.h.

◆ VXLAN_GPE_VERSION

#define VXLAN_GPE_VERSION   0x0

Definition at line 110 of file vxlan_gpe_packet.h.

Enumeration Type Documentation

◆ vxlan_gpe_protocol_t

Struct for VXLAN GPE support inner protocol definition.

1 - IP4 2 - IP6 3 - ETHERNET 4 - NSH 5 - IOAM

Enumerator
VXLAN_GPE_PROTOCOL_MAX 

Definition at line 83 of file vxlan_gpe_packet.h.