361a5c1dd0
This patch resolves a long-standing FIXME to dynamically update the Maximum Packet Size depending on actual options usage. It uses the flags set by the feature-negotiation infrastructure to compute the required header option size. Most options are fixed-size, a notable exception are Ack Vectors (required currently only by CCID-2). These can have any length between 3 and 1020 bytes. As a result of testing, 16 bytes (2 bytes for type/length plus 14 Ack Vector cells) have been found to be sufficient for loss-free situations. There are currently no CCID-specific header options which may appear on data packets, thus it is not necessary to define a corresponding CCID field as suggested in the old comment. Further changes: ---------------- Adjusted the type of 'cur_mps' to match the unsigned return type of the function. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
ccids | ||
ackvec.c | ||
ackvec.h | ||
ccid.c | ||
ccid.h | ||
dccp.h | ||
diag.c | ||
feat.c | ||
feat.h | ||
input.c | ||
ipv4.c | ||
ipv6.c | ||
ipv6.h | ||
Kconfig | ||
Makefile | ||
minisocks.c | ||
options.c | ||
output.c | ||
probe.c | ||
proto.c | ||
sysctl.c | ||
timer.c |