RFC 2784 (rfc2784) - Page 3 of 9
Generic Routing Encapsulation (GRE)
Alternative Format: Original Text Document
RFC 2784 Generic Routing Encapsulation March 2000
2.2. Checksum Present (bit 0)
If the Checksum Present bit is set to one, then the Checksum and the
Reserved1 fields are present and the Checksum field contains valid
information. Note that a compliant implementation MUST accept and
process this field.
2.3. Reserved0 (bits 1-12)
A receiver MUST discard a packet where any of bits 1-5 are non-zero,
unless that receiver implements RFC 1701. Bits 6-12 are reserved for
future use. These bits MUST be sent as zero and MUST be ignored on
receipt.
2.3.1. Version Number (bits 13-15)
The Version Number field MUST contain the value zero.
2.4. Protocol Type (2 octets)
The Protocol Type field contains the protocol type of the payload
packet. These Protocol Types are defined in [RFC 1700] as "ETHER
TYPES" and in [ETYPES]. An implementation receiving a packet
containing a Protocol Type which is not listed in [RFC 1700] or
[ETYPES] SHOULD discard the packet.
2.5. Checksum (2 octets)
The Checksum field contains the IP (one's complement) checksum sum of
the all the 16 bit words in the GRE header and the payload packet.
For purposes of computing the checksum, the value of the checksum
field is zero. This field is present only if the Checksum Present bit
is set to one.
2.6. Reserved1 (2 octets)
The Reserved1 field is reserved for future use, and if present, MUST
be transmitted as zero. The Reserved1 field is present only when the
Checksum field is present (that is, Checksum Present bit is set to
one).
3. IPv4 as a Payload
When IPv4 is being carried as the GRE payload, the Protocol Type
field MUST be set to 0x800.
Farinacci, et al. Standards Track