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?