brian e0d5cac898 Implement Reset{Req,Ack} properly, as per rfc 1962.
(I completely mis-read the rfc last time 'round!)

This means:
  o Better CCP/WARN Reset diagnostics.
  o After we've sent a REQ and before we've received an ACK, we drop
    incoming compressed data and send another REQ.
  o Before sending an ACK, re-sequence all pending PRI_NORMAL data in
    the modem queue so that pending packets won't get to the peer
    *after* the ResetAck.
  o Send ACKs with the `identifier' from the REQ frame.
  o After we've received a correct ACK, duplicate ACKs are ok (and will
    reset our history).
  o Incorrect ACKs (not matching the last REQ) are moaned about and dropped.

Also,

  o Calculate the correct FCS after compressing a packet.  DEFLATE
    *may* produce an mbuf with more than a single link in the chain,
    but HdlcOutput didn't know how to calculate the FCS :-(
  o Make `struct fsm'::reqid a u_char, not an int.
    This fix will prevent us from sending id `255' 2,000,000,000 times
    before wrapping to `0' for another 2,000,000,000 sends :-/
  o Bump the version number a little.

The end result:  DEFLATE now works over an unreliable link layer.
                 I can txfr a 1.5Mb kernel over a (rather bad) null-modem
                 cable at an average of 21679 bytes per second using rcp.
Repeat after me: Don't test compression using a loopback ppp/tcp setup as
                 we never lose packets and therefore never have to reset!
1998-01-10 01:55:11 +00:00
..
1997-09-01 06:11:40 +00:00
1997-09-01 06:12:37 +00:00
1997-09-02 06:37:48 +00:00
1998-01-07 07:43:04 +00:00
1997-09-17 06:29:23 +00:00
1997-09-17 06:30:22 +00:00
1997-09-19 06:27:30 +00:00
1997-07-06 07:38:36 +00:00
1997-09-19 06:29:52 +00:00
1997-10-12 11:51:25 +00:00
1997-12-16 17:43:33 +00:00
1997-12-27 20:49:39 +00:00
1997-09-25 06:36:29 +00:00
1997-09-25 06:38:17 +00:00
1997-10-01 06:27:34 +00:00
1997-02-22 16:15:28 +00:00
1997-02-22 16:15:28 +00:00
1997-12-30 00:38:56 +00:00
1997-10-02 11:46:53 +00:00
1997-02-22 16:15:28 +00:00
1997-12-25 09:36:42 +00:00
1997-10-06 11:38:30 +00:00
1997-09-19 15:41:57 +00:00
1997-10-09 07:17:36 +00:00
1997-12-25 09:36:42 +00:00
1997-10-10 06:27:07 +00:00
1997-10-10 06:31:07 +00:00
1997-10-10 06:31:07 +00:00
1997-10-13 11:03:36 +00:00
1997-10-13 11:05:07 +00:00
1997-10-13 11:06:30 +00:00
1997-10-13 11:08:47 +00:00
1997-12-16 17:43:33 +00:00
1997-12-28 20:52:56 +00:00
1997-10-13 11:27:55 +00:00
1997-10-15 06:41:19 +00:00
1997-12-29 20:07:17 +00:00
1997-10-15 06:43:54 +00:00
1997-10-20 12:41:41 +00:00
1997-10-20 12:43:03 +00:00
1997-12-29 20:07:17 +00:00
1997-10-20 12:55:49 +00:00
1997-10-27 07:53:22 +00:00
1997-10-27 12:21:10 +00:00
1997-10-27 12:23:08 +00:00
1997-12-27 18:54:23 +00:00
1997-10-27 12:29:25 +00:00
1997-10-27 12:30:30 +00:00
1997-10-29 07:26:09 +00:00
1997-12-07 02:27:48 +00:00