Skip to content
  • Gerrit Renker's avatar
    dccp: Minimise header option overhead in setting the MPS · 361a5c1d
    Gerrit Renker authored
    
    
    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: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
    Acked-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    361a5c1d