Hey David
The GTM uses the weight when the source is the same. Please check the following statement:
If the type of LDNS request source statement is the same in multiple topology records and the type of destination statement is the same in those records, the system then uses the value of the weight from highest to lowest to sort the records.
The example shows a list of topology records sorted automatically using Longest Match. Note that the fourth and fifth records have the same LDNS subnet and the destinations are both of type State. Therefore, the weight determines the position in the list; thus, the record with the highest weight is first.
- ldns: subnet 192.168.69.133/32 destination: subnet 10.15.1.1/32 weight: 500
- ldns: subnet 192.168.69.133/32 destination: datacenter /Common/NorthAmerica weight: 400
- ldns: subnet 192.168.69.0/24 destination: pool /Common/NorthAmerica weight 300
- ldns: subnet 192.168.0.0/16 destination: state NY weight 200
- ldns: subnet 192.168.0.0/16 destination: state WA weight 100
In your case you have the following setup:
- Source: Region RA - Destination: Pool RA - Weight 100
- Source: Region RA - Destination: Pool RB - Weight 50
- Source: Any (0.0.0.0/0) - Destination: Pool RC - Weight 1
In your case with Region RA, both source statements are the same, and the destination type is also the same, it will use the weight in order to determine the destination. So in this case you should see only results from Pool RA when you originate from Region RA.
It's all detailed in the following article:
Using Topology Load Balancing to Distribute DNS Requests to Specific Resources
Have you tried to enable logging and see how the GTM load balances the traffic?
K14615: Configuring the BIG-IP DNS system to log wide IP request information
It might give you the answer as to why it is doing what it does.