API Objects Reference

L4 farm

A farm is a container for real servers. The contained servers must have the same role and deliver the same service.

Farm attributes and options define the session behavior on the server side of the load balancer, such as how to check, dispatch connections, connect, forward data, and maintain sessions to real servers.

Farms are identified by a name; allowed characters include alpha-numeric, dot, dash, and underscore.

The available farm attributes are listed below:

balance Jump to heading

  • Definition: Load balancing algorithm used to dispatch new connections on real servers.

  • Type: enum

  • Default value: roundrobin

Value Description
roundrobin Each server is used in turn according to their weights.
least-connections The new connection is affected to the server with the lowest number of connections.
hash-source The source IP address is hashed and divided by the total weight of the running servers to designate which server will receive the request. This ensures that the same client IP address will always reach the same server as long as no server goes down or up.
hash-destination Assigns jobs to servers through looking up a statically assigned hash table based on destination IP addresses.
hash-source-dest Assigns jobs to servers through looking up a statically assigned hash table based on both source and destination IP addresses.
shortest-expected-delay Assign an incoming job to the server with the shortest expected delay.
never-queue Assign an incoming job to an idle server if there is one instead of waiting for a fast one; if all the servers are busy, it adopts the Shortest Expected Delay policy to assign the job.

mode Jump to heading

  • Definition: Deployment mode

  • Type: enum

  • Default value: Destination IP masquerading

Value Description
gateway Direct routing or direct server return (DSR) mode
nat Destination IP masquerading (Network Address Translation, or NAT)
tunnel ipip encapsulation (tunneling)

persistence Jump to heading

  • Definition: If this option is enabled, multiple requests from a client (same source IP) are redirected to the same real server selected for the first request. This option may be used in conjunction with protocols such as SSL or FTP where it is important that clients consistently connect with the same real server.

  • Type: enum

  • Default value: Persistence is disabled

Value Description
enabled persistence is enabled

persistence-timeout Jump to heading

Info

This attribute is ignored if persistence is not set to enabled.

  • Definition: Value in seconds specify how long sessions are kept persistence load balance table.

  • Type: integer

  • Default value: 300 seconds

persistence-netmask Jump to heading

Info

This attribute is ignored if persistence is not set to enabled.

  • Definition: Specify the granularity of persistence

  • Type: ip

  • Default value: 255.255.255.255

service-address Jump to heading

  • Definition: IP address on which to intercept traffic

  • Type: ip

  • Default value: no interception

service-port Jump to heading

Info

This attribute is ignored unless service-address is configured.

  • Definition: network port to intercept traffic on

  • Type: port

  • Default value: all ports for the service-address are intercepted

  • Particular value: 0 means interception of all ports

service-protocol Jump to heading

Info

This attribute is ignored unless service-address is configured.

  • Definition: layer 4 protocol (udp or tcp) to intercept

  • Type: enum

  • Default value: tcp is intercepted

Value Description
tcp intercept tcp
udp intercept udp

check-interval Jump to heading

  • Definition: Interval between two consecutive server health checks in seconds

  • Type: integer

  • Default value: 10

check-port Jump to heading

  • Definition: Destination TCP port used to perform health check

  • Type: integer

  • Default value: Server port is used

check-timeout Jump to heading

  • Definition: Additional health check timeout, starts after the connection has been established on the server

  • Type: integer

  • Default value: check-interval/2

check-source Jump to heading

  • Definition: Source IP address to use when performing health checks

  • Type: ip

  • Default value: First load balancer interface address is used

adv-check Jump to heading

  • Definition: Advanced health check method

  • Type: enum

  • Default value: icmp

Value Description
http Use an http request health checks for server testing, If http status code 200 is returned, check is successful
tcp Perform a tcp connect. If connect accepted, check is successful
icmp process an icmp echo to server, if echo reply received, check is successful

adv-check-http-uri Jump to heading

Info

This attribute is ignored unless adv-check is set to http.

  • Definition: Requested URI for HTTP health check

  • Type: string

  • Default value: /

adv-check-http-status-code Jump to heading

Info

This attribute is ignored unless adv-check is set to http.

  • Definition: HTTP status code value to consider check successful

  • Type: integer

  • Default value: 200

Do you have any suggestions on how we can improve the content of this page?