On Tue, Apr 28, 2015 at 10:30 AM, Joe Touch <[email protected]> wrote: > > > On 4/27/2015 5:11 PM, Tom Herbert wrote: >> On Mon, Apr 27, 2015 at 4:33 PM, Joe Touch <[email protected]> wrote: >>> >>> > ... > >>>> Without any optional fields or flags, the difference with GUE is an >>>> additional four byte header between the UDP header and the >>>> encapsulated IP header. For IPv4 that header is 0x00040000, and for >>>> IPv6 the header is 0x00290000. > > These should be the same bit pattern in that case.
There are different IP protocol numbers for encapsulating IPv4 and IPv6. 0x4 is the IP protocol for IPIP, 0x29 is the number for IPv4 encapsulation. Other encapsulations could be 0x47 for GRE in GUE, 0x89 would be number for MPLS, etc. > > ... >>> Does GUE actually treat the contents differently based on the type of >>> packet *while in transit*? If not, then, IMO, it'd be better to drop >>> those unnecessary 4 bytes. >>> >> They're not unnecessary! GUE defines a protocol header, and my example >> was to demonstrate the bare minimum header to just do IP-in-UDP. The >> other bits provide the extensibility for fragmentation, checksum, >> virtual networking, security, etc. and also the protocol number (GUE >> can encapsulate anything that can be expressed as an IP protocol). See >> draft-ietf-nvo3-gue-00. > > But you have still not explained how GUE treats IPv4 and IPv6 > differently on-path. If not, then those bits aren't needed in the GUE > header to differentiate between IPv4 and IPv6. > > Joe _______________________________________________ Int-area mailing list [email protected] https://www.ietf.org/mailman/listinfo/int-area
