Subject: RE: old GSE idea

From: "Tony Li" <[email-masked]>
Date: Wed, 16 Apr 2003 13:45:42 -0700

|    The problem I have with GSE and its derivatives is that it is 
|    self-contained and doesn't provide hooks either forward or 
|    backward. It 
|    would be great if it could be part of a bigger picture, 
|    where we can 
|    upgrade from what we have today, to something a bit 
|    better, to GSE++, 
|    to a clean architecture where we really get to drop in new 
|    protocols 
|    for each layer like the OSI guys always promised we could.

Interesting.  I'm afraid that I don't really understand tho.
If you're suggesting that we won't be able to support a new
network layer protocol, then I'm confused.  If you're talking
about new transports, I don't think those are even challenging.

Tony

---

From: Iljitsch van Beijnum <[email-masked]>
Date: Wed, 16 Apr 2003 23:58:56 +0200

On woensdag, apr 16, 2003, at 22:45 Europe/Amsterdam, Tony Li wrote:

> |    It would be great if it could be part of a bigger picture,
> |    where we can upgrade from what we have today, to something a bit
> |    better, to GSE++, to a clean architecture where we really get to
> |    drop in new protocols

> network layer protocol, then I'm confused.

Look at what had to be done to support a new version of IP: changes to 
transport protocols and the API. That's not good.

We only had IPv4 for around 15 years before work started on IPv6. So 
I'm guessing most of us will see IPv7 well before we retire.

> If you're talking

Want to change from TCP to SCTP? Again, new API.

<rant>
Ok, all of this was unavoidable. But these new APIs address only the 
problem at hand, and don't provide a real improvement. If you want to 
support both IPv4 and IPv6 in an application, you need to support IPv4 
using the IPv4 socket API, IPv6 using the IPv6 socket API and then use 
your own logic to decide which to use when. And if IPv7 changes the 
address length and/or we want to support CLNS, that's another round of 
changes.
   <rant>
   And the really pathetic part is that the original socket API is kept
   general in order to support different protocols, which makes it
   incredibly inconvenient to program but not general enough to
   actually support anything else (usable) other than IPv4.
   </rant>
</rant>

So how does this apply to GSE++?

We now have TCP that groks pseudo headers with IPv4 addresses in them 
and IPv6 addresses in them. We extend this to 83 bits out of an IPv6 
address. This can go on for a while. It seems to me that we should 
either not care at all about the IP addresses in TCP and other 
transport protocols, or offload this aspect to IP.

This is the kind of stuff that doesn't cost us a lot now, but saves us 
a great deal in the future.