Hi Fred,

GUE uses UDP port to indicate GUE encapsulation as UDP payload and GUE has 
prototype field to indicate the payload type. Making an exception and requiring 
inspection of first nibble at end points is not a good idea.  

I don't like the combination approach. 

Regards,
Lucy

-----Original Message-----
From: Int-area [mailto:[email protected]] On Behalf Of Templin, Fred L
Sent: Tuesday, April 28, 2015 12:44 PM
To: Tom Herbert; Joe Touch
Cc: [email protected]
Subject: Re: [Int-area] Why combine IP-in-UDP with GUE?

Hi Tom,

> -----Original Message-----
> From: Tom Herbert [mailto:[email protected]]
> Sent: Tuesday, April 28, 2015 10:38 AM
> To: Joe Touch
> Cc: Templin, Fred L; [email protected]
> Subject: Re: [Int-area] Why combine IP-in-UDP with GUE?
> 
> 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

Right, that makes two ways of doing things (same as in AERO). First way is 
examine the first 4 bits - second way is examine the IP protocol number in the 
GUE header. So, the rule could be "if the first four bits encode some value 
other than 4 or 6, examine the IP protocol number in the GUE header".

Thanks - Fred
[email protected]

> 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

_______________________________________________
Int-area mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to