aboutsummaryrefslogtreecommitdiffstats
path: root/fs/eventfd.c
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2008-09-04 07:30:19 +0200
committerGerrit Renker <gerrit@erg.abdn.ac.uk>2008-09-04 07:45:33 +0200
commit88ddac513a4e7e04234214b600401ec22abfbb46 (patch)
treeac13a63da90853390b17cff4f3f304d72a6d5513 /fs/eventfd.c
parent55ebe3ab2d504bd3f3eeade0262826210019abda (diff)
downloadkernel_samsung_smdk4412-88ddac513a4e7e04234214b600401ec22abfbb46.zip
kernel_samsung_smdk4412-88ddac513a4e7e04234214b600401ec22abfbb46.tar.gz
kernel_samsung_smdk4412-88ddac513a4e7e04234214b600401ec22abfbb46.tar.bz2
dccp: Special case of the MPS for client-PARTOPEN with DataAcks
To increase robustness, it is necessary to resend Confirm feature-negotiation options, even though the RFC does not mandate it. But feature negotiation options can take (much) more room than the options on common DataAck packets. Instead of reducing the MPS always for a case which only applies to the three messages send during initial handshake, this patch devises a special case: if the payload length of the DataAck in PARTOPEN is too large, an Ack is sent to carry the options, and the feature-negotiation list is then flushed. This means that the server gets two Acks for one Response. If both Acks get lost, it is probably better to restart the connection anyway and devising yet another special-case does not seem worth the extra complexity. The patch (over-)estimates the expected overhead to be 32*4 bytes -- commonly seen values were 20-90 bytes for initial feature-negotiation options. It uses sizeof(u32) to mean "aligned units of 4 bytes". For consistency, another use of sizeof is modified. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Diffstat (limited to 'fs/eventfd.c')
0 files changed, 0 insertions, 0 deletions