dccp ccid-2: Schedule Sync as out-of-band mechanism
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Sun, 14 Nov 2010 16:25:46 +0000 (17:25 +0100)
committerGerrit Renker <gerrit@erg.abdn.ac.uk>
Mon, 15 Nov 2010 06:12:00 +0000 (07:12 +0100)
commitd83447f0944e73d690218d79c07762ffa4ceb9e4
tree2a9adf943eee50d8c495ac9302692a277d862d92
parent18219463c884bfdb7954d298b9edb5194b14d621
dccp ccid-2: Schedule Sync as out-of-band mechanism

The problem with Ack Vectors is that
  i) their length is variable and can in principle grow quite large,
 ii) it is hard to predict exactly how large they will be.

Due to the second point it seems not a good idea to reduce the MPS; in
particular when on average there is enough room for the Ack Vector and an
increase in length is momentarily due to some burst loss, after which the
Ack Vector returns to its normal/average length.

The solution taken by this patch is to subtract a minimum-expected Ack Vector
length from the MPS, and to defer any larger Ack Vectors onto a separate
Sync - but only if indeed there is no space left on the skb.

This patch provides the infrastructure to schedule Sync-packets for transporting
(urgent) out-of-band data. Its signalling is quicker than scheduling an Ack, since
it does not need to wait for new application data.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
include/linux/dccp.h
net/dccp/options.c
net/dccp/output.c