• Stefan Berger's avatar
    netfilter: xt_connlimit: connlimit-above early loop termination · 44bd4de9
    Stefan Berger authored
    The patch below introduces an early termination of the loop that is
    counting matches. It terminates once the counter has exceeded the
    threshold provided by the user. There's no point in continuing the loop
    afterwards and looking at other entries.
    
    It plays together with the following code further below:
    
    return (connections > info->limit) ^ info->inverse;
    
    where connections is the result of the counted connection, which in turn
    is the matches variable in the loop. So once
    
            -> matches = info->limit + 1
    alias   -> matches > info->limit
    alias   -> matches > threshold
    
    we can terminate the loop.
    Signed-off-by: default avatarStefan Berger <stefanb@linux.vnet.ibm.com>
    Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
    44bd4de9
xt_connlimit.c 8.25 KB