I said that the IBM protocol degrades gracefully. I think we are misunderstanding each other here. Well, there's only one MR, and it becomes a bottleneck.
All traffic is funneled to the subnet it's connected to, and then fanned out to the BASs.
We need to send it until we get an ack from the other end. You DON'T want to be using keepalives, precicely because they're not keepalives, but makedeads. They don't keep a connection alive, they kill it if it gets flakey. Besides, what you're suggesting involves changing TCP in all hosts, and we most certainly don't want to do that. And that's the right approach.