On 5/26/2016 9:16 AM, Templin, Fred L wrote: >>>> There is an existing solution to the same problem. GUE allows >>>> encapsulation of IPv4 and IPv6, as well as other IP protocols (the GUE >>>> header indicates encapsulated protocol by IP number). The only >>>> material between GUE encapsulation of IP and IP in UDP is additional >>>> four byte header and associated processing of that. I don't think >>>> we've seen a use case where avoiding that overhead is critical >>>> motivation. >>> I thought at one time we had come up with an idea for omitting the GUE >>> header when the payload is a plain IPv4/IPv6 packet. There was a check >>> of the first four bits following the UDP header to see if they encoded the >>> value '4' or '6'. Did that not make it into the draft? >>> >> Yes, we had come up with the idea and I have implemented the >> prototype. It is not in the draft. I believe the only discernible >> benefit we could identify was that it saves 4 bytes of overhead. The >> major drawback is that this only works specifically for IPv4 and IPv6. > I don't see the drawback; I think those two IP protocol versions could > carry us forward into the forseeable future. Are you thinking there > could be another IP version on the near term horizon?
IMO, this is a bad idea unless the protocol is specifically limited to having IP as a payload. Otherwise, there's no way to ensure that some other protocol won't start off with those values. In particular, ICMP for IPv4 isn't an IP packet but has no rule about the first 4 bits. That field ought to be large enough to handle any protocol that might need to share the path with IP. Joe _______________________________________________ Int-area mailing list [email protected] https://www.ietf.org/mailman/listinfo/int-area
