Hi Joe, > -----Original Message----- > From: Joe Touch [mailto:[email protected]] > Sent: Thursday, May 26, 2016 9:57 AM > To: Templin, Fred L <[email protected]>; Tom Herbert > <[email protected]> > Cc: [email protected] > Subject: Re: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03 > > > > On 5/26/2016 9:40 AM, Templin, Fred L wrote: > > Hi Joe, > > > >> -----Original Message----- > >> From: Joe Touch [mailto:[email protected]] > >> Sent: Thursday, May 26, 2016 9:34 AM > >> To: Templin, Fred L <[email protected]>; Tom Herbert > >> <[email protected]> > >> Cc: [email protected] > >> Subject: Re: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03 > >> > >> > >> > >> 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. > > Tom's proposal unambiguously differentiates raw IPv4 and IPv6 from > > all other encapsulations. If it is raw IPv4 or IPv6, the GUE 4-byte header > > is not present. Otherwise, the GUE 4-byte header is present. > > > The only way the proposal "unambiguously" knows the difference is when > the first 4 bits are 4 or 6, but those are valid configurations of the > first 4 bits of other protocols (notably ICMPv4).
There is more to it than that - Tom's proposal can unambiguously distinguish raw IPv4/IPv6 from all others. > So if you see 4 or 6, you can't just assume that the GUE header is not > present. You don't look for 4 or 6; you look for the 2nd-most significant bit being set to 1. If it is set to 1, then you examine the 3rd and 4th MSBs and act only of the combined 4 MSBs are either 4 or 6. Tom can state this more eloquently and accurately than I just did... Thanks - Fred > Joe _______________________________________________ Int-area mailing list [email protected] https://www.ietf.org/mailman/listinfo/int-area
