• Pablo Neira Ayuso's avatar
    ipvs: add support for sync threads · f73181c8
    Pablo Neira Ayuso authored
    	Allow master and backup servers to use many threads
    for sync traffic. Add sysctl var "sync_ports" to define the
    number of threads. Every thread will use single UDP port,
    thread 0 will use the default port 8848 while last thread
    will use port 8848+sync_ports-1.
    
    	The sync traffic for connections is scheduled to many
    master threads based on the cp address but one connection is
    always assigned to same thread to avoid reordering of the
    sync messages.
    
    	Remove ip_vs_sync_switch_mode because this check
    for sync mode change is still risky. Instead, check for mode
    change under sync_buff_lock.
    
    	Make sure the backup socks do not block on reading.
    
    Special thanks to Aleksey Chudov for helping in all tests.
    Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
    Tested-by: default avatarAleksey Chudov <aleksey.chudov@gmail.com>
    Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
    f73181c8
ip_vs_sync.c 51.6 KB