------_=_NextPart_001_01CAD72B.3BF72B9F
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi!
=
I'm porting some software from a White Russian OpenWRT system to a new Kami=
kaze 8.09.1 OpenWRT system but I am having some serious issues that I'm hop=
ing you can help me with.
=
Old system
Linux kernel 2.4.34
MIPSEL arch
Perl 5.8.7
Net::DNS 0.48
IO 1.21
IO::Socket 1.28
IO::Socket::INET 1.28
=
New system
Linux kernel 2.6.26.8
MIPS arch
Perl 5.10.0
Net::DNS 0.66
IO 1.23_01
IO::Socket 1.30_01
IO::Socket::INET 1.31
=
First, let me provide some background information...
I am trying to resolve my server (clearprobe.winbeam.com) from within my Pe=
rl program and see the following if I enable debugging in Net::DNS:
=
resolve: Server 'clearprobe-ddns.winbeam.com'
;; query(clearprobe-ddns.winbeam.com)
;; setting up an AF_INET() family type UDP socket
;; send_udp(192.168.88.1:53)
;; send_udp(4.2.2.2:53)
;; send_udp(192.168.88.1:53)
;; send_udp(4.2.2.2:53)
resolve: res->errorstring: query timed out
=
Both of these servers resolve clearprobe.winbeam.com fine from the command =
line:
=
root@cwb-2-11:~# echo "nameserver 192.168.88.1" > /etc/resolv.conf
root@cwb-2-11:~# nslookup clearprobe-ddns.winbeam.com
Server: 192.168.88.1
Address 1: 192.168.88.1 router
=
Name: clearprobe-ddns.winbeam.com
Address 1: 64.13.48.40 64-13-48-40.war.clearwire-dns.net
=
=
root@cwb-2-11:~# echo "nameserver 4.2.2.2" > /etc/resolv.conf
root@cwb-2-11:~# nslookup clearprobe-ddns.winbeam.com
Server: 4.2.2.2
Address 1: 4.2.2.2 vnsc-bak.sys.gtei.net
=
Name: clearprobe-ddns.winbeam.com
Address 1: 64.13.48.40 64-13-48-40.war.clearwire-dns.net
=
Using Perl's call to the C gethostbyaddr() function works fine, but I need =
to do another lookup later in the software which requires that I specify th=
e nameserver (clearprobe-ddns.winbeam.com is the authority for my internal =
DNS zone), hence my Net::DNS requirement.
=
Now, here is the IO module-specific information:
=
What I am seeing is that the reply is coming back from the nameserver (conf=
irmed via tcpdump - I can send the captures if you'd like), but the UDP pac=
kets are sitting in the process's UDP receive queue pending reception by Ne=
t::DNS (the approx 1752 bytes per response stay queued waiting for $sel->ca=
n_read()):
=
root@cwb-2-11:~# netstat -una
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 1752 0 0.0.0.0:52680 0.0.0.0:*
=
root@cwb-2-11:~# netstat -una
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 5256 0 0.0.0.0:52680 0.0.0.0:*
=
If I force $sock[AF_INET]->recv($buf, $self->_packetsz) around line 803 of =
/usr/lib/perl5/5.10/Net/DNS/Resolver/Base.pm, instead of waiting for IO::Se=
lect's can_read() function ( @ready =3D $sel->can_read($timeout)) to popula=
te @ready, the response is received and processed.
=
Any idea what could be causing this issue?
=
In a possibly related matter, I noticed in another script that the followin=
g code fails in the same manner (network responses stay in the process's TC=
P receive queue) with the new system:
=
$sock =3D new IO::Socket::INET(
PeerAddr =3D> "$server",
PeerPort =3D> 37,
Proto =3D> 'tcp',
Timeout =3D> 5
);
=
Whereas the following code works:
=
$sock =3D new IO::Socket::INET(
PeerAddr =3D> "$server",
PeerPort =3D> 37,
Proto =3D> 'tcp'
);
=
I have looked through the NET::DNS code and don't see a timeout passed for =
the UDP sockets, so I am not sure if that this is related or not.
=
Please let me know if I can provide you with any further information in ord=
er to help diagnose this issue.
=
Thanks!
=
Richard D Alloway =
N3WWN
clearw=B0re
Network OSS & Tools | Suite 2, 300 S Hamilton St, Greensburg, PA 15601
Office: 724.219.0408 | Fax: 724.853.0361
Email OSS Support <mailto:Email%20OSS%20Support> at networkosssupport@clea=
rwire.com
Email Bird/ClearProbe requests to oss-birdteam@clearwire.com
=
This email may contain confidential and privileged material for the sole us=
e of the intended recipient. Any review, use, distribution or disclosure by=
others is strictly prohibited. If you are not the intended recipient (or a=
uthorized to receive for the recipient), please contact the sender by reply=
email and delete all copies of this message.
------_=_NextPart_001_01CAD72B.3BF72B9F--