Subject: Re: Kicking TCP

From: Vernon Schryver <[email-masked]>
Date: Wed, 8 Mar 2000 08:37:17 -0700 (MST)

> From: [email-masked] (Keith Scott)

> ...
> Our notion was to keep an LRU queue of flows that use that link, and to 
> send "Link Outage" messages to each of the sources.

Which router would send the messages, the near or far side of the link
from the point of view of the kick packet?

If it is the far side, then wouldn't it be a lot simpler and more
effective to either

 1. have the link layer tell the TCP state machines to retransmit any
  unacknowledged TCP bytes by forcing their retransmission timers
  to zero?  This is a layering violation, but I trust most of us
  are Sunday-only worshipers in that religion.

  If you want to get fancy, you could fail to reduce the congestion window.

 2. do what is common (albeit not common enough) and reasonable in in PPP
  implementations, which is to have a reasonable sized transmit queue 
  ( > typical window/MTU), and only send packets when the link seems
  healthy?  Don't you need such a queue to deal with bursts, so that the
  only modification would be to not drop IP packets when the link is
  broken, as is typical in link layer drivers, including Ethernet, FDDI,
  and 802.5?

Vernon Schryver    [email-masked]

---

From: Phil Karn <[email-masked]>
Date: Thu, 9 Mar 2000 15:25:00 -0800

>  are Sunday-only worshipers in that religion.

It's more than a technical layering violation, because how would
you do it if the TCP and the link layer are on separate machines?
You'd need to define some communication mechanism, which was the
intent of my ICMP SE message.

>  broken, as is typical in link layer drivers, including Ethernet, FDDI,

Again, I agree. I will add text that encourages the subnetwork designer
to use any internal information it may have about the state of the
link or subnetwork to block the acceptance of IP packets if it is clear
that those packets would be dropped, and to hold onto the most recent
packets that it may have accepted before the link/subnet went down
and to try to deliver them after the link/subnet comes back up.

Phil