Hi.
I'm new to the list, so please bear with me (though some of
you might recognize me from the ppp-2.2 release about 3 years ago).
One of my clients wants me to integrate MPPC into the Linux
kernel, which I'm new to (but I've worked with 4.4BSD and Mach).
It looks straightforward enough except for one potential hitch: the
way MPPC handles resynchronisation after a lost frame. Here's what
the RFC says:
4.3 Synchronization
Packets may be lost during transfer. If the decompressor maintained
coherency count does not match the coherency count received in the
compressed packet, the decompressor drops the packet and sends a CCP
Reset-Request packet. The compressor on receiving this packet flushes
the history buffer and sets the FLUSHED bit in the next packet it
sends. The decompressor on receiving a packet with its FLUSHED bit
set flushes its history buffer and sets its coherency count to the
one transmitted by the compressor in that packet. Thus
synchronization is achieved without a CCP Reset-Ack packet.
Hmmm.... a bit tricky, that.
What this implies is that if I get an out-of-sequence packet, then
I need to send an indication to the pppd associated with this
connection so that he will send a Reset-Request. Then, the
sending pppd (or whatever) needs to inform the mppc state in the
kernel to generate a FLUSH.
This would seem to be non-trivial, unless I am missing something
obvious. There doesn't seem to be a way to send this information
through the "struct compessor" hooks. Unless that is what "reset"
is for. The RFC suggests that a Reset-Ack shouldn't be generated.
Am I missing anything?
Thanks,
-Philip
-
To unsubscribe from this list: send the line "unsubscribe linux-ppp" in
the body of a message to [EMAIL PROTECTED]