Forum Discussion

Dave_W__178431's avatar
Icon for Nimbostratus rankNimbostratus
Apr 12, 2015

GTM Topology Load Balancing - Order of Operation

Two-part question:

1.) For wide IP-level topology load balancing, what takes precedence: order, weight, or prefix length? (Assuming topology load balancing is choosing between pools based on source IP subnet).

2.) This question came about due to a situation in which I'm seeing some unexpected LB results. Given the below topology configuration (11.x)

1   IP Subnet is    Pool is West_DC_Pool    1
2   IP Subnet is    Pool is West_DC_Pool    150
3   IP Subnet is    Pool is East_DC_Pool    1
4   IP Subnet is    Pool is East_DC_Pool    100

The LDNS server IP is (there's only one LDNS server at the moment)

The East_DC_Pool is being chosen every time. Based on the logs, it seems to be comparing 1 ( with a weight of 1) to 4 ( with a weight of 100) and therefore 4 is winning based on a weight of 100. No mention of 2 ( with a weight of 150) in the logs.

If I delete 1, then 2 ( with weight of 150) wins so traffic is then sent to West_DC_Pool. Now re-adding 1 ( with weight 1) causes 4 (East_DC_Pool) to win again. Is this expected behavior??? I would have expected in all cases (with a LDNS IP of that traffic would be routed to the West_DC_Pool based on either longest prefix match(1 would win), weight(2 would win), or order (again 1 would win). But maybe there's something about the order of operation that I'm unaware of.

Thanks in advance, Dave

3 Replies

  • Hi Dave, I think you are correct on this since GTM load balances to the server object with the highest weight and Longest Match option based on the origin of the request.


    do you have any other settings enabled on Wide IP like persistence ?


  • Making the topology records so that the source networks don't overlap was the easy/quick fix. At this point what I ran into seems to be a bug in 11.6 (I'm running VE), so just a fyi to others out there to avoid defining overlapping source networks in topology records in this version of code. Best to play it safe and use "Is" along with "Is not" as opposed to "Is" (with a specific network) and "Is"