Andy Furniss wrote:

Mark Butler wrote:

Andy Furniss wrote:

Mark Butler wrote:

There is no problem manipulating the TCP window per se. The problem is advertising a window and then shrinking it faster than it is naturally reduced by incoming data, essentially granting credit to transmit x bytes, and then revoking that credit. The net result is the peer transmits data the advertiser said it was going to accept, and then the advertiser drops it on the floor. RFC793 only has a SHOULD NOT for this practice, but it is universally condemned nonetheless.

Thanks Mark, I guess packeteer closes window down properly, I thought Dave's reply meant that doing that was Treason.

Packeteer is almost certainly being cavalier about the way it reduces windows. It could be a serious problem, depending on the way it treats traffic on the return path. The "treason" thing is a joke. It is like a bank extending you a credit line one day, and revoking it the next.


I don't use or know of anyone who uses Packeteer - or have you tested?

My post was just a suggestion because I think that it uses adv window manipulation. I misunderstood DaveMs reply -

"it is illegally advertising a smaller window that it previously
did."

to mean that it was illegal to close down a window at all - you cleared that up - ie it is legal if you close it by <= the amount of data that has just been acked. I assume this won't cause the Treason messaage so don't really understand why it is cavalier - or do you just mean the whole idea of window manipulation to shape may be dodgey but legal?

I thought that Packeteer was causing the error messages. If not then no problem. The "treason" messages will not occur if the window is reduced normally. The window is there for a reason - namely flow control. A zero rwnd means "I can't handle any more data right now". That is perfectly legal as long as previously granted transmit credit is not withdrawn. Generally speaking the rwnd always drops to zero when the receive buffer is full.

- Mark B.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to