• Julian Anastasov's avatar
    ipvs: reduce sync rate with time thresholds · 749c42b6
    Julian Anastasov authored
    	Add two new sysctl vars to control the sync rate with the
    main idea to reduce the rate for connection templates because
    currently it depends on the packet rate for controlled connections.
    This mechanism should be useful also for normal connections
    with high traffic.
    
    sync_refresh_period: in seconds, difference in reported connection
    	timer that triggers new sync message. It can be used to
    	avoid sync messages for the specified period (or half of
    	the connection timeout if it is lower) if connection state
    	is not changed from last sync.
    
    sync_retries: integer, 0..3, defines sync retries with period of
    	sync_refresh_period/8. Useful to protect against loss of
    	sync messages.
    
    	Allow sysctl_sync_threshold to be used with
    sysctl_sync_period=0, so that only single sync message is sent
    if sync_refresh_period is also 0.
    
    	Add new field "sync_endtime" in connection structure to
    hold the reported time when connection expires. The 2 lowest
    bits will represent the retry count.
    
    	As the sysctl_sync_period now can be 0 use ACCESS_ONCE to
    avoid division by zero.
    
    	Special thanks to Aleksey Chudov for being patient with me,
    for his extensive reports and 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>
    749c42b6
ip_vs.h 41.5 KB