How to Set GSLB Algorithms at Both the GSLB Service and GSLB Pool Levels - Two-Level GSLB Pool Member Service Selection


In releases prior to Avi Vantage 17.2.3, exactly one of a GSLB service’s pools would be selected based on the value of its GslbPool.priority parameter, a value ranging from 1 to 100. Then, the value of the selected pool’s GslbPool.algorithm parameter would govern selection of a particular backing service within the pool.

The above-described two-level process (select a pool, then select a service) was embellished starting with release 17.2.3 via the incorporation of the GslbService.pool_algorithm parameter, which can take on one of two values:

  • GSLB_SERVICE_ALGORITHM_PRIORITY – a GSLB pool is selected based on its pool priority; this is the only behavior defined in releases prior to 17.2.3.
  • GSLB_SERVICE_ALGORITHM_GEO – a GSLB pool is selected based on its geolocation; this alternative is new with release 17.2.3.


In the below example, pressing the TAB key prior to completing the first command reveals the two CLI options introduced with 17.2.3: gslb_service_algorithm_geo and gslb_service_algorithm_priority. Once the GSLB service object named gs2 is created, definition of its GSLB pools begins with a single pool named grp1/, whose first member is located at IP address After the last save command, we see the fields that have been set for this bare-bones global service. Notice how the grp1 GSLB pool group has been assigned the GSLB_ALGORITHM_ROUND_ROBIN algorithm and priority = 10 by default.


[admin:john-ctlr-1]: > configure gslbservice gs2 algorithm gslb_service_algorithm_
gslb_service_algorithm_geo        Use the client (LDNS) source IP to choose the GSLB Pool closest by geographical location
gslb_service_algorithm_priority   Pick the GSLB pool with the highest priority.
[admin:john-ctlr-1]: > configure gslbservice gs1 algorithm gslb_service_algorithm_geo domain_names
New object being created
[admin:john-ctlr-1]: gslbservice> groups name grp1
New object being created
[admin:john-ctlr-1]: gslbservice:groups> members ip
New object being created
[admin:john-ctlr-1]: gslbservice:groups:members> save
[admin:john-ctlr-1]: gslbservice:groups> save
[admin:john-ctlr-1]: gslbservice> save
| Field                            | Value                                            |
| uuid                             | gslbservice-5030d012-c291-4717-8796-40d9cfc3ad1e |
| name                             | gs1                                              |
| domain_names[1]                  |                                        |
| groups[1]                        |                                                  |
|   name                           | grp1                                             |
|   priority                       | 10                                               |
|   algorithm                      | GSLB_ALGORITHM_ROUND_ROBIN                       |
|   members[1]                     |                                                  |
|     ip                           |                                          |
|     ratio                        | 1                                                |
|     enabled                      | True                                             |
| controller_health_status_enabled | True                                             |
| health_monitor_scope             | GSLB_SERVICE_HEALTH_MONITOR_ALL_MEMBERS          |
| enabled                          | True                                             |
| use_edns_client_subnet           | True                                             |
| wildcard_match                   | False                                            |
| site_persistence_enabled         | False                                            |
| algorithm                        | GSLB_SERVICE_ALGORITHM_GEO                       |
| is_federated                     | True                                             |
| tenant_ref                       | admin                                            |
[admin:john-ctlr-1]: >

Avi UI

In the GSLB service editor there are two fields via which to choose the algorithms that apply at the first (service) and second (pool) levels.

At the first (service) level one has two choices:

Selecting GSLB algorithm at service level

At the second (pool) level one has three choices: Selecting GSLB algorithm at pool level

Additional Information