remarkable-linux/net/dccp
Gerrit Renker 08a29e41bb [DCCP]: Update comments on precisely which packets can be retransmitted
This updates program documentation: spell out precise conditions about
which packets are eligible for retransmission (which is actually quite
hard to extract from RFC 4340).

It is based on the following table derived from RFC 4340:

+-----------+---------------------------------+---------------------+
|   Type    | Retransmit?                     |  Remark             |
+-----------+---------------------------------+---------------------+
| Request   |  in client-REQUEST state        | sec. 8.1.1          |
| Response  |  NEVER                          | SHOULD NOT, 8.1.3   |
| Data      |  NEVER                          | unreliable protocol |
| Ack       |  possible in client-PARTOPEN    | sec. 8.1.5          |
| DataAck   |  NEVER                          | unreliable protocol |
| CloseReq  |  only in server-CLOSEREQ state  | MUST, sec. 8.3      |
| Close     |  in node-CLOSING state          | MUST, sec. 8.3      |
+-----------+-------------------------------------------------------+
| Reset     |  only in response to other packets                    |
| Sync      |  only in response to sequence-invalid packets (7.5.4) |
| SyncAck   |  only in response to Sync packets                     |
+-----------+-------------------------------------------------------+

Hence the only packets eligible for retransmission are:
       * Requests in client-REQUEST  state (sec. 8.1.1)
       * Acks     in client-PARTOPEN state (sec. 8.1.5)
       * CloseReq in server-CLOSEREQ state (sec. 8.3)
       * Close    in   node-CLOSING  state (sec. 8.3)

I had meant to put in a check for these types too, but have left that
for later.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
2006-12-02 21:22:16 -08:00
..
ccids [DCCP]: fix printk format warnings 2006-10-30 15:24:37 -08:00
ackvec.c [DCCP]: Update documentation references. 2006-10-24 16:17:51 -07:00
ackvec.h [DCCP]: Update documentation references. 2006-10-24 16:17:51 -07:00
ccid.c
ccid.h
dccp.h [DCCP]: Support for partial checksums (RFC 4340, sec. 9.2) 2006-12-02 21:22:09 -08:00
diag.c
feat.c
feat.h [DCCP]: Shift sysctls into feat.h 2006-09-22 15:18:16 -07:00
input.c [DCCP]: Update code comments for Step 2/3 2006-12-02 21:22:04 -08:00
ipv4.c [DCCP]: Support for partial checksums (RFC 4340, sec. 9.2) 2006-12-02 21:22:09 -08:00
ipv6.c [DCCP]: Support for partial checksums (RFC 4340, sec. 9.2) 2006-12-02 21:22:09 -08:00
ipv6.h
Kconfig [DCCP]: Fix DCCP Probe Typo 2006-12-02 21:22:01 -08:00
Makefile [DCCP]: Introduce dccp_probe 2006-09-24 18:08:17 -03:00
minisocks.c [DCCP]: Update code comments for Step 2/3 2006-12-02 21:22:04 -08:00
options.c [DCCP]: Update documentation references. 2006-10-24 16:17:51 -07:00
output.c [DCCP]: Support for partial checksums (RFC 4340, sec. 9.2) 2006-12-02 21:22:09 -08:00
probe.c [NET]: Fix kfifo_alloc() error check. 2006-11-25 15:16:49 -08:00
proto.c [DCCP]: Support for partial checksums (RFC 4340, sec. 9.2) 2006-12-02 21:22:09 -08:00
sysctl.c [DCCP]: Shift sysctls into feat.h 2006-09-22 15:18:16 -07:00
timer.c [DCCP]: Update comments on precisely which packets can be retransmitted 2006-12-02 21:22:16 -08:00