• Gerrit Renker's avatar
    dccp: Initialisation and type-checking of feature sysctls · 883ca833
    Gerrit Renker authored
    This patch takes care of initialising and type-checking sysctls
    related to feature negotiation. Type checking is important since some
    of the sysctls now directly impact the feature-negotiation process.
    
    The sysctls are initialised with the known default values for each
    feature.  For the type-checking the value constraints from RFC 4340
    are used:
    
     * Sequence Window uses the specified Wmin=32, the maximum is ulong (4 bytes),
       tested and confirmed that it works up to 4294967295 - for Gbps speed;
     * Ack Ratio is between 0 .. 0xffff (2-byte unsigned integer);
     * CCIDs are between 0 .. 255;
     * request_retries, retries1, retries2 also between 0..255 for good measure;
     * tx_qlen is checked to be non-negative;
     * sync_ratelimit remains as before.
    
    Notes:
    ------
     1. Die s@sysctl_dccp_feat@sysctl_dccp@g since the sysctls are now in feat.c.
     2. As pointed out by Arnaldo, the pattern of type-checking repeats itself in
        other places, sometimes with exactly...
    883ca833
sysctl.c 2.87 KB