linux/net/dccp
Gerrit Renker d83447f094 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>
2010-11-15 07:12:00 +01:00
..
ccids dccp ccid-2: Ack Vector interface clean-up 2010-11-10 21:20:07 +01:00
ackvec.c dccp ccid-2: Update code for the Ack Vector input/registration routine 2010-11-15 07:11:59 +01:00
ackvec.h dccp ccid-2: Update code for the Ack Vector input/registration routine 2010-11-15 07:11:59 +01:00
ccid.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ccid.h dccp: Return-value convention of hc_tx_send_packet() 2010-10-28 10:27:00 -07:00
dccp.h dccp ccid-2: Implementation of circular Ack Vector buffer with overflow handling 2010-11-10 21:21:35 +01:00
diag.c dccp_diag: LISTEN sockets don't have CCIDs 2008-12-17 16:08:01 -08:00
feat.c dccp: Kill dead code and add static markers. 2010-10-06 23:12:07 -07:00
feat.h dccp: Kill dead code and add static markers. 2010-10-06 23:12:07 -07:00
input.c dccp ccid-2: Consolidate Ack-Vector processing within main DCCP module 2010-11-15 07:11:59 +01:00
ipv4.c tproxy: fix hash locking issue when using port redirection in __inet_inherit_port() 2010-10-21 13:06:43 +02:00
ipv6.c tproxy: fix hash locking issue when using port redirection in __inet_inherit_port() 2010-10-21 13:06:43 +02:00
ipv6.h
Kconfig dccp: Lockless integration of CCID congestion-control plugins 2009-01-04 21:42:53 -08:00
Makefile dccp: Integrate the TFRC library with DCCP 2009-01-04 21:45:33 -08:00
minisocks.c dccp: fix the adjustments to AWL and SWL 2010-10-12 06:57:40 +02:00
options.c dccp ccid-2: Schedule Sync as out-of-band mechanism 2010-11-15 07:12:00 +01:00
output.c dccp ccid-2: Schedule Sync as out-of-band mechanism 2010-11-15 07:12:00 +01:00
probe.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
proto.c dccp: Refine the wait-for-ccid mechanism 2010-10-28 10:27:01 -07:00
sysctl.c sysctl net: Remove unused binary sysctl code 2009-11-12 02:05:06 -08:00
timer.c dccp: Refine the wait-for-ccid mechanism 2010-10-28 10:27:01 -07:00