# This is a test configuration.
# It presents 4 instances using fixed and relative port assignments from
# ports 8001 to 8004. TCP only is used, and the destination address is not
# relevant (use netstat -an).

global
	maxconn		100

defaults
        mode            tcp
        timeout client      15000
        timeout server      15000
        timeout connect      15000
	balance roundrobin

listen  fixed
        bind		:8001
	server s1 1.1.1.1:8001

listen  same
        bind		:8002
	server s2 1.1.1.2

listen  plus1000
        bind		:8003
	server s3 1.1.1.3:+1000

listen  minus1000
        bind		:8004
	server s4 1.1.1.4:-1000

