Subject: Re: [shim6] [homegate] Routing protocols

From: Iljitsch van Beijnum <[email-masked]>
Date: Thu, 29 Oct 2009 10:09:44 +0100

[cc to shim6 list, prune as required]

Shim6ers: there is currently a discussion on the (fairly) new homegate  
list about whether multiple home gateways would have to run a routing  
protocol between them.

On 28 okt 2009, at 16:29, Bill Strahm wrote:

> Please just say no to this extra complexity.  Seriously, what  
> percentage of the market do you expect to have multiple WAN  
> connections to the internet

Well, this is exactly the deployment scenario for Shim6.

For Shim6 to work, the hosts must be able to use different addresses  
from different ISPs. If you have two IPv6 routers that both announce a  
different prefix, that can work well.

There is no need for the two routers to coordinate. There is the issue  
of what happens when a packet with a source address from ISP A ends up  
on the router connected to ISP B, but this issue can be solved by the  
host paying attention to which router it sends which packets to.  
Having the routers sort this out would be more complex, I don't think  
simply running a routing protocol solves this. The only way this  
becomes a show stopper is if there are the two routers connected to  
ISPs A and B, and then there is a third router connected to the first  
two, and hosts sit behind the third one. In this case the hosts can't  
direct packets to the right router, so the routers would have to sort  
things out.

Bottom line: as long as multiple routers can live on a subnet without  
getting in each other's way, we have 90% of what we need, so let's go  
for that now and see what more we can do at some later time.

> Step 1: Find a nice 80% of your user base use cases
> Step 2: Hyper optimize for the majority of the users
> Step 3: Simplify Simplify Simplify - only do as much as needed for  
> the simple cases - and no more
> Step 4: Think about advanced features.

It's good to optimize for the most common use cases, but it's also  
important to not break the remaining 20% for fear of pushing towards a  
monoculture. See what happened in the web browser space.