DLZ and SRV records: Priority and weight not working?

Mike Toler mike.toler at prodeasystems.com
Mon Jul 16 17:01:33 UTC 2007

I've been trying to setup a POC (proof of concept) DNS server for one of
our projects and have run into a snag.
I'm new to DNS servers so here are two assumptions I'm making.
1.	The "PRIORITY" of SRV records should cause the list of records
returned from a DNS lookup to be ordered such that ALL higher priority
records are listed first, then the lower priority records are listed.
2.	The WEIGHT of the SRV record should cause the first record in a
priority group to very, depending on the ratios of the weights of the
entries of that priority. 

Both of those assumptions are based on everything I can find in the BIND
documentation and on wikipedia.

This project I'm working on requires constant, automated updates to a
database that provides DNS lookups for SRV records.  Bind 9.4 with DLZ
seems to be tailor made for what I'm trying to do, but I'm seeing
inconsistent results.   I'm beginning to think that some basic SRV
functionality (priority and weight) is not supported (or even may not be
supportable at all) using DLZs.

Here is an example of what I'm talking about.

		dig -t SRV _sip._tcp.myexample.com
		<. . . .>

		_sip._tcp.myexample.com. 86400  IN      SRV     10 20
5060 tb1-blade4.myexample.com.
		_sip._tcp.myexample.com. 86400  IN      SRV     10 60
5060 tb1-blade1.myexample.com.
		_sip._tcp.myexample.com. 86400  IN      SRV     20 0
5060 tb1-blade-2.myexample.com.
		_sip._tcp.myexample.com. 86400  IN      SRV     10 20
5060 tb1-blade3.myexample.com.

Based on the information from above, the Priority of the third entry is
20, and would be lower than the priority of the other 3 blades.   I
would NEVER expect it to be placed above any of the higher priority
blades in the list.   But if I run dig often enough, it shows up at the
top quite regularly.

Second, ignoring the priority, the WEIGHT column also does not appear to
be working.   If I remove tb1-blade2 from my setup, and run dig 100
times, I should see blade1 as the first answer about 60 times and blades
3 and 4 should be first about 20 times each.

Instead, I see about 1/3 each.   I changed my data so that the weights
were 98, 1 and 1 and saw virtually no change in the response from bind.

Since we are having to do lookups on the database each time a DNS query
comes in, is that somehow causing BIND to not proportionally order the

Michael Toler
System Test Engineer
Prodea Systems, Inc.
214-278-1834 (office)
972-816-7790 (mobile)

This message is confidential to Prodea Systems, Inc unless otherwise indicated 
or apparent from its nature. This message is directed to the intended recipient 
only, who may be readily determined by the sender of this message and its 
contents. If the reader of this message is not the intended recipient, or an 
employee or agent responsible for delivering this message to the intended 
recipient:(a)any dissemination or copying of this message is strictly 
prohibited; and(b)immediately notify the sender by return message and destroy 
any copies of this message in any form(electronic, paper or otherwise) that you 
have.The delivery of this message and its information is neither intended to be 
nor constitutes a disclosure or waiver of any trade secrets, intellectual 
property, attorney work product, or attorney-client communications. The 
authority of the individual sending this message to legally bind Prodea Systems  
is neither apparent nor implied,and must be independently verified.

More information about the bind-users mailing list