On 19 mei 2009, at 22:26, Joe Touch wrote:
The problem is that when a 1480 packet arrives and you do ROHC, it's
1450 only most of the time; sometimes it's 1481 because it needs the
full original header and the ROHC stream ID. Those "big" packets are
required by ROHC to resync, and would be dropped after IPsec.
In those cases the packet would be truncated so there's enough for
ROHC to resync but obviously the receiver doesn't get the original
packet so the sender will have to retransmit. This is not a problem if
the retransmitted packet does compress so it fits.
So as long as we can accurately predict which packets will compress
enough to fit upon retransmission it's safe to drop them if they do
and we send a too big if they don't.
Even if TCP does fast retransmit, at some point the stream needs to
get
through a payload of 1481, which will never get through. The result is
that ROHC will never resync, and *everything* will get thrown on the
floor...
Didn't you just suggest to just send enough of the original packet to
make ROHC do its thing? That piece of the packet should be small
enough to always fit.